モデリング言語

モデリング言語（モデリングげんご、英:Modeling language）、またはソフトウェアモデル（英:Software model）は、ルールの一貫したセットで定義された構造によって情報、知識あるいはシステムを表現するため使われるあらゆる人工言語である。そのルールは、その構造における構成要素の意味を解釈するため使われる。
全貌.
モデリング言語は、図式またはテキスト形式であり得る.。
（UMLの一部の図のように、形式的でないものもある。形式的でないものは、その意味が曖昧かもしれない）
図式モデリング言語とテキスト形式モデリング言語への対応の一つの例は、である。
全てのモデリング言語は実行可能なわけではなく、そしてそれらが存在することで、それらの使用がもはやプログラマーが要求されないことを必ずしも意味しない。それどころか、実行可能モデリング言語は、熟練したプログラマーが、並列コンピューティングや分散化システムのようにより挑戦的な問題に取り組むため、彼らの生産性を増大させることを意図している。
モデリング言語のタイプ.
図式タイプ.
コンピュータ科学、プロジェクト管理、及びシステム工学の分野での図式モデリング言語の例には以下がある：
他の科学分野における図式モデリング言語の例。
特定タイプ.
コンピュータ科学の分野で最近、モデリング言語の更なるタイプが登場してきている。 
代数.
代数モデリング言語 ()は、大規模な数学的計算（例えば、大規模最適化問題）のための高度に複雑な問題を記述し解決するためのハイレベル・モデリング言語である。、、、 LPL、 MPL、 及び のような代数モデリング言語 (AML)の一つの特定な利点は、最適化問題の数学的表記とのその構文の類似性である。これは、集合、インデックス、代数式、強力な希薄インデックスと任意名を持つ変数や定数を取扱うデータのような一定の言語要素によってサポートされた、最適化のドメインにおける問題の簡潔でかつ読易い定義を可能にする。モデルの代数形式は、どのようにそれを処理するかのどんなヒントも含まない。
専門分野特定.
言語は、特定のソフトウエア開発ライフサイクル段階での付随する提供可能物に焦点を当てる。そこで、そのような言語は、しばしば各段階のため、発見、分析、設計、仕組、契約などの異なる語彙、構文、及び表記を提供する。例えば、プロジェクトの分析段階のため、モデラーは分析提案ダイアグラムを提供する特定の分析記法を採用する。設計段階では、しかしながら、論理設計記法はソフトウエア・エンティティ間の関係を描くため使われる。加えて、専門性特定モデリング言語のベストプラクティスは、単一ダイアグラム上でのさまざまな表記を結びつけることから実務者を拒まない。
ドメイン固有.
ドメイン固有モデリング (DSM)は、ほとんどがコンピュータ・システムのようなITシステムを設計し開発するためのソフトウエア工学手法である。それは、システムの様々な側面をあらわすためのグラフィカルなドメイン固有言語 (DSL) の体系的利用を含む。DSM言語は、汎用モデリング言語より高いレベルの抽象をサポートする傾向があり、そこで、それらは与件システムを特定するため、より少ない努力と数少ない低レベルの詳細を要求する。
フレームワーク特定.
フレームワーク特定モデリング言語 ()は、オブジェクト指向アプリケーション・フレームワークのため設計された一種のドメイン特定モデリングである。FSMLは、フレームワーク提供の抽象概念を定義し、そしてその抽象概念を機能特性に分割する。機能特性は実装ステップあるいは選択を表す。
FSML概念は、機能特性の選択と機能特性のための値を提供することによって構成され得る。そのような概念構成は、どのように概念がコードに実装されるべきかを表現する。別の言葉では、概念構成は、フレームワークが、如何にその概念の実装を創り出すため完全であるべきかを記述する。
オブジェクト指向.
オブジェクト・モデリング言語 ()は、オブジェクト指向ソフトウエア設計あるいはシステム設計（の一部）をモデル化する、標準化されたシンボルのセットとそれらの編成の方法に基づくモデリング言語である。
いくつかの組織はそれらを、初期仕様から実装計画に進化させ、その計画を開発者のチーム全体と利害関係者にコミュニケートするため、ソフトウエア開発手法と組み合わせて、幅広い範囲で利用する。モデリング言語は視覚的でコードより高度な抽象であることから、モデルの利用は、開発における後の異なった解釈の問題を防止するかもしれない共有ビジョンの生成を推奨する。しばしばソフトウエア・モデリング・ツールは、後にコードに自動変換する能力を持つかもしれない、これらのモデルを構築するため使われる。
仮想現実 (VR).
1995年以前は仮想現実マークアップ言語として知られていた仮想現実モデリング言語 (VRML) は、特に World Wide Web を念頭に置いて設計された、3次元 (3D) の相互作用ベクター画像を表現するための標準ファイル・フォーマットである。
アプリケーション.
各種のモデリング言語は、コンピュータ科学、情報管理、事業プロセス・モデリング、ソフトウエア工学、及びシステム工学を含む 異なる専門分野に適用される。モデリング言語は、以下を特定することができる：
モデリング言語は、利害関係者（例えば、顧客、運用者、分析者、設計者）がモデル化されたシステムをより良く理解するため、正確にシステムを規定するのに使われることを意図されている。
更に成熟したモデリング言語は、正確で、整合性があり、そして実行可能である。描画ツールを伴って適用された情報図面化技術は、システム要求、構造、及び振舞いの有用な絵的表現を作り出すことが期待され、それ以上のものではない。正しいツールのサポートを伴う実行可能なモデリング言語は、しかしながら、同じ表現からシステムの検証と承認 ()、シミュレーション、及びコード生成を自動化することが期待される。