メタモデル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/10/28 05:48 UTC 版)

メタモデル(Metamodel)とは、ソフトウェア工学およびシステム工学などにおいて、所定の問題領域でのモデリングに適用可能で有益なフレーム・規則・制限・モデル・理論を意味する。メタモデリング(Metamodeling)とは、メタモデルの分析・構築・開発を意味する。この用語はメタとモデルという用語の組み合わせである。
メタモデリングは「メタ」であるが故に、その活動とメタモデルは、メタ科学、メタ哲学、メタ理論、一般システム理論などで研究されている。そういった意味ではTOGA metatheory[リンク切れ]によればメタモデルはゴール指向のメタ知識であり、モデル化する領域(参照領域)に関連している。そのため、理論的に言えばメタモデリングの成果であるモデル階層をメタモデル階層と混同するかもしれない。
計算の観点では、この概念は数学で使われており、計算機科学/計算機工学/ソフトウェア工学で実用のために応用されている。本項目は主に後者の観点で述べている。
概要
計算機科学などでは、メタモデリングとはある領域内でのコンセプトの集合を構築することである。モデルは実世界の現象の抽象化であり、メタモデルはそれをさらに抽象化し、モデル自身の属性を際立たせたものと言える。モデルがメタモデルに従うということは、コンピュータプログラムがプログラミング言語の文法に従うのと相似している。メタモデルの一般的な利用法には以下のものがある:
- 相互にやりとりしたり保持したりする意味論的データのスキーマをメタモデルと称する。
- ある特定の手法や処理をサポートする言語をメタモデルと称する。
- 既存の情報の付加的な意味を表現する言語をメタモデルと称する。
- 広い範囲のモデルのクラスを扱うツールを生成する機構をメタモデルと称する。
- ある言語の文を自動的に調査してモデリングするスキーマをメタモデルと称し、自動テスト合成に応用される。
定義


