IDEF0

IDEF0 ("機能モデリングのための統合化定義")は、情報システム、事業プロセス、あるいはソフトウエア工学の分析、開発、リエンジニアリング及び統合のためのモデリング言語を提供する、製造機能を記述するための機能モデリング手法である 。
IDEF0は、ソフトウエア工学分野でのモデリング言語であるIDEFファミリ手法の一部であり、機能モデリング言語SADTに基づき構築されている。
全貌.
IDEF0 機能モデリング手法は、組織又はシステムの意思決定、行動、あるいはアクティビティをモデル化するよう設計された。それは、ダグラス・テイラー・ロスとSofTech社によって開発された、確立した図式モデリング言語SADTから派生した。そのオリジナル形式で、IDEF0は、図式モデリング言語（構文と意味論）の定義と、モデル開発のための包括的手法論の解説の両方を含んだ。
米空軍は『システムの機能的観点を分析しコミュニケートする機能モデリング手法を開発した。IDEF0は、単純化された図式手段を通して分析者と顧客間のシステム分析を組織化し、効率的コミュニケーションを促進することで補助すべきである。』ことをSADT開発者に委託した。
フローチャートは、製品の機能的流れを示すため使われるところで、IDEF0は、ライフサイクル・プロセスのデータフロー、システム・コントロール、及び機能的フローを示すため使われる。IDEF0は、事業、製造、あるいは事業体運営のその他のタイプの広く多様な姿をあらゆる詳細さのレベルまで、図的に表現する能力を持っている。それは、厳密で正確な記述を提供し、そして用途や解釈の整合性を促進する。それは、政府や民間産業による長年の活用を経て良くテストされ証明されている。それは、各種のコンピュータ・グラフィック・ツールで生成される。幾つかの商用製品が、IDEF0ダイアグラムとモデルの開発と分析を特別に支援する。
関連する技術である、情報モデリングのための統合定義（IDEF1X）は、データ指向システムのためのIDEF0を補足するため使われる。IDEF0標準：連邦情報処理標準公開183（FIPS 183）とIDEF1X標準（FIPS 184）は、アメリカ国立標準技術研究所（NIST）によって維持されている。
歴史.
1970年代に、米空軍のICAMプログラムは、コンピュータ・システムの体系的な応用を通して製造生産性を増大させることを求めた。ICAMプログラムは、製造生産性の向上に係わる人々のためのよりよい分析とコミュニケーション技術の必要性を認識した。結果として1981年にICAMプログラムは、以下を含むIDEF（ICAM Defnition）技術として知られる、一連の技術を開発した ：
米空軍の統合情報システム支援 (IISS)プログラムは、1983年にIDEF1情報モデリング技術を、意味論的データ・モデリング技術としてIDEF1X（拡張されたIDEF1）の形式に拡張した。1990年代までに、IDEF0とIDEF1X 技術は、事業体とアプリケーション・ドメインの広い範囲のモデリング努力を支援して、政府、産業界、及び商業セクターで幅広く使われた。1991年にNISTは、国防省の企業情報管理オフィス（DoD/CIM）から、モデリング技術の一つ以上の連邦情報処理標準（FIPS）化の支援を受けた。選ばれた技術は、機能モデリングのIDEF0と情報モデリングのIDEF1Xであった。これらのFIPSドキュメントは、1980年代初期に米空軍より発行されたIDEFマニュアルに基づいている。
IDEF0 トピックス.
IDEF0 アプローチ.
IDEF0は、幅広い多様な自動化及び非自動化システムのモデル化に使われるかもしれない。新規システムのためそれは、要求を定義し、機能を特定し、そのあとその要求に合致し機能を実行する実装を設計するため使われるかもしれない。既存のシステムのためIDEF0は、そのシステム実行の機能を分析し、それらによって行われた機構（手段）を記録することに使われる。システムにIDEF0を適用した結果は、階層化された一連のダイアグラムで構成するモデルであり、それぞれお互いへのクロス参照の用語集である。2つの主なモデリング構成要素は、（ボックスによってダイアグラム上に表される）機能とそれらの機能の相互関係である（矢印によって表される）データやオブジェクトである。
IDEF0 構築ブロック.
この左側に表示されるIDEF0モデルは、シンプルな構文に基づいている。各アクティビティは、ボックス内に置かれる動詞句ベースのラベルによって記述される。"入力（インプット）"はアクティビティ・ボックスの左側に入る矢印として示される一方、"出力（アウトプット）"はボックスの右側に存在する矢印として示される。"制約（コントロール）"はボックスの上部に入る矢印として示され、そして"機構（メカニズム）"はボックスの下部から入る矢印として表示される。"入力"、"制約"、"出力"、及び"機構"は全て"概念"として参照される。 
図式表記.
IDEF0は、階層的な一連のダイアグラム、テキスト、及び他との相互のクロス参照の用語集から構成される。2つの主な構成要素は：
図3で示されるように、ボックスに接する場所は、インタフェースの特定な役割を伝える。制約（コントロール）はボックスの上部に入る。その運用で行動するデータやオブジェクトである、入力（インプット）は左からボックスに入る。その運用の出力（アウトプット）はボックスの右側側面から出る。機能の実行の支援手段を提供する機構（メカニズム）の矢印はボックスの下部（に向かって）結合される。
IDEF0のプロセス.
IDEF0のプロセスは、分割されるべき最上位の機能の識別で始められる。この機能は、特定なIDEF0分析のスコープを定義する『最上位文脈（トップ・レベル・コンテキスト）ダイアグラム』上で識別される。情報システム管理プロセスの最上位文脈ダイアグラムの例が、図3に示される。このダイアグラムから下位ダイアグラムが生成される。派生されたダイアグラム例は、IDEF0用語で『子供』と呼ばれ、ライフサイクル機能のため、図4で示される。
連邦情報処理標準（FIPS）.
1993年12月NISTは、ソフトウエア標準の分類、モデリング技術で機能モデリングのための統合化定義（IDEF0）の標準を発表した。この公開は連邦情報処理標準（FIPS）としてIDEF0の採択を発表した。この標準は、1981年からの米空軍のWright Aeronautical LaboratoriesのICAM基づいた。