権威へのインタビューが公開されました英文ですがChromeなどの翻訳機能で簡単に読めます。Modeling)言語を作るために活用される。ドメイン固有のコンセプトを用いることで、コード実装に比較して開発の抽象レベルを引き上げる。高い抽象レベルでモデル化された仕様をコードやドキュメントに自動変換して、開発効率や品質を飛躍的に改善する。Poral社のDSMは、スポーツウォッチのコンセプトでわかりやすいモデルから、ジェネレータで完全なコードを自動生成して、開発の生産性を10倍以上改善しました。生成されるコードはマニュアル実装より高品質であることや、モデルが全ての利害関係者に理解されること、新しい開発メンバーが即戦力になることも成果として報告されています。DSM殆どの開発者にとってフレームワークの正しいコンポーネントを探すことは簡単ではありません。実現する複数の選択肢などの存在は、フレームワークを正しく使いこなす為の学習に多くの時間を費やすことになります。このような問題は、DSMで開発の抽象度を上げながらフレームワークの詳細を隠蔽することで解決します。Mではフレームワークは利用可能なオブジェクトとなり、高いレベルのコンセプトでモデル化されたアプリケーションから、フレームワークを巧みに活かした実用的なコードが生成されます。この自動化は、単一ドメインの要件だけを満たすDSM言語とジェネレータによって得ることができます。DSM言語に設計のルールやコンポーネント使用上の制約を持たせることで、決まりきった作業を最小限に抑え、ありがちなエラーを未然に防ぎ、フレームワークが正しく使用されることを保証すると同時に製品開発を加速します。これは熟練者の知識が全ての開発者で共有できるようになるということです。ジェネレータは、コードとビルド用のスクリプトを同時生成させることに加えて、テストケース、各種ドキュメント、ハードウエアの割当てやデバイスの構成、Simulink等の各種ツールとの相互変換など、様々な用途に活用されます。カタログDSM言語開発に必要な機能の比較DSMの持続的な進化を支援できる唯一のツールDSMを導入するコツは、まず限定的に小さな範囲でDSM言語とジェネレータを試して、ユーザの意見を取り入れて改善を繰り返すことです。リスクを最小限に抑えながら、短期間の成果で組織の賛同を得て、範囲を段階的に拡げます。製品の持続的な変化に応じて、DSM言語とジェネレータを柔軟に変更して進化させることも重要です。DSM言語の進化を自動的に反映MetaEdit+ではDSM言語とジェネレータの定義が一つに統合されるので、このようなイテレーティブかつインクリメンタルな開発を支援し、一部分への変更が全ての定義と既存モデルに自動反映されます。MetaEdit+でなら通常1~2週間で開発されますが、専用ツールを用いない場合、DSMの開発に数年・数億円を要して、継続的な保守が成り立たないことが多く報告されています。ドメインスペシフィックモデリング言語環境を構築するためのツールです。シンプルでありながら強力なメタモデリング言語とユニークなGUIによる設定環境を用いて、モデリング言語のコンセプト、プロパティー、ルール、シンボル、言語のチェックレポート、コードやドキュメントの自動生成、などの定義が簡単に行えます。インストール内には再利用可能な多くのライブラリもあり、導入後直ちに作業を始めることができます。独自のモデリング言語を設計する手順を紹介ドメインスペシフィックモデリング言語を作るには、まず開発熟練者がモデルの属性、ドメインコンセプト、ルール、モデルからコードへのマップなどを定義します。(通常2週間、大規模システムでも3人月。開発チームはシステムをモデリングして、完全なコードを自動生成します。抽象度を上げて、モデリング作業は製品をスケッチする感覚にまで高めることができます。人手に頼った、仕様書からコードへのマッピング、フレームワークやライブラリに対する習熟・解析作業などから開放され、製品デザインに集中することができるようになります。これは全ての開発者が熟練者なみのコード開発能力を身に付けたに等しく(熟練者のノウハウを共有)、飛躍的に生産性と品質を向上させます。Workbenchで定義されたモデリング言語をリポジトリから呼び出して、モデリング作業が行えます。複数のユーザーと複数のプロジェクトに対して、主要なプラットフォームで動作します。専用のモデリング言語をサポートする完全なGUIツールを提供します。モデリング言語に対する追加・改善は、グラフィカルなモデル、マトリクス又は表を用いるモデリング環境へ即座に反映されます。フィルターを使ったデザインの表示、部品の追加・修正、他のモデルとのリンク、モデルのチェックが行えます。デザインされたモデルを、HTMLやワード形式に出力したり、完全なソースコードを生成することが出来ます。コラボレーション開発するMetaEdit+では、マルチユーザ・モデリング環境をサポートしています。Serverを追加することにより、アプリケーションモデルや、モデリング言語(メタモデルのコンセプト、ルール、シンボル、ジェネレータ)が同時に編集できて、その結果は他のユーザへシームレスに反映されます。マージの苦労やロックされることの心配無く、モデルのバージョン管理を行えます。首尾一貫した最新バージョンのモデルで、一連の変更を全員にコミットすることができます。何が変更されたのか、グラフィカルに、あるいはテキストベースやツリー構造で表示させて、バージョンとしてコメントして名前を付けることができます。別のユーザーによる変更や、旧バージョンの状態を見るためのバージョン間の比較は、MetaEdit+からでもバージョン管理ツールからでも行えます。特定ドメイン向けにカスタマイズしたドメインスペシフィックモデリング言語を開発してメンテナンスするための専用ツールであることから、以下の例を基に状況に応じた戦略が取れる。問い合わせに対応できる体制が必要であっても、ドメインスペシフィックなルールや制約を持たせることや、言語の抽象度を上げることで、UMLやSimulinkなどの汎用モデリング言語と比較して、求められるサポートの量や内容は限られる。特定ドメイン向けにカスタマイズされたモデリング言語のサポートは技術的に難しくない。本来ドメインの知識は、それを使用する組織が持ち合わせるので、サポートはできるだけ現場に近いことが望まれる。チーム内、あるいは社内で組織されるのが適切。数百人規模で使用されたNokia社の事例では、新メンバーの学習期間が6ヶ月から2週間になったことからも、言語のトレーニングやサポートが容易であることが理解できる。2:モデリング言語への機能追加や変更モデリング言語を使用する担当者が数百人でも、そのモデリング言語を開発して、要求に応じた機能追加や変更作業に必要な開発者は数人。数百人規模の開発に使用されたNokia社のモデリング言語は、MetaCase社の数人によって開発され、メンテナンスされた。汎用モデリング言語に比較して詳細な変更・修正等は必要ない。)をベースにすると数年以上かかる作業に比較して、MetaEdit+であればモデリング言語開発は2週間程度。イテレーティブにモデリング言語を開発して、メンテナンスを容易にする仕組みを備えるので。UMLより10倍速い)もし社内専用のアーキテクチャモデリングやシステムモデリング言語に対して、数百ある組織ごとに異なる要求に応じた変更が必要ならば、富士設備、MetaCase社に相談をただ既にあるモデリング言語に対する機能追加や変更には、モデリング言語を一から開発する程のスキルは必要ないので、チーム内や社内でもサポート体制を組織化できる。(ここでもできるだけ現場に近いことが望まれる)またアーキテクチャモデリングやシステムモデリング言語であれば、社内開発プロセスを横断的に支援する組織が請負って、異なる要求を単一のモデリング言語環境にまとめることもできる。できるだけツールメーカに依存したくないなら、独自のモデリング言語を開発して、そのサポート体制を作ることが最善であり、MetaEdit+はそれができる唯一つのツール。弊社とMetaCase社にて、お客様のDSM環境の開発を請け負うこともできます。費用は規模にもよりますが、始めはプルーフオブコンセプトとして小さな部分を3日程度で開発し、そのメタモデルを用いて講習会を行います。これをベースにして、メタモデルをお客様側で進化させる、あるいは残りの部分も全てお請けすることが出来ます。携帯電話のような大規模システムでも、DSM環境の開発は3ヶ月程度です。専用のデータベースで管理される為、小さな部分を作ってから少しずつ柔軟に進化させられます。国内でDSM開発を依頼いただいたお客様からは、完成度が高く、メタモデル開発における多くの知見が得られたと、好評頂いています。詳細については、お問合せ頂けると幸いです。