ソフトウェア工学においては、モデルの利用がますます推奨されるようになっている。モデルの使用は従来のコードをベースとした開発技法とは対照的である。あるモデルは常に1つのメタモデルにしたがっている。モデル駆動工学の中でも特に活発なのがOMGが提案するモデル駆動型アーキテクチャ (MDA) である。MDAでは Meta-Object Facility (MOF) と呼ばれる言語でメタモデルを記述する。OMGが提案している典型的なメタモデルは、UML、SysML、SPEM、CWM である。ISOでも、ISO/IEC 24744で標準メタモデルを公開している[3]。後述する各種言語も全てMOFで書かれたメタモデルとして定義される。
メタデータモデリング
メタデータモデリングは、ソフトウェア工学やシステム工学で使われているメタモデリングの一種で、ある種の問題についてモデルを構築・分析するのに適している(データモデリングも参照)。
モデル変換
モデル駆動工学の重要な活動の1つはモデル変換言語の体系的利用である。OMGはこのための標準規格QVT(Queries/Views/Transformations)を提案した。QVTはMOFに基づいている。モデル変換言語の中でもQVTに準拠した実装としては AndroMDA、VIATRA、Tefkat、ManyDesigns Portofino などがある。MOF/QVTにおいては、モデル変換自身もモデルである。このため、変換言語をメタモデルで定義できる。明確なメタモデルに基づいたモデル変換言語としては、ATLがある。
オントロジーとの関連
メタモデルはオントロジーと密接に関連している。どちらもコンセプト間の関係を記述したり分析したりするのに使われることが多い[4]。
- オントロジーは、議論領域や特定分野について語彙を利用するための文法を使って意味のあるものを表現する。文法は、オントロジー制御下の語彙内で文や表明やクエリが何を言おうとしているかを指定する[5]。
- メタモデリングは、領域固有のモデル構築に関する説明/構成物/規則を明記したものと考えられる。特にこれはドメイン固有の表記法の形式化した仕様から構成される。典型的なメタモデルは(常に従うべき)厳密な規則群である[6]。「正当なメタモデルはオントロジーでもあるが、全てのオントロジーが明確なメタモデルとしてモデル化されているわけではない」[5]。
メタモデルの種類
ソフトウェア工学では、メタモデルの種類(および関連するメタモデリング手法)を以下のように分類できる:
- メタデータモデル
- メタプロセスモデル
- 実行可能メタモデル(上の2つを組み合わせたもの)
- モデル変換言語
脚注
- ^ David R. Soller et al. (2001) Progress Report on the National Geologic Map Database, Phase 3: An Online Database of Map Information Digital Mapping Techniques '01 -- Workshop Proceedings U.S. Geological Survey Open-File Report 01-223.
- ^ FEA (2005) FEA Records Management Profile, Version 1.0. December 15, 2005.
- ^ International Organization for Standardization / International Electrotechnical Commission, 2007. ISO/IEC 24744. Software Engineering - Metamodel for Development Methodologies.
- ^ E. Söderström, et al. (2001) "Towards a Framework for Comparing Process Modelling Languages", in: Lecture Notes In Computer Science; Vol. 2348. Proceedings of the 14th International Conference on Advanced Information Systems Engineering. Pages: 600 – 611, 2001
- ^ a b Pidcock, Woody (2003), What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
- ^ Ernst, Johannes (2002), What is metamodeling, and what is it good for?
参考文献
- J. Bezivin, On the Unification Power of Models[リンク切れ], in: Software and System Modeling (SoSym) 4(2):171—188.
- Booch, G., Rumbaugh, J., Jacobson, I. (1999), The Unified Modeling Language User Guide, Redwood City, CA: Addison Wesley Longman Publishing Co., Inc.
- J. P. van Gigch, System Design Modeling and Metamodeling, Plenum Press, New York, 1991
- Gopi Bulusu, hamara.in, 2004 Model Driven Transformation
- P. C. Smolik, Mambo Metamodeling Environment, Doctoral Thesis, Brno University of Technology. 2006
- Gonzalez-Perez, C. and B. Henderson-Sellers, 2008. Metamodelling for Software Engineering. Chichester (UK): Wiley. 210 p. ISBN 978-0-470-03036-3
- M.A. Jeusfeld, M. Jarke, and J. Mylopoulos, 2009. Metamodeling for Method Engineering. Cambridge (USA): The MIT Press. 424 p. ISBN 978-0-262-10108-0
- G. Caplat Modèles & Métamodèles, 2008 - ISBN 978-2-88074-749-7 (フランス語)
関連項目
- モデル駆動工学 (MDE)
- モデル駆動型アーキテクチャ (MDA)
- ドメイン固有言語 (DSL)
- ドメイン固有モデリング (DSM)
- ATL
- Eclipse (統合開発環境)
- VIATRA (Viatra)
- XML変換言語 (XML TL)
- 要求分析
- MOF Queries/Views/Transformations (MOF QVT)
- 変換言語
メタモデル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/05/05 15:23 UTC 版)
メタモデルとは、モデリングシステムの構成要素のモデルである。通常のモデルと同様に、モデルの主題(この場合はIDEF1X)について、その構成要素が何であり、それらが互いにどう関連するかといった、表現、推論を行うために用いられる。このようなメタモデルは、リポジトリ設計、ツール設計、有効なIDEF1Xモデル集合の特定など、様々な用途に利用されうる。作成されるモデルは目的によっていくらか異なり、「唯一の正しいモデル」というのは存在しない。たとえばモデルを少しずつ構築することを支援するツールであれば、不完全なモデルや時には矛盾したモデルを許容しなければならない。しかし形式化のためのメタモデルであれば、形式化の概念との整合が重視されるため、不完全なモデルや矛盾したモデルは許容されない。 メタモデルには重要な制限が2つある。1つ目は、メタモデルとは構文 (syntax) を規定するものであり、意味 (semantics) を規定するものではないということ。2つ目は、自然言語または形式言語によって制約を補足しなければならないということである。IDEF1Xの形式理論では、意味と、必要な制約を正確に表す手段の両方を提供している。 IDEF1Xメタモデルは右(あるいは上)の図に示されている。ドメインの階層構造と制約も与えられており、制約はメタモデルの形式理論の文によって表現される。メタモデルは、有効なIDEF1Xモデルに対応するサンプルインスタンス表といった通常の方法によって、その集合を非形式的に定義する。メタモデルはまた、次に述べる方法によって有効なIDEF1Xモデルの集合を形式的にも定義する。メタモデルはIDEF1Xモデルとして対応する形式理論を持ち、理論の意味 (semantics) は標準的な方法で定義される。つまり、理論の解釈(英語版) (interpretation) は個体のドメインおよび以下の割り当ての集合から構成される。 理論における定数には、ドメイン上の個体が割り当てられる。 理論におけるn項関数記号には、ドメイン上のn項関数が割り当てられる。 理論におけるn項述語記号には、ドメイン上のn項関係が割り当てられる。 意図された解釈 (intended interpretation) において、個体のドメインはビュー(例:製造)、エンティティ(例:部品や製造者)、ドメイン(例:在庫数)、接続リレーション、カテゴリのクラスタなどから構成される。理論のすべての公理がその解釈において真であるとき、その解釈はその理論に対するモデルと呼ばれる。IDEF1Xメタモデルとその制約に対応するIDEF1Xの理論に対するモデルは、すべて有効なIDEF1Xモデルである。
※この「メタモデル」の解説は、「IDEF1X」の解説の一部です。
「メタモデル」を含む「IDEF1X」の記事については、「IDEF1X」の概要を参照ください。
- メタモデルのページへのリンク