ついて既存フレームワークを活用する専用のモデル開発環境(DSM)の構築ドメインスペシフィックな言語は、コードライブラリやフレームワークの延長線上にあり、それらの共通コードを効率良く、容易に、堅実に使用することができる手法です。この資料では、ライブラリやフレームワークに対して専用のモデル開発環境を構築する方法について紹介します。より、開発における妥協を回避できる。独自のDSLを構築することで、どの様にして、品質と生産性を大幅に向上できるかをご紹介します。DSMのジェネレータ定義について全てのコードを一字一句記述することが賢明でないことは周知のこと。いくつかの機能を実装することで、それらコードの類似性を見出して、繰り返されるパターンに気付くことができる。毎回決まりきったコードを実装したくは無いので、繰り返される個所を自動生成するといった、コード生成の自動化の考えに至ることは必然。実現できるかについて紹介する。Kelly氏による、ドメイン・スペシフィック・モデリングの長年の経験がまとめられています(ツールの詳細ではなく)。最初の40ページは、DSMの概要と優位性、次の50ページで、DSMのアーキテクチャと各要素、次の100ページでは5つの実践的なサンプルを用いて、モデリング言語、ドメインフレームワーク、コードジェネレーションの紹介、そして残りの200ページで、独自のモデル環境を如何にして構築できるかを、事例を交えた実践的な方法を紹介しています。製品版や評価版で、動作させることもできるようになっています。+ならDSM言語の進化を自動的に反映できる言語を変更しても、モデルエディターがフリーズするようなことは無く、既存モデルやジェネレータなど、すべての成果物が新しい言語バージョンに自動的に更新されます。これは、シングルユーザー版で単独で作業する場合も、コラボレーションモデリングにマルチユーザー版を使用する場合でも同じです。以下の記事で、事例を用いて詳しく紹介しています。Casesドメイン固有のモデリングの産業界の23事例から、どのような種類の再利用およびプロダクトラインアプローチが適用されているかを検証する。Languagesドメイン固有のモデリング言語とジェネレータは、システムとソフトウェア開発の生産性と品質を大幅に向上させることが証明されています。これらの利点は通常、言語、ジェネレータ、および関連ツールを作るための初期投資の規模を説明せずに報告されています。そこでMetaEdit+ツールを使用して、特定のドメインのための完全なモデリングソリューションを開発する取り組みに焦点を当てながら、2つの異なる方法で合計10の事例にわたって必要とされる投資について比較します。ケーススタディを行って、2つの現実的なサイズのドメイン固有のモデリングソリューションを実装する開発努力に関する詳細なデータを紹介します。次に、さまざまな企業から公開されている8つの事例をレビューして、同じツールを使用した業界の経験からデータを取得し、それらを私たちのケーススタディの結果と比較します。ケーススタディと業界事例の両方から、このツールでは、ドメイン固有のモデリング言語環境を作成するために必要な投資はわずかであることが示されました。その範囲は3〜15人日、平均10人日です。規模が増大するアプリケーションの、多様な側面や異なる開発者の様々なビューは、単一のモデリング言語で満たすことはできない。言語・ジェネレータ・表記などの定義を再利用できて、複数のモデリング言語が開発プロセスを通じて統合されて、様々な専門領域が一体化される、革新的なコラボレーションを支援できるツールだけが現実的な選択肢として、モデルベース開発の可能性を大きく飛躍させることができる。ドメインスペシフィックモデリング言語(DSM)を正しく行なうための指南書は殆ど無い。ベストプラクティスを留意することに加えて、共通の落とし穴や避けるべきことを知ることは有用である。分析しワーストプラクティスを分類した。これらワーストプラクティスを、プロジェクトの進捗にあわせて直面すると考えられる順で紹介する。Workbench)、モデリング機能(MetaEdit+)の各種機能を説明しています。MetaCase社日本語ページのProducts部分をまとめた資料です。ドメインフレームワークについてモデルから生成させるコード(部品を呼び出す為の処理や、条件判断文)と、ドメインフレームワークの役割について簡単に説明します。ジェネレータの動作についてMetaEdit+のコードジェネレータは、独自のスクリプトを使ってモデル内を巡回し、メタモデルのデータ(プロパティー)に応じて、プログラム言語を構成する文字列を出力します。これにより、あらゆるプログラミング言語のソースコード、要求仕様書などのテキストドキュメント、各種モデリングツールのモデルを自動生成させることができます。メタモデルを変更する場合の考察と支援機能ドメイン固有モデリング言語を実開発で使用するには、ライフサイクルを通じた修正やメンテナンスを避けることはできない。少なくとも、その製品系列が開発・メンテナンスされ続ける数年間は。MetaEdit+のリポジトリには、DSMソリューションを共有するためのポリシーが備わっていて、自動的に言語の新しいバージョンで、全てのユーザーのモデルを更新することができる。DSMの定義を個々のファイル(またはファイル群)で共有可能にして、各モデリング担当者が個々のモデリング環境にインポートすることもできる。これは新しいバージョンがデプロイされたときに、メタモデルの古いバージョンで作成されたモデルインスタンスの情報が失われないようにするために、極めて重要な機能。コンディションによりグラフ表示を変更する方法Graph上でオブジェクトを移動した時に、その位置に合わせてボタンの表示名(上下関係)を変更させる。エクスポート・インポート手順MetaEdit+のリポジトリ間で、メタモデルと実体(モデル)の両データを、バイナリ形式(.mec)でエクスポート・インポートする方法を紹介。ライセンスの有効化、無効化ライセンス形態はノードロックのみですが、ライセンスの有効・無効化は顧客サイドで容易にできる仕組みです。ドライバーSW開発では、新規HWへの修正・変更が主な作業であり、DSMは適合させにくいのではという質問をよくいただきます。言語の開発にどれだけの工数が必要か?一般にはモデリング言語とコード生成機能を、ツールを用いて定義するのには、数年もの工数が掛かるプロジェクトになると予想されます。我々の経験では数日でDSLとコード生成機能を実装しています。数年を浪費してしまうことを警告しています。小さな事例で実績を得ること、その成果を持ってマネジメントの理解を得ることで、継続的に進化させることが肝要であると説いています。提供される機能について紹介。段階を追った演習を通して、モデル言語の作り方、その言語の使用法がわかるようにしています。モデル言語の機能を拡張する方法についても言及しています。チュートリアルこのチュートリアルは、MetaEdit+を使って作成されたモデリング言語の内容を理解する事で、モデリング言語の構築に関する考え方と、その手法を学習することを目的に書かれています。評価版などインストール内にあるサンプルを用いて演習が行えます。グラフィカルGOPRR資料グラフィカルメタモデリング機能の概説書。サンプルを用いて、MetaEdit+でグラフィカルにメタモデリングができることを紹介します。グラフィカルメタモデリングによりメタモデルの中核となる、言語コンセプトと関連するルールなどの基本をデザインすることで、言語(モデリング環境)作成の始めの段階を支援します。Workbenchにインポートされ、そのメタモデリングツール(機能)を用いて、拡張(進化)させることができます。ハンズオン資料モデルから完全なコード生成と、その生産性向上に興味を持っても、どのようにしてコーディング中心の開発からモデリングベースへ移行できるかは、良く知られていません。白紙状態から、抽象度を上げて高い生産性を得る(UMLではかなわない)独自のモデリング言語を作ることは、難しいと思われています。例題演習を介して、イテレーティブに、実用的な独自のモデリング言語が、コード資産を基にして、容易に実装できることを紹介します。Controlモデリングブームの中、殆どの方は既存のバージョン管理ツールやその手法でモデルを管理しようと試みる。CVSなどはテキストレベルの言語サポートを目的に進化したが、残念ながらモデルの管理には向いていない。それはたとえモデルがテキストで保存されてもである。モデリング担当者、VCSベンダー、あるいはモデリングツールベンダーでさえ、この困難に直面している。ここでリポジトリ―ベースのモデリングツールが、このようなコードファイルの管理を意図して作られたツールの課題に直面する多くの人へ解となる。十数年にわたって成功裏に活用される成熟したモデリングツールが、モデルのバリアントやバージョンの課題を解決できるかを調査し、リポジトリ―ベースのツールによって複数開発者によって開発される複数の統合されるモデルの適切な管理について論文にした。既存のバージョン管理システムはモデル管理に重要な役割を持つものの、モデリング言語、ツール、そのリポジトリ―自身が最適な役割を担う。モデルエレメント、複数ユーザのリポジトリ、製品系列にドメインスペシフィックな言語、それのバリエーションが直接リンク付けされることで、生産性向上をもたらす成熟したDSMを得ることができる。著者をはじめとする専門家より回答を得ることができます。