参照モデル

**参照モデル**（さんしょう-、Reference model）とは、システム工学とソフトウエア工学における何かの基本的目標やアイデアを包含し、様々な目的で一つの参照として見ることができる、何かのモデルである。

## 全貌
'参照モデル'に包含される幾つかの概念が存在する。これら概念のそれぞれは重要である：
; 抽象的 : 参照モデルは抽象的である。参照モデルで記述される『もの』は実際のものの抽象的な表現である。ある家の仕組みを記述するとき、実際の外壁は寸法と材質で規定されるが、参照モデルとしての外壁は壁の概念の一部である。人は、壁を持つ家を建てるため、壁の概念を理解しなければならない。
; エンティティと関係性 : 参照モデルは、エンティティ（存在するもの）と関係性（どのようにそれらがお互いに作用するか）の両方を含む。エンティティのリストは、それだけでは、参照モデルを記述するには不十分である。
; 一つの環境の中で : 一つの参照モデルは、『全てのもの』を記述しようとはしない。一つの参照モデルは、『一つの環境でのもの』あるいは問題空間を明確にするため使われる。参照モデルが有用であるためには、それが解決する問題と、その問題が解決されるのを見る必要のある利害関係者が持つ関心についての、明確な記述を含むべきである。
; 技術的不可知論 (Technology Agnostic) : もしそれが特定のコンピューティング環境における技術やプラットフォームについて仮定するなら、参照モデルは有用ではない。参照モデルは、直面した問題を理解するためのメカニズムであり、それに係わるソリューションではなく、そして実際に、その実践者に価値を提供するため選ばれたソリューションと独立でなければならない。
: 注釈：問題空間として『ソフトウエア・アプリケーションのセットを如何に管理するか』があり得ることから、これはソフトウエア・アプリケーションのセットを記述する参照モデルの開発を防げるものではない。

## 参照モデルの利用
参照モデルには多くの利用がある。

一つの利用は、そのモデルに巣食うオブジェクトと他のそれとの関係の両方のため標準を創作する。標準の創作により、標準に沿って振舞うオブジェクトを創作する必要があるエンジニアや開発者の作業を容易にする。ソフトウエアは標準に合致して書かれることができ、開発者は、それを利用するソフトウエアを複写またはそのコードを生成するソフトウエア工場 (software factory) 建造できる。コードがうまくできた時、標準は、安価な方法でそのソフトウエアを拡張する能力のような、ソフトウエアの主要な品質をサポートする設計パターン (design patterns)の利用を可能にする。 

参照モデルのもう一つの利用は、教育することである。参照モデルを使ってソフトウエア開発のリーダーは、大きな問題空間名を、理解され、取組まれ、そして洗練され得る、より小さな問題に分解するのを助けることができる。問題の特定なセットに新しい開発者は、何が異なる問題かを素早く学習でき、そして他の領域が良く理解され厳密に構築出来ると信じている一方で、それらが解決することを問われている問題に焦点を当てることができる。信頼のレベルは、ソフトウエア開発者に彼らの仕事への効率的な焦点を可能にすることが重要である。

参照モデルの3番目の利用は、人々の間のコミュニケーションを改善することである。参照モデルは問題をエンティティまたは『それら自身で全て存在できるもの』に分解する。これはしばしば、多くの人々が既に共有する概念の明白な認識であるが、明示的手段で創作された時、参照モデルは、どのようにこれ等の概念が他のそれから異なりそして関係するかを定義することによって有用である。これが、これらの概念を利用する、個人間のコミュニケーションを改善する。

参照モデルの4番目の利用は、明白な役割と責任を創ることである。エンティティとそれらの関係のモデルを創ることにより、組織は、特定のエンティティのセットに係わる問題を解決するそれらの責任を、特定の個人またはチームに専念させることができる。例えば、もし参照モデルがバランスト・スコアカード (balanced scorecard)を創るため必要な事業測定のセットを記述するなら、そこでそれぞれの測定は特定の事業リーダーに割当得る。より高い品質結果を作り出す責任があるそれらのチーム・メンバーのそれぞれが保持することを上級マネージャに可能にする。 

参照モデルの5番目の利用は、『もの』の違いの比較を可能にする。問題空間を基本的概念に分解することにより、参照モデルは、その問題の2つの異なるソリューションを試すため利用され得る。そうするため、ソリューションの構成要素部品はお互いの関係で議論され得る。例えば、もし参照モデルが、事業とそれらの関係の間の接触追跡を助けるコンピュータ・システムを記述するなら、そこで参照モデルは、それらニーズに基づき、5つのソフトウエア製品のどれかを決めるため事業によって使われ得る。この例における参照モデルは、どのように候補ソリューションのそれぞれが、特定の事業プロセスのニーズに合致した構成出来るのが良いかを比較するため使われ得る。

## 事例
参照モデルの例は、以下を含む： 
* エージェント・システム参照モデル (Agent Systems Reference Model)
* 国防省仕組フレームワーク (DoDAF) のコア仕組データ･モデル (Core Architecture Data Model) 参照モデル
* 連邦事業体仕組 (FEA) の連邦事業体仕組フレームワーク) (Federal Enterprise Architecture Framework) 参照モデル 
* 幾つかの連邦事業体仕組からのNIST事業体仕組モデル (NIST Enterprise Architecture Model) 参照モデル
* オープン地理空間コンソーシアム (Open Geospatial Consortium) 参照モデル, 
* オープン・システム相互接続の基本参照モデル (OSI model) 
* リアルタイム・コントロール問題ドメインのリアルタイム・コントロール・システム (Real-time Control System) 
* オープン分散処理の参照モデル (RM-ODP|Reference Model of Open Distributed Processing) 
* DoDAFの初期 TAFIM (TAFIM) 1990年参照モデル は、DoDAFの初期バージョンである。 
* シーケンシャルなコンピューティングの参照モデルであるフォン・ノイマン型アーキテクチャー (Von Neumann architecture) 
* HP 情報セキュリティ参照モデル（ISSM）

## 関連項目

* Business reference model
* Open System Environment Reference Model
* Reference architecture

## 参考文献
Stanoevska-Slabeva, K.; Schmid, B.: Requirements Analysis for Community Supporting Platforms based on the Media Reference Model. In: Electronic Markets, 10, 4, 2000, pp. 250-257.