MARTEとは何か
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で定義されている各ステレオタイプの意味や構造を正しく理解するためにとても役に立ちます。