特定のインスタンス化として定義することによって、一般化の問題を小さくすることができると思います。基づいた特定の目的に合わせてモデル言語を定義する手法の好例です。メタモデリングの概念は一般的に、言語定義の手段として使われます。カバーしていないということです。言語メタモデリングでは、生徒と人は同じ層にありますが、存在論的な考え方では、人はメタ層にあることになります。アトキンソンとキューネは、これを存在論的メタモデリングと呼んでいます。定義を行うには、言語メタモデリングと存在論的メタモデリングの両方が必要です。両方のメタモデリングを組み合わせてメタモデリング階層を構築し、実際のモデル層のメタモデルを定義する必要があります。対応する)(リンク)を参照してください。定義することによって相互運用が可能になり、同じ方法で実行可能にすることも可能だと思います。完全実行可能ではないモデル変換が使われているソフトウェアをモデル駆動方式で開発するのはよいことですが、私たちは高度なデザインを作り上げることによってソフトウェア開発の初期からモデル駆動方式によるソフトウェア開発を行っています。基本的な変化は、モデルは単なるプログラマー用のマニュアルとして使われなくなる代わりに、ソフトウェアの開発の原動力として直接使えるようになるということです。つの価値は、高レベルのモデルから低レベルの(実装)モデルへの自動的な変換に起因したものでなければなりません。[10]に従って、モデル駆動ソフトウェア開発に対応したモデル変換言語には、以下の要件を満たしたものが推奨されます。効率的な方法で実装できる。記述で、開発担当者の生産性を向上できる。変換を組み合わせて複合的な変換を形成する手段を提供し、少なくとも、変換の順序付け、条件付選択、繰り返しのための演算子を提供できる。変換が実行可能になる条件を定義する手段を提供できる。ひとことで言うと、モデル変換が実行可能であり、簡単に定義できることが非常に重要であると言えます。テストへの厄介な対応とモデルレベルでのソフトウェアアーチファクトのデバッグです。質の高いエンジニアリングに向いています。モデルは重要なソフトウェアアーチファクトであるため、モデルの質によって、そのモデルから作成されるアーチファクトの質が決まる。ツールによって、整合性のチェック、モデルのチェックやシミュレーションなど、モデルのさまざまな特性を分析したり監視したりできる。モデルを使って、モデルをベースにしたテストの入力として使える。モデルをベースとしたテストには、テストの作成、実行、モデルを使った評価が伴う。モデルの質には特に注意を払う必要があります。ソルハイムとネプルは、これらの基準をいくつかのほかの基準に分けています。モデルには、ドメインに関する正しくて関連性のあるすべての記述が含まれる。モデルは言語定義に適合している。モデルには、特定の変換に必要な記述しか含まれていない。モデルには整然としたデザインがあるため、人間に理解可能なものにしたり、理解可能で整然とした結果に変換したりできるものに変えることができる。説明したように、品質の一部はモデルをメタモデルと照合することによって確保できます。それ以外にも、モデルや結果として生じたソフトウェアアーチファクトの品質を確保するための手法としてモデルの検証、モデルのチェック、モデルをベースにしたテスト(リンク)を利用することもできます。手法がうまく機能しない(しなくなる)最後の理由は、ツールの作成に対する対応が不十分であるということです。現在のプログラミング言語はすべて、統合開発環境(IDE)でサポートされているため、コードの記述や保守の厄介さが低減しています。手法では、私たちが必要としているメリットが実現しません。モデルを定義するための開発環境は、使われているドメイン固有言語に合わせて完全にカスタマイズするべきです。ツールの作成には以下のものを組み入れる必要があります。モデルに対する適格性の制約をチェックしたり実現したりするためのツール。タイプ・静的な意味論のチェック。モデルのインスタンス処理のサポート。モデルに対するインスタンスの妥当性の確認、モデルからのインスタンスの生成、ユーザーインターフェイスの有無、インスタンスからのモデルの(部分的な)生成など。モデル間のマッピングをサポートするツール。対象モデルからのソースモデルの生成とモデル間の変更同期の両方が適切なツーリングにサポートされている必要がある。言語の動的な拡張とそのコード生成モジュールの概念。サポートして、これらを組み合わせてシステム全体を記述する必要があります。結合されており、お互いの要素を使える必要があります。自動完了、構文カラーリング、リファクタリングオプション(名前の変更、要素の移動など)など、開発担当者が使い慣れているその他の機能も、ソフトウェア工学ツールに必要な要素です。手法の重要な側面です。ツールは、コンパイラーのような動作にエラーメッセージを付与することによって、少なくともこれをサポートする必要があります。これらのエラーメッセージによってモデル内の問題を明確にする必要がありますが、これは生成されたソースコード内に限定したものではありません。重要な属性であると結論付けています。デバッガーの最も基本的な機能は、アプリケーションと一緒に実行し、プログラムがクラッシュすると問題のある行で停止し、開発担当者が問題を簡単に特定、修正できるようにすることです。場合は、デバッガーで問題を引き起こしたモデル要素を特定する必要があります。デバッガーは、それぞれのモデル要素や活動を利用した単一ステップ、各モデルのブレークポイントの設定や条件付ブレークポイントの設定といった機能もサポートしている必要があります。ツールは、たとえば、どのようなモデルをいつ作成するべきかに関して、開発担当者に指示を与えるといった方法で、ソフトウェア開発プロセスを管理できるものである必要があります。手法に従って難しい手順を案内するウィザードや、言語の特定要素の定義を案内するウィザードも提供できるようなツールが必要です。手法に、その手法に従ってユーザーに最大限の指示を与えることができるサポートツールを組み合わせると、簡単に覚えたり、使ったりすることができます。手法のツール作成では大規模なソフトウェアプロジェクトの開発の共同作業をサポートする必要があるということです。したがって、バージョン管理や分散作業のサポートが重要です。つの理由について考えてきました。モデル駆動ソフトウェア開発に取り組むことを断念させることが私の目的ではありません。複雑さを克服できる手助けができればと考えただけです。つの記事の範囲内ですべてのポイントを詳細に掘り下げることはできませんが、基本的な部分を理解する上で、重要なポイントは十分にわかりやすく説明できたと思います。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。Inc.プライバシーBT。