本研究は、組込みシステム、特に多機能なスマートロボットを対象において事実上の標準であるRobot Operating System(ROS)に、コンテキスト指向プログラミ ング(COP)を適用したContextROSを研究、開発し、様々な応用に対して適用してその実用性を評価することが目的である。
昨年度までに、ROSにおける主要な開発言語であるPythonとC++向けのCOP言語を実装し、簡単なケーススタディを実施することで、提案手法を使用したときコー ド行数が少なく、凝集度が保たれること、保守性が向上すること、低オーバーヘッドであるなどの有用性を確認してきた。また、シミュレーション環境中にアプリケーションを実装し、その知見に基づいて改良を実施してきた。
本年度は、作成したケーススタディを拡張した。その過程で以前は構造のモデルは提案されていたものの、振る舞いのモデルが提案されておらず、方法論として欠けているところがあった。そこでUMLステートマシン図をCOP拡張した言語を定義した。本モデルでは基本となる振る舞いを表すベースのステートマシン図にCOPの機能であるレイヤの振る舞いを断片的なモデルの情報を持った差分のモデルを重ねて書き換えることでレイヤのモデルを表現する。画用紙に描いた絵に透明な紙を重ねて書き加えるようにモデルの差分を作る。また、複数のレイヤが同時に活性化した合成レイヤの振る舞いは、どちらのレイヤが上位なのかを設定し振る舞いをモデル化することとした。また、これらのレイヤの活性化する条件を整理するために決定表を使用する手法を実現した。
|