E-AoSAS++: 組込みソフトウェアのためのアスペクト指向ソフトウェアアーキテクチャス タイル

概略

E-AoSAS++ (Aspect Oriented Software Architecture Style for Embedded systems)は 組込みシステムのためのソフトウェアアーキテクチャスタイルである. E-AoSAS+で+は,互いに関わり合う関心事から抽出されるコンポーネント群 の構造を,コンポーネントの振舞いを記述する並行状態遷移機械と,それ らの構成を管理するメタレベルの振舞いを記述する並行状態遷移機械から なるものととらえる.

E-AoSAS++は組込みシステムのソフトウェアアーキテクチャを構築するた めのコンポーネント・コネクタスタイルに基づく枠組で あり,アプリケーション論理を実装するオブジェクトと,その状態遷移ア スペクトを実現する並行状態遷移機械(STM)を基本的な構成要素とする.

STMは,自分自身および外部からのトリガイベントに対してオブジェクト のメソッドを呼び出しながら状態を変化させる.メソッド呼び出しの結果, STMはそれ自身や並行する他のSTMに対してメッセージを送信する.複合STM は複数のSTMと構成管理ポリシを規定するSTMからなる.構成管理STMは, 内外からのメッセージを適切に配下のSTMへ流通させることで,複合STM全 体としてのメタレベルの振舞いを管理する役割を果たす.

E-AOSAS++では これらの複合STMを階層的に組み合わせることでアーキテクチャを記述す る.これら複合STMをアーキテクチャ記述の枠組として用いることで,コンポー ネントにおいて,その主たる関心事を実現するSTMと,並行処理や耐故障 性,リアルタイム性といった関心事を実現するSTMとを明確に分離して記 述することが可能となる.我々は,これまでに行ってきた組込みシステム 開発の経験から,このような構成管理STMを中心とするアーキテクチャ記 述のスタイルが,組込みソフトウェア開発に有効であると考えるに至った.

自動販売機のソフトウェアアーキテクチャ
図: 自動販売機のソフトウェアアーキテクチャ

開発支援環境

E-AoSAS++の開発支援環境は,E-AoSAS++に基づくモジュールおよび横断的関心 事間の関係記述のためのモデリングツール,記述されたモジュール群の振舞い の健全性を保証するための検証ツール,実行可能コードを生成するための生成 ツールからなる.

開発支援環境の図
図: 開発支援環境

開発者は,並行性・状態遷移,リアルタイム性,耐故障性などの視点から 構成管理STMとそれに管理されるコンポーネントSTMを記述する. 開発者により記述されるアプリケーション論理は,形式仕様合成系により, 上述のSTM中間記述と合わせて,形式的な仕様記述に変換される.この形式仕 様を対象に,モデル検査ツールによって,デッドロック・ライブロックの 有無,処理の継続性といったシステムの振舞いの正しさを検証する. 現在,形式仕様記述およびモデル検査の枠組としては,CSPおよびFDR,あるい はPromelaおよびSPINを採用する方針で,開発を行っている.

モデル検査ツールにより,早期にアプリケーションの振舞いに関する検証を行っ た後,コード生成系により,STM中間記述からから状態遷移機械に対応するプ ログラムコードをアプリケーション論理からSTMから呼び出されるオブジェク トのクラスに関するプログラムコードテンプレートを生成する.後に開発者は, オブジェクトの振舞いの詳細をメソッドの中身として実現し,STMに対するコー ドとともにE-AOSAS++の動作プラットフォームライブラリとリンクすることで 実行可能形式のプログラムを完成させる.


論文

学会発表

国際会議

修士論文(2007)


研究助成


ダウンロード


南山大学数理情報学部
野呂 昌満,沢田 篤史, 蜂巣 吉成