IDEF1X (Integration Definition for Information Modeling) とは
IDEF1Xは、セマンティックデータモデルを開発するための
モデリング言語であり、環境や
システムにおける
情報の構造と意味を表現する図式
情報モデルを作成するために利用されます。このモデリング手法を用いることで、データ管理、
情報システムの統合、
データベース構築が円滑に進められるようになります。
IDEF1Xは
ソフトウェア工学分野における
モデリング言語IDEFファミリーの一員です。以前は
アメリカ国立標準技術研究所(NIST)のFIPS 184として標準化されていましたが、2008年に廃止されました。
データモデリングは、データを資源として捉え、標準的かつ一貫した手法でモデル化するプロセスです。組織内のデータ資源を定義・分析するための標準的な手段を必要とするプロジェクトで活用され、データ管理、
情報システムの統合、
データベース設計などにおいて重要な役割を果たします。
IDEF1Xの主な目的は以下の通りです。
組織におけるデータ資源の理解と分析
データの複雑さを表現し伝達する共通の手段の提供
事業運営に必要なデータ全体の視覚化
アプリケーションに依存しない検証可能なデータビューの定義
既存データ資源に基づく統合化されたデータ定義の導出
IDEF1Xの核心は、システムインテグレーションを支援するための「概念スキーマ」です。概念スキーマは、特定のアプリケーションに偏らず、データの物理的な保存やアクセス方法から独立した、組織全体で共有可能なデータ定義です。これにより、データの一貫性、共有、管理が実現し、データの意味と相互関係を明確にします。
概念スキーマには以下の3つの特性が求められます。
1. 事業基盤に整合し、全ての応用領域で真であること
2. 拡張可能であり、既存のデータ定義を変更せずに新しいデータを定義できること
3. ユーザービューやデータストレージ構造に変換可能であること
セマンティックデータモデルの必要性は、1970年代半ばに米空軍のICAM(統合コンピュータ支援製造)プログラムで認識されました。ICAMプログラムは、コンピュータ技術を体系的に適用して製造業の生産性を向上させることを目的としており、その過程で分析とコミュニケーション技術の向上が不可欠であることが分かりました。この結果、IDEF(ICAM Definition)と呼ばれる一連の手法が開発されました。
IDEF0: 環境や
システムにおける活動やプロセスを構造化して表現する
機能モデル
IDEF1: 環境やシステムにおける情報の構造と意味を表現する情報モデル
IDEF2: 動的モデルの作成に使用
IDEF1の
情報モデリングは、1981年にICAMプログラムで初めて発表されました。その背景には、
関係モデルの
エドガー・F・コッドと、
実体関連モデルのピーター・チェンの研究があります。初期の
IDEF1は、
ヒューズ・エアクラフトのR・R・ブラウンとT・L・レイミー、D. Appleton Company(DACOM)のD・S・コールマンらの成果に基づいています。
1983年、米空軍はICAMプログラムの下で統合
情報支援
システム(IISS)プロジェクトを開始しました。このプロジェクトでは、異種のハードウェアとソフトウェアのネットワークを統合する技術開発が目指されました。この経験から、
情報モデリングの高度化の必要性が認識され、
IDEF1Xの開発につながります。
IDEF1Xは、空軍の
IDEFプログラムの観点から見ると、ICAM IISS-6201プロジェクトとICAM IISS-6202プロジェクトの成果です。特にIISS-6202プロジェクトでは、
データモデリングの拡張要求に応えるため、DACOMが論理
データベース設計技術(LDDT)とそのサポートソフトウェア(ADAM)のライセンスを取得しました。
IDEF1Xは、技術的にはLDDTを改名したものです。LDDTは、
データベース設計グループのロバート・G・ブラウンが開発したもので、
IDEF1とは直接の関係はありませんでしたが、その目標は共通しており、事業体に必要な
情報をモデル化することでした。LDDTは、
実体関連モデルに関係データモデルの汎化という要素を組み合わせ、データモデルの設計を支援しました。
LDDTには、階層化された環境、多層モデル、汎化・特化のモデリング、主キーと外部キーの関係の明確な表現が含まれます。LDDTモデルの精度と完全性は、モデルを
データベース設計に変換する上で重要な要素となります。初期のLDDTモデルは、IBMの階層型
データベースIMSの設計に変換されていましたが、後にCullinetのネットワーク型
データベースIDMSや、様々な関係
データベースの設計にも変換されるようになりました。DACOMは、LDDTの構文と意味を
IDEF1と互換性のある用語で要約し、
IDEF1Xと名付けてICAMプログラムに提供しました。
IDEF1Xには、以下のような構成要素があります。
エンティティ (Entity): 実在または抽象的な「もの」の分類。例:人物、オブジェクト、場所、イベントなど。
ドメイン (Domain): 属性が持つことができる値の集合。すべての属性は1つのドメインに定義されます。
属性 (Attribute): エンティティのインスタンスに共通するプロパティ。属性は、エンティティの文脈におけるドメインの利用を表します。
キー (Key): エンティティのインスタンスを一意に識別する属性の組。候補キーを構成します。
主キー (Primary Key): エンティティのインスタンスを識別するために選択された候補キー。
外部キー (Foreign Key): 関連する親エンティティの主キーと一致する属性の組。
リレーション (Relationship): 同じまたは異なる2つのエンティティのインスタンス間の関連。
接続リレーション (Connection Relationship): 単に関連しているリレーション。
分類リレーション (Categorization Relationship): 同じ「もの」を表現する2つのエンティティ間のリレーション。汎化エンティティと分類エンティティ。
不特定リレーション (Non-Specific Relationship): どちらのエンティティのインスタンスも他方に対して複数の関連を持つリレーション。
IDEF1Xでは、抽象度の異なる3つのビューが定義されています。
エンティティリレーション (ER): 最も抽象度が高く、エンティティとリレーションのみをモデル化します。
キーベース (KB): ERレベルにキーを追加したモデル。
完全属性 (FA): すべての属性を追加したモデル。
三層スキーマ
ソフトウェア工学における三層スキーマは、データ統合を促進する概念モデルを構築する手法です。三層スキーマは以下の通りです。
外部スキーマ: ユーザービューで使用されるスキーマ。
概念スキーマ: 複数の外部スキーマを統合するスキーマ。
内部スキーマ: 物理ストレージ構造を定義するスキーマ。
概念スキーマは、ユーザーが考える
概念のオントロジーを定義し、内部スキーマは
データベースに保存されたデータの内部形式を表し、外部スキーマはアプリケーションに提示されるデータのビューを定義します。
モデリングの指針
モデリングプロセスは以下の5つのフェーズに分けられます。
フェーズ0 - プロジェクトの開始: プロジェクト定義、原資料の入手、作成者の慣例を定義します。
フェーズ1 - エンティティの定義: モデル化対象のエンティティを特定します。
フェーズ2 - リレーションの定義: エンティティ間の基本的なリレーションを定義します。不特定リレーションを含む可能性があります。
フェーズ3 - キーの定義: 不特定リレーションの修正、キー属性の定義、主キーの移行、リレーションとキーの検証を行います。
フェーズ4 - 属性の定義: 属性集合の開発、属性の所有者の確立、非キー属性の定義、データ構造の検証を行います。
メタモデルとは、モデリングシステムの構成要素のモデルです。IDEF1Xのメタモデルは、IDEF1Xの構成要素とその関係を表し、リポジトリ設計、ツール設計、有効なIDEF1Xモデルの特定に利用されます。メタモデルは構文を規定するものであり、意味を規定するものではありません。IDEF1Xの形式理論では、意味と必要な制約を表す手段が提供されています。
IDEF1Xのメタモデルは、ドメインの階層構造と制約を含み、形式理論の文によって表現されます。メタモデルの形式理論に対するモデルは、有効なIDEF1Xモデルと見なされます。
関連項目
概念モデル
ER/Studio
IDEF0
IDEF5
ISO 10303