MARTEとは何か
design modelの特徴
設計モデリング向けには、RTES開発の分野でよく用いられる概念要素を表す多数のステレオタイプが用意されています。
設計モデリング向けに定義されている代表的なステレオタイプとしては、《rtUnit》(RealtimeUnit:同時並行して自律的に動作するソフトウェア・モジュールを表す)、《ppUnit》(ProtectedPassiveUnit:複数のRtUnitに共有アクセスされるオブジェクトを表す)、《messageComResource》(メッセージキュー、パイプ、バッファなどメッセージ交換用リソースを表す)、《notificationResource》(シグナルやイベントなどの非同期通知情報を表す)、《swSchedulableResource》(スレッド、プロセス、タスクなどのスケジューリングされて実行されるリソースを表す)、《swTimerResource》(一定の時間間隔で特定の処理を実行する機構を表す)などが挙げられます。
また、MARTEではRTESソフトウェアが制御対象とする(または、それらのソフトウェアが実行されるプラットフォームを構成する)代表的なハードウェア要素を表現するステレオタイプも定義されています。こういったステレオタイプの例としては、《hwCoolingSupply》(ファンなどの冷却装置を表す)、《hwI/O》(入出力デバイスを表す)、《hwMemory》(RAM、HDD、スマートカードなどのメモリデバイスを表す)、《hwPowerSupply》(バッテリや電源ユニットなどを表す)、《hwProcessor》(CPUやDSPなどのプロセッサを表す)、《hwStorageManager》(MMUやDMAなどメモリ領域へのアクセスを管理するデバイスを表す)などが挙げられます。
MARTEで定義されている各ステレオタイプは、それぞれMARTEドメインモデル中に登場するクラスに対応しており、多くのステレオタイプがいくつかの固有の属性を持ちます。ステレオタイプを適用する際に(ステレオタイプの各属性に対応する)タグ付き値を指定していくだけでも、自然とそれなりに具象的でヌケ/モレが防がれたモデルになっていきます。
analysis modelの特徴
システム解析には、信頼性、可用性、セキュリティ、パフォーマンス、スケジュール可能性、消費電力、メモリ消費など、さまざまな分野があります。各解析分野はそれぞれ独自の概念を扱っていますが、解析分野にかかわらずほぼ共通に用いられる概念もあります。
MARTEのGQAM(Generic Quantitative Analysis Modeling)サブプロファイルには、共通した概念要素の定義と解析に有用な各種特性値などの情報を、注釈(annotation)としてモデルに付記できるようにする枠組みを与えています。現在のBeta1仕様では、GQAMを特殊化する形でPAM(Performance Analysis Modeling)とSAM(Schedulability Analysis Modeling)という2つのサブプロファイルが定義されています。
MARTEでのモデルベース解析では、解析したい状況を実行プラットフォームの構成(ResourcePlatform)と負荷シナリオ(WorkloadBehavior)とによってモデル化し、シナリオごとに具体的にリソースの割り当てを行ってモデル上で評価を行います。例えば、負荷シナリオとしてイベント到着頻度、実行時間、キャッシュヒット率などの確率分布を与え、平均スループット、平均遅延時間、ミス率などの統計値を計算やシミュレーションによって推定し評価することができます。
GQAMはさまざまなモデルベース解析に対する共通した枠組みとなっているため、今後さらに新たな解析手法などを同じ枠組みの中で追加していくことができるでしょう。
最後にMARTEの今後の動向を予想してみましょう。MARTEは仕様化途上の新しい規格で、これが実際にRTES開発の現場にどれだけ広く受け入れられるかは現状では未知数ですし、MARTEを直接支援するモデリングツールなども今のところあまり出ていません。ただし、MARTEのようなドメイン特化モデリング言語は、モデルベース開発に大きな効率化をもたらす可能性を秘めています。
MARTEの仕様化は、SysMLをはじめ関連する各種仕様との整合をとりながら、正式版公開に向けて着々と進められています。仕様化にはいくつかのツールベンダも参加しているため、仕様がほぼ固まってからツール環境なども徐々にリリースされてくるのではないかと予想されます。