情報モデル

ソフトウエア工学における情報モデルは、対象領域のデータ意味論(data semantics)を記述する、概念、関係性、制約、ルール、及び算法の表現である。それは、その領域の文脈における情報要求の共有、安定性、及び組織化された構造を提供する。

 概要 

一般的に「情報モデル」という用語は、設備、ビルディング、プロセス・プラント、等の個々の『もの』のモデルのため使われる。それらの場合、その概念は、設備情報モデル(Facility Information Model)、ビルディング情報モデル、プラント情報モデル、等に専門化される。そのような情報モデルは、その施設についてデータやドキュメントとその施設のモデルとの統合である。 

ソフトウエア工学やデータ・モデリングのフィールド内で、情報モデルは、それらの特性、関係性、及びそれらの上で実施され得る操作を含むエンティティ・タイプの抽象化された形式表現である。そのモデル内のエンティティ・タイプは、ネットワークにおけるデバイスのような実世界のオブジェクトの種類かもしれないし、あるいはそれらが、請求システムで使われるエンティティのような、抽象化されるべきそれら自身かもしれない。典型的に、それらは、エンティティ・タイプ、特性、関係性、及び操作の閉じられたセットによって記述され得る制約されたドメインをモデル化するのに使われる。

情報モデルは、ソフトウェアにおける実際の実装にどのようにマップされるかを制約することのない、問題領域の記述への形式主義を提供する。その情報モデルへのマッピングは多数存在するかもしれない。そのようなマッピングは、それらがUML、オブジェクト・モデル(object model)、エンティティ・リレーション・モデル、あるいはXMLスキーマ等のいずれを使っているかに関係なく、データモデルと呼ばれる。

 歴史 

1976年、実体関連モデル(ER)図式表記が、ピーター・チェンによって紹介された。彼は、それが『意味論的』モデリング技術であり、階層的、CODASYL、リレーショナルなどのようなあらゆるデータベースモデリングと独立であることに力点を置いた。 それから、情報モデルのための言語は進化を続けた。幾つかの例は、統合化定義1（IDEF1）の拡張されたIDEF1X、EXPRESS (en)言語や、統一モデリング言語 (UML)である。 1980年代に、チェンの実体関連モデルを拡張しようとする幾つかのアプローチが存在した。またこの10年間で重要なことは、Colette Rolland によるREMORAである。

統合化されたコンピュータ支援製造 (ICAM)定義（IDEF）言語は、1976年から1982年の間の米空軍のICAMプログラムから開発された。 ICAMプログラムの目的は、Lee（1999）によれば、コンピュータ技術の体系的なアプリケーションを通して製造生産性を向上させることであった。IDEFは、3つのモデリング手法（IDEF0：機能モデル、IDEF1：情報モデル、及びIDEF2：動的モデル）を含む。IDEF1Xは、IDEF1の拡張版である。言語はパブリック・ドメインにある。それは、図式表現であり、ERアプローチとリレーショナル理論を使って設計される。それは、エンティティ、属性、及びエンティティ間の関係の用語で、『実世界』を表現するのに使われる。正規化は、キー構造とキー移植によって強制される。言語は、エンティティ定義を完成した形式にする特性グルーピング（集合体）を識別する。 

EXPRESS (en)は、プロダクト・データ・モデルの情報要求を形式的に規定するISO 10303-11として創り出された。それは、STEP（STandard for the Exchange of Product model data）として知られる非公式な一連の標準の一部である。それは1990年代初期最初に紹介された。 Leeによれば、その言語は、文章形式の表現である。加えてEXPRESS-Gと呼ばれるEXPRESSの図式サブセットが利用可能である。EXPRESSは、プログラミング言語とオブジェクト指向（O-O）パラダイムに基づいている。複数の言語がEXPRESSに貢献した。特に、Ada、Algol、C、C++、Eiker、Modula-2、Pascal、PL/1、及びSQLである。EXPRESSは、明白なオブジェクトの定義と、定義されるオブジェクトへの制約の規定を可能にする言語要素から成っている。それは、区分化を提供するSCHEMA宣言を使い、そしてそれは、データ特性、制約、及びオペレータの規定を支援する。 

統一モデリング言語(UML)は、プロセスというより、ソフトウエア・システムの、仕様化、可視化、構築、及び創作物の文書化のためのモデリング言語である。それは、グラディ・ブーチ、ジェームズ・ランボー、及びイヴァー・ヤコブソンによって最初に考え出された。UMLは、1997年に Object Management Group によって標準として認められた。その言語は、Lee によれば、所有権を持たない、公に利用可能となっている。それは一つの図式表現である。その言語は、オブジェクト指向パラダイムの基づいている。UMLは、表記法とルールを含み、そしてO-O（オブジェクト指向）ダイアグラムのためのデータ要求を表現することを意図している。UMLは、システムを異なる局面から表現する多数のビューでモデルを組織化する。ビューの内容は、モデル要素を持つ図であるダイアグラムで記述される。ダイアグラムは、クラス、メッセージ、及びそれらの概念間の関係のような、共通のO-O概念を表現するモデル要素を含む。 UMLは別名『統一マークアップ言語（Unified Markup Languege）』とも呼ばれている。

IDEF1X、EXPRESS、及びUMLの全ては、 概念的モデルを創り出すのに使われ、Lee によれば、それぞれが固有の特徴を持っている。あるものは、当然の用途（例えば、実装）に導くかもしれないが、優劣が決められるものではない。実際に、アプリケーションが複雑な時、全ての情報モデルを開発するのに一つ以上の言語を必要とするかもしれない。事実、モデリングの実践はしばしばその言語を選ぶより重要である。

情報モデリングはGellishでも表され得る。Gellish 英語、Gellish オランダ語等の種々の自然言語的派生を持つGellishは、分類体系/概念体系形式を持つ、Gellish smart Dictionaryで定義される。Gellishデータベースは、情報モデルの格納に適するだけではなく、知識モデル、要求モデルと辞書、概念体系（タキソノミ）と概念体系（オントロジ）をも格納できる。Gellishでの情報モデルは、Gellish表現を使う。例えば、図式情報モデルは、次のような複数のGellish英語表現から成るかもしれない：
 - the Eiffel tower <is located in> Paris 
 - Paris <is classified as a> city
Gellishのような表現は、Gellish辞書／分類体系（あるいはあなた自身のドメインの辞書）から選ばれるべき（'city'のような）概念の名前と（<is located in>や<is classified as a>のような）関係タイプを使う。Gellish辞書は、辞書が、600以上の関係タイプを含む、40000概念以上の定義と含むことから、意味論リッチな情報モデルの創作を可能にする。そこで Gellishにおける情報モデルは、事実を表現するこれらのフレーズと辞書概念を使う、Gellish表現の集合から構成される。

 情報モデルの標準セット 
Distributed Management Task Force(DMTF)は、Common Information Model (CIM)の一般タイトルの下で、様々な事業体（エンタープライズ）領域のための情報モデルの標準セットを準備する。特定の情報モデルは、特定化された管理領域のCIMから派生される。 　　 

電信管理フォーラム (:en:TM_Forum TM Forum)は、その他として電信領域（共有情報／データ・モデル(Shared Information/Data model、または SID）のための先進的モデルを定義している。これは、電信工業界内の事業、サービス及び資源領域からのビューを含む。TMFは、標準化アプローチが提供するモデルのセットに沿って、運用支援システム
(OSS)統合が採用する原則のセットを確立した。
 
そのモデルは、プロセス・モデル（拡張テレコム運用マップ (eTOM)）経由で、情報モデル（共有情報／データ・モデル(Information/Data model、または SID))及びライフサイクル・モデルと相互作用する。