モデリング言語は、一貫した一連のルールによって定義された 構造でデータ、情報、知識、またはシステムを表現するための表記法です。
モデリング言語は、グラフィカルなものとテキスト形式のものがあります。[ 1 ]グラフィカルモデリング言語は、概念を表す名前付きシンボルと、シンボルを結び関係を表す線、そして制約を表す様々なグラフィカル表記法を用いたダイアグラム技法を用います。テキストモデリング言語は、標準化されたキーワードとパラメータ、あるいは自然言語の用語や句を用いて、コンピュータが解釈可能な表現を作成します。グラフィカルモデリング言語とそれに対応するテキストモデリング言語の例として、EXPRESSが挙げられます。
すべてのモデリング言語が実行可能というわけではありません。また、実行可能であっても、必ずしもプログラマーが不要になるわけではありません。むしろ、実行可能なモデリング言語は、熟練したプログラマーの生産性を高め、並列コンピューティングや分散システムといったより困難な問題に対処できるようにすることを目的としています。
文献には多数のモデリング言語が登場します。
コンピュータサイエンス、プロジェクト管理、システムエンジニアリングの分野におけるグラフィカルモデリング言語の例:
他の科学分野におけるグラフィカル モデリング言語の例。
情報モデルは、Gellish などの形式化された自然言語で表現することもできます。[ 4 ] Gellish には、 Gellish Formal Englishや Gellish Formal Dutch ( Gellish Formeel Nederlands )などの自然言語の変種があります。Gellish Formal English は、Gellish English Dictionary-Taxonomy で定義されている情報表現言語またはセマンティックモデリング言語であり、タクソノミーオントロジー (オランダ語の場合も同様) の形式をとっています。Gellish Formal English は、知識、要件、辞書、タクソノミー、オントロジーを表現するのに適しているだけでなく、個々の事物に関する情報を表現するのにも適しています。その情報はすべて 1 つの言語で表現されるため、中央データベース、分散データベース、連合データベースのいずれに格納されているかに関係なく、すべて統合できます。Gellish Formal English の情報モデルは、自然言語用語と形式化されたフレーズを使用する Gellish Formal English 表現のコレクションで構成されています。たとえば、地理情報モデルは、次のようないくつかの Gellish Formal English 表現で構成されることがあります。
- エッフェル塔はパリにあります - パリは都市として分類されます
一方、情報要件と知識は、たとえば次のように表現できます。
- タワーは地理的領域内に設置される - 都市は地理的領域の一種である
このようなGellish Formal English表現では、概念名(「city」など)や関係の種類を表すフレーズ(「is located in」や「is classified as a」など)が使用され、これらはGellish English Dictionary-Taxonomy(または独自のドメイン辞書)から選択する必要があります。Gellish English Dictionary-Taxonomyは、600を超える標準的な関係の種類と40,000を超える概念の定義を収録しているため、意味的に豊かな情報モデルの作成を可能にします。Gellishの情報モデルは、事実を表現したり、ステートメント、クエリ、回答を作成したりできます。
最近、コンピュータサイエンスの分野では、より特殊なタイプのモデリング言語が登場しています。
代数モデリング言語(AML) は、大規模な数学的計算 (つまり、大規模な最適化型の問題) に関する非常に複雑な問題を記述して解決するための高水準プログラミング言語です。AIMMS、AMPL、GAMS、Gekko、Mosel、OPL、MiniZinc、OptimJなどの AML の特別な利点の 1 つは、その構文が最適化問題の数学的表記法に類似していることです。これにより、セット、インデックス、代数式、強力なスパース インデックスとデータ処理変数、任意の名前を持つ制約などの特定の言語要素によってサポートされる、最適化ドメインの問題を非常に簡潔かつ読みやすく定義できます。モデルの代数的定式化には、それを処理するためのヒントは含まれていません。
振る舞い言語は、並行して実行されるコンポーネントで構成される複雑なシステムの観測可能な振る舞いを記述するために設計されています。これらの言語は、並行性、非決定性、同期、通信といった重要な概念の記述に重点を置いています。振る舞い言語の意味論的基盤は、プロセス計算またはプロセス代数です。
分野固有のモデリング(DspM)言語は、特定のソフトウェア開発ライフサイクル段階に関連する成果物に焦点を当てています。そのため、この言語は、発見、分析、設計、アーキテクチャ、縮約などの各段階ごとに、独自の語彙、構文、表記法を提供します。例えば、プロジェクトの分析段階では、モデラーは特定の分析表記法を用いて分析提案図を作成します。一方、設計段階では、論理設計表記法を用いてソフトウェアエンティティ間の関係性を記述します。さらに、分野固有のモデリング言語のベストプラクティスは、実務者が単一の図の中で様々な表記法を組み合わせることを妨げるものではありません。
ドメイン固有モデリング(DSM)は、システム(主にコンピュータソフトウェアなどのITシステム)の設計・開発におけるソフトウェアエンジニアリング手法です。グラフィカルなドメイン固有言語(DSL)を体系的に用いて、システムの様々な側面を表現します。DSM言語は、汎用モデリング言語よりも高レベルの抽象化をサポートする傾向があるため、特定のシステムを定義するために必要な労力と低レベルの詳細が少なくなります。
フレームワーク固有モデリング言語(FSML)は、オブジェクト指向アプリケーションフレームワーク向けに設計されたドメイン固有モデリング言語の一種です。FSMLは、フレームワークが提供する抽象化をFSML概念として定義し、それを機能へと分解します。機能は実装手順または選択肢を表します。
FSMLコンセプトは、フィーチャを選択し、そのフィーチャの値を設定することで構成できます。このようなコンセプト構成は、コンセプトをコードにどのように実装すべきかを表します。言い換えれば、コンセプト構成は、コンセプトの実装を作成するためにフレームワークをどのように完成させるべきかを記述するものです。
リンクトデータとオントロジーエンジニアリングでは、エンティティとそれらの関係、エンティティのプロパティと関係の間の制約、メタデータ属性を表現するための「ホスト言語」が必要です。JSON -LDとRDFは、この文脈において2つの主要な(そして意味的にほぼ同等の)言語です。これは主に、モデルを推論するために必要な高階論理をサポートするために不可欠な特性であるステートメントの具体化とコンテキスト化をサポートしているためです。モデル変換は、このような推論の一般的な例です。
オブジェクト指向モデリング言語(OOM)は、システムをオブジェクト指向的にモデリングするための表記法です。組織はOOMを使用して、システムのアーキテクチャと設計を開発者と利害関係者の両方に文書化し、説明することができます。モデリング言語は視覚的であり、コードよりも抽象度が高いため、モデルを使用することで共通のビジョンが形成され、開発後期における解釈の相違による問題を防ぐことができます。これらのモデルの構築には、多くの場合ソフトウェアモデリングツールが使用され、その後、コードへの自動変換が可能になります。
仮想現実モデリング言語(VRML) は、1995 年以前は仮想現実マークアップ言語として知られており、特にワールド ワイド ウェブを念頭に設計された、3 次元 (3D) インタラクティブ ベクター グラフィックスを表現するための標準ファイル形式です。
様々なモデリング言語が、コンピュータサイエンス、情報管理、ビジネスプロセスモデリング、ソフトウェアエンジニアリング、システムエンジニアリングなど、様々な分野で応用されています。モデリング言語は、以下のことを指定するのに使用できます。
モデリング言語は、利害関係者 (顧客、オペレーター、アナリスト、設計者など) がモデル化対象のシステムをよりよく理解できるように、システムを正確に指定するために使用されることを目的としています。
より成熟したモデリング言語は、正確で一貫性があり、実行可能です。描画ツールを用いた非公式なダイアグラム作成技術は、システム要件、構造、動作を視覚的に表現することが期待されます。これはコミュニケーション、設計、問題解決に役立ちますが、プログラム的に使用することはできません。 [ 5 ]:539 しかし、適切なツールサポートを備えた実行可能なモデリング言語は、同じ表現から システムの検証と妥当性確認、シミュレーション、コード生成を自動化することが期待されます。
モデリング言語のレビューは、様々なモデリング設定に適した言語を判断するために不可欠です。ここで言う「設定」には、利害関係者、ドメイン、そして関連する知識が含まれます。言語の品質を評価することは、より良いモデルを実現するための手段となります。
ここでの言語品質は、Krogstie、Sindre、Lindland (2003) によって開発されたモデル品質のためのSEQUAL フレームワークに従って記述されます。これは、言語品質を一般的なモデル品質のフレームワークに結び付けるフレームワークです。このフレームワークでは、言語品質を記述するために5つの領域が用いられており、これらは言語の概念的表記と視覚的表記の両方を表現するものとされています。ここでは、モデルの基礎となる品質フレームワークの詳細な説明は避け、言語品質フレームワークの説明に使用される領域に焦点を当てます。
フレームワークでは、ドメインを表現できる能力をドメイン適切性と表現します。「適切性」という表現は少し曖昧ですが、この特定の文脈では「表現できる」という意味です。理想的には、ドメインに含まれるものだけを表現できる必要がありますが、ドメインに含まれるすべてのものを含められるほど強力である必要があります。この要件は少し厳しすぎるように思えるかもしれませんが、目的は、ドメインに関連するすべてのものを含み、ドメインに適さないものをすべて除外した、視覚的に表現されたモデルを得ることです。これを実現するには、言語がどの表記法と構文が提示に有利であるかを明確に区別する必要があります。
参加者の適切性を評価するために、ステークホルダーが保有する知識を言語がどの程度適切に表現しているかを特定しようと試みます。ステークホルダーの知識は主観的であるため、これは困難を伴います。ステークホルダーの知識には暗黙知と明示知の両方があり、どちらの知識も動的な性質を持っています。この枠組みでは、明示知のみを考慮します。言語は、ドメインに関連するステークホルダーの明示知を可能な限りすべて表現する必要があります。
最後の段落では、ステークホルダーの知識は適切に提示されるべきであると述べられています。さらに、ステークホルダーのあらゆる明示的な知識を言語で表現できることが不可欠です。言語の欠陥によって、いかなる知識も表現されないままにされるべきではありません。
理解可能性の適切性は、言語の一貫した使用を通じて、社会的な主体がモデルを理解することを確実にします。これを実現するために、フレームワークには一連の基準が含まれています。これらの基準が示す一般的な重要性は、言語が柔軟で、構成しやすく、言語の様々な部分を内部的にも他の言語からも容易に区別できることです。さらに、目標は可能な限り単純であり、言語内の各記号が独自の表現を持つようにする必要があります。
これは開発要件の構造にも関連しています。
実際にモデル化されたドメインが分析や更なる処理に利用可能であることを保証するためには、言語は自動的な推論が可能であることを保証する必要があります。そのためには、言語は形式的な構文と意味論を包含する必要があります。形式化によるもう一つの利点は、エラーを早期に発見できることです。技術的なアクターに最適な言語が、社会的なアクターに最適な言語と必ずしも同じであるとは限りません。
使用される言語は組織のコンテキストに適切です。たとえば、言語が組織内で標準化されていることや、組織内で標準として選択されたツールによってサポートされていることなどです。
{{citation}}: CS1 maint: ISBNによる作業パラメータ(リンク)