MetaCase社 MetaEdit+ は、モデル言語を開発(メタモデリング)するためのツールで、ドメイン固有モデリング(DSM: Domain-Specific Modeling)言語を作るために活用される。ドメインに固有のコンセプトを用いることで、コード実装に比較して開発の抽象レベルを引き上げる。そして高い抽象レベルでモデル化された仕様をコードやドキュメントに自動変換して、開発効率や品質を飛躍的に改善する。
安全性とセキュリティでMBSEを強化の講演動画
セキュリティと安全性の懸念は、システム要件と一緒に引き出されることが望ましいものの、通常これらは考慮されず、各担当者の作業は、様々な形式・言語・ツールに分割される。この状態では、トレーサビリティやバージョン管理が制限され、ツールによる自動化は限定的で、大規模・複雑化するシステムの開発の厄介な課題になっている。 本講演では、セキュリティと安全性の側面を他のシステム開発手法と統合する、自動車を対象としたモデルベースのアプローチを紹介する。
1300名以上の申し込みがあり、当日は zoom と Vimeo で500名以上の方に参加頂きました。MBSEで安全性とセキュリティの側面にも取り組むことへの関心が高まっていることを実感しました。
EW2022講演資料:
安全性とセキュリティでモデルベースシステムズエンジニアリングを強化する
ZF社事例:
EAST-ADL 拡張によるセーフティクリティカル、 ISO 26262 のモデルベース開発
SPLC 2019講演資料:
ドメイン固有のモデリング言語がどのように変動性に対処するか:23 の事例調査
ET展講演資料:
ジェネレータとモデリング言語のコツ ~うまくいっている組織のアプローチ~
ライブラリ、フレームワークを活用する究極の手段 = DSM
殆どの開発者にとってフレームワークの正しいコンポーネントを探すことは簡単ではありません。考慮すべき相互依存性、排他関係、同一機能を実現する複数の選択肢などの存在は、フレームワークを正しく使いこなす為の学習に多くの時間を費やすことになります。
このような問題は、DSMで開発の抽象度を上げながらフレームワークの詳細を隠蔽することで解決します。D S Mではフレームワークは利用可能なオブジェクトとなり、高いレベルのコンセプトでモデル化されたアプリケーションから、フレームワークを巧みに活かした実用的なコードが生成されます。
この自動化は、単一ドメインの要件だけを満たすDSM言語とジェネレータによって得ることができます。DSM言語に設計のルールやコンポーネント使用上の制約を持たせることで、決まりきった作業を最小限に抑え、ありがちなエラーを未然に防ぎ、フレームワークが正しく使用されることを保証すると同時に製品開発を加速します。
これは熟練者の知識が全ての開発者で共有できるようになるということです。
ジェネレータは、コードとビルド用のスクリプトを同時生成させることに加えて、テストケース、各種ドキュメント、ハードウエアの割当てやデバイスの構成、Simulink等の各種ツールとの相互変換など、様々な用途に活用されます。
持続的な進化を支援できる唯一のツール
ドメイン固有言語のコツは、まず小さな範囲に限定して言語とジェネレータを試すことです。そしてユーザの意見を取り入れて改善します。リスクを最小限に抑えながら、短期間の成果で組織の賛同を得て、範囲を段階的に拡げます。また製品の持続的な変更に応じて、言語とジェネレータも柔軟に進化させることも重要です。MetaEdit+では言語とジェネレータの定義が一つに統合されるので、イテレーティブかつインクリメンタルな開発を支援し、一部分への変更を全ての定義と既存モデルに自動反映させられます。このような専用ツールを用いない場合、DSMの開発に数年・数億円を要してしまい、継続的な保守が成り立たないことが多く報告されています。
Poral社のDSMは、スポーツウォッチのコンセプトでわかりやすいモデルから、ジェネレータで完全なコードを自動生成して、開発の生産性を10倍以上改善しました。生成されるコードはマニュアル実装より高品質であることや、モデルが全ての利害関係者に理解されること、新しい開発メンバーが即戦力になることも成果として報告されています。