需要が拡大する自動車制御OSを知る ――機能向上に対応するには開発効率向上が必須
● システム・ジェネレータを開発
TOPPERS/OSEKカーネルとあわせて開発したシステム・ジェネレータの主な仕様を表2に示します.システム・ジェネレータはOS生成の前処理であるため,リアルタイム性も省メモリも求められません.逆に,静的に解決できるものは可能な限り事前に処理し,OSの処理を軽減させることが求められます.そこで開発方針として,なるべく簡潔にソース・コードを記述し,後からの修正が容易になるように心がけました.そのため,開発言語としてC++を利用し,オブジェクト指向によるカプセル化を行いました(修正時のバグの混入を最小限に食い止めることを期待した).また,オブジェクト指向のデザイン・パターン(11)を多く取り入れることで,柔軟性や拡張性の高い実装をめざしました.しかし,抽象化しすぎた結果,理解しにくいソース・コードになってしまい,オープン・ソースとして公開するには適切でないものになってしまいました注14.
注14;そのため,現バージョンのシステム・ジェネレータは実行オブジェクトは無償で提供しているものの,ソース・コードは公開していない.すでに改善した新バージョンの開発を終了しており,現在,公開に向けて準備を進めている.新バージョンは,開発環境としてGNUツール(g++)を利用できる.
表2 システム・ジェネレータの主な仕様
準拠した仕様 | OIL仕様 Version 2.4.1に準拠 |
開発ツール | Visual Studio.NET 2003 (C++で開発) |