
オブジェクト役割モデリング(ORM)は、議論領域の意味論をモデル化するために使用されます。ORMは、データモデリングやソフトウェアエンジニアリングでよく使用されます。
オブジェクト役割モデルは、一階述語論理と集合論に基づいた図式記号を用いて、任意の議論領域を明確に定義することを可能にします。属性を持たないORMモデルの述語は、グラフデータベースモデルの分析と設計に適しています。これは、ORMがもともとリレーショナルデータベース設計に役立つように考案されたことと密接に関連しています。
「オブジェクトロールモデル」という用語は1970年代に造語され、ORMベースのツールは30年以上にわたって 主にデータモデリングに使用されてきました。最近では、ORMはビジネスルール、XMLスキーマ、データウェアハウス、要件エンジニアリング、Webフォームのモデリングにも使用されています。[ 1 ]
ORMのルーツは、1970年代のヨーロッパにおける情報システムのセマンティックモデリングの研究に遡ることができます。多くの先駆者がいましたが、この短い要約では彼ら全員を紹介することはできません。初期の貢献としては、1973年にマイケル・センコがIBM Systems Journalに「データ構造化」について執筆したことが挙げられます。1974年にはジャン=レイモンド・アブリアルが「データセマンティクス」に関する記事を寄稿しました。1975年6月にはエックハルト・ファルケンベルクの博士論文が発表され、1976年にはファルケンベルクの論文の1つで「オブジェクト・ロールモデル」という用語が言及されています。
GM Nijssenは、オブジェクト型と役割を表す「円形ボックス」表記法を導入し、概念スキーマ設計手順の最初のバージョンを策定することで、根本的な貢献を果たした。Robert Meersmanは、サブタイピングを追加し、真に概念的なクエリ言語を初めて導入することで、このアプローチを拡張した。
オブジェクト役割モデリングも、自然言語情報分析法から発展したもので、この方法は、 1970年代半ばにオランダ(ヨーロッパ)の学術研究者GM NijssenとベルギーのControl Data Corporation研究所の彼の研究チームによって最初に開発され、その後1980年代にはオーストラリアのクイーンズランド大学で発展しました。NIAMという頭字語は、元々は「Nijssenの情報分析方法論」の略でしたが、GM Nijssenはこの方法の開発に関わった多くの人々のうちの1人に過ぎなかったため、後に「自然言語情報分析方法論」および二項関係モデリングへと一般化されました。[ 2 ]
1989年、テリー・ハルピンはORMに関する博士論文を完成させ、このアプローチを初めて完全に形式化し、いくつかの拡張を取り入れた。
また、1989年には、テリー・ハルピンとGM・ナイセンが共著で「概念スキーマとリレーショナルデータベース設計」という書籍といくつかの共同論文を発表し、オブジェクト役割モデリングの最初の形式化を実現した。
Oracle、DB2、DBQ用のデータベース作成スクリプトを生成する機能を備えたグラフィカルなNIAM設計ツールが、1990年代初頭にパリで開発されました。当初はGenesysという名前で、フランス、そして後にカナダで販売され、成功を収めました。ER図の設計も可能でした。SCO Unix、SunOS、DEC 3151、Windows 3.0プラットフォームに移植され、その後、XVTを使用してクロスOSグラフィカル移植性を実現しながら、後継のMicrosoftオペレーティングシステムに移行されました。このツールはOORIANEと改名され、現在では大規模なデータウェアハウスやSOAプロジェクトで使用されています。
NIAMから発展したもう一つの手法として、「完全コミュニケーション指向情報モデリング」 ( FCO-IM、1992年)があります。これは、厳密なコミュニケーション指向の視点を採用している点で、従来のORMとは一線を画しています。ドメインとその本質的な概念をモデル化しようとするのではなく、このドメイン(議論領域)におけるコミュニケーションをモデル化します。もう一つの重要な違いは、インスタンスレベルでこれを行い、分析中にタイプレベルとオブジェクト/ファクトレベルを導出することです。
最近のもう一つの進展は、ORMを標準化された関係型とそれに関連付けられた役割、標準的な機械可読辞書、そしてGellish英語辞書で提供されているような概念の分類体系と組み合わせて使用することです。関係型(事実型)、役割、概念の標準化により、モデルの統合と再利用の可能性が広がります。

オブジェクト役割モデルは基本的な事実に基づいており、自然言語で表現できる図で表されます。事実とは、「ジョン・スミスは1995年1月5日に採用された」や「メアリー・ジョーンズは2010年3月3日に採用された」といった命題のことです。
ORMでは、このような命題は「事実タイプ」に抽象化され、例えば「人物は日付に雇用された」といった命題がサンプルデータとして扱われます。「事実」と「基本事実」の違いは、基本事実は意味を失わずに単純化できない点にあります。この「事実ベース」のアプローチにより、あらゆるドメインからの情報のモデリング、変換、クエリが容易になります。[ 4 ]
ORMは属性を用いません。エンティティ関係(ER)モデルや統一モデリング言語(UML)モデルとは異なり、ORMはすべての基本的事実を関係として扱い、事実を構造(属性ベースのエンティティ型、クラス、関係スキーマ、XMLスキーマなど)にグループ化する決定は、意味論とは無関係な実装上の問題として扱います。属性を避けることで、ORMは意味論の安定性を向上させ、自然言語への表現を可能にします。
事実ベースのモデリングには、事実をERやUMLなどの属性ベースの構造にマッピングする手順が含まれます。[ 4 ]
事実に基づくテキスト表現は、ネイティブ言語の形式的なサブセットに基づいています。ORM の支持者は、ORM モデルは技術的な教育を受けていない人でも理解しやすいと主張しています。たとえば、支持者は、オブジェクト ロール モデルは、オブジェクト制約言語(OCL) などの宣言型言語やUMLクラス モデルなどの他のグラフィカル言語よりも理解しやすいと主張しています。 [ 4 ] 事実に基づくグラフィカル表記は、ER やUMLの表記よりも表現力に優れています。オブジェクト ロール モデルは、リレーショナル データベースや演繹型データベース ( datalogなど) に自動的にマッピングできます。[ 5 ]
ORM2は、オブジェクト役割モデリングの最新世代です。ORM2グラフィカル表記の主な目的は次のとおりです。[ 6 ]

システム開発は通常、実現可能性調査、要件分析、データと操作の概念設計、論理設計、外部設計、プロトタイピング、内部設計と実装、テストと検証、保守など、いくつかの段階を含みます。概念スキーマ設計手順の 7 つのステップは次のとおりです。[ 7 ]
ORMの概念スキーマ設計手順(CSDP)は、データの分析と設計に重点を置いています。