MARTEとは何か

2008年4月21日(月)
皆川 誠

RTES開発を変えるMARTEとは

 MARTE(Modeling and Analysis of Real-Time & Embedded Systems)は、リアルタイム組み込みシステム向けのドメイン特化モデリング言語(DSML:Domain Specific Modeling Language)で、UMLの拡張プロファイルとして定義されています。

 現在、OMG(Object Management Group)によって仕様化作業が進行中で、2007年8月に「A UML Profile for MARTE, Beta 1(http://www.omg.org/docs/ptc/07-08-04.pdf)」というベータ版の仕様書が公開されたばかりの、まだ新しい仕様の1つです。この記事ではBeta1版の仕様書の内容に従ってMARTEの概要を紹介しますが、今後公開されるであろう正式な仕様書ではいくらかの部分が変わってくる可能性があるのでご注意ください。ちなみに、「MARTE」はイタリア語やスペイン語で「火星」を意味する単語だそうです。

 まず、MARTE登場の背景について解説しましょう。UMLがソフトウェア開発の現場に広がるにつれ、リアルタイム組み込みシステム(RTES:Real-Time Embedded System)でのソフトウェア開発の分野でもUML適用のためのさまざまな試行が行われてきました。

 それらの経験から「UMLは確かに便利なツールだが、RTES開発に対する配慮が足りない」「もっとRTES開発に特化したモデリング言語が欲しい」という認識が広がってきました。RTES開発向けとしては、既にUML 1.4ベースの「SPT(UML Profile for Schedulability, Performance, and Time Specification)」という拡張プロファイルが存在するのですが、MARTEはUML 2に適合/改良し、これを置き換えるものとして仕様化が進められています。

MARTEの全体構造

 MARTEはいくつかのサブプロファイルによって構成されており、おのおののサブプロファイルは「foundations(基盤)」「annexes(付録)」「design model(設計モデル)」「analysis model(解析モデル)」という4つのパッケージによって大きくグルーピングされています。

 MARTEはRTESの設計モデリングばかりでなく、解析モデリングについても支援しています。設計モデリングと解析モデリングの両方で共通に用いられる要素がfoundationsおよびannexesに定義されています。

 なお、MARTEでの「analysis」は、いわゆる「分析 → 設計 → 実装」といった流れの「分析」の意味ではなく、システムの性能解析などに近い意味で使われています。この記事では、混乱しないように「analysis」に対して「解析」という訳語を当てています。

 MARTEを構成する各サブプロファイルには、RTES開発で一般的に使われるさまざまな概念を表現するステレオタイプなどが定義されており、MARTEを利用するモデラーはこれらのステレオタイプを適宜適用して自身のシステムの表現(モデリング)を行います。

 MARTE仕様化のアプローチで興味深いのは、まずUMLによってRTES開発の分野で一般的に用いられる概念を表現したモデル(MARTEドメインモデル)を作成しておいて、次にそこに登場してくる各種概念要素をステレオタイプとしてマッピングすることによってプロファイル化する、という手順を採っている点です。このMARTEドメインモデルは、MARTEで定義されている各ステレオタイプの意味や構造を正しく理解するためにとても役に立ちます。

株式会社豆蔵
株式会社豆蔵 シニアコンサルタント。1989年頃からSmalltalkでオブジェクト指向の世界に足を踏み入れ、以降、JavaやC++なども使いながら、オブジェクト指向技術をベースにした各種システム開発、UMLによるモデリング、開発方法論の実践、コンサルティング、要員育成などに従事。できればいつまでもプログラマであり続けていたい派。温泉好き。「きつね」がトレードマーク。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています