組み込みプラットフォーム
はじめに
本研究室では、TOPPERSプロジェクトのコンポーネント仕様WG(ワーキンググループ)と共同で研究・仕様検討・開発を行っています。
立命館大学の情報理工学部情報システム学科はTOPPERSプロジェクトの会員に正式に認められており、TOPPERSプロジェクトの成果物の利用や、開発、議論に参加することができます。TOPPERSプロジェクトの成果物は、エプソンのプリンタなど、さまざまな組込み機器に実際に利用されています。
TOPPERSプロジェクト
TOPPERSプロジェクトは、組込みシステムで一番利用されているリアルタイムOSであるITRON仕様の技術開発成果を出発点として, 組込みシステム構築の基盤となる各種の高品質なオープンソースソフトウェアを開発するとともに,その利用技術を提供しているNPO団体です。
TOPPERSプロジェクトには、約100の企業、約20の大学や研究所が会員として参加しています。 (会員一覧:http://www.toppers.jp/projmembers.html)
組込みシステム向けコンポーネントシステム(TECS)
本研究室は、主にTOPPERSプロジェクトのコンポーネント仕様WG(組込みシステム向けコンポーネントシステム(TECS)の研究開発を行うグループ) のメンバとして活動しています.
組込みシステム向けコンポーネントシステム(TECS)は、各種ソフトウェアモジュールを部品化し、必要な部品を組み合わせることによって大規模な組込みソフトウェアを効率的に構築するための技術です。
TECSの利点
大規模な組込みソフトウェアの見える化
ソフトウェア部品の流通性・再利用性の向上
分散フレームワークによる分散システムの開発効率化
コンポーネント図
倒立ロボット
参考文献
TECS
組込みプレス Vol 15. (2009年)、「OSS の組込みコンポーネントシステム TECS を使ってみよう」大山博司、安積卓也
《Interface2011年7月》コンポーネントで組み上げる MINDSTORMS NXT用プラットホームTOPPERS/ASP+TECSを使いこなす. 安積卓也、石川拓也
学生の利点
μITRONなどリアルタイムOSの知識など、組込みシステムの実践的なスキルを習得できます。 学生はTOPPERSプロジェクトに参加し研究を行うことができ、実際の組込みシステムの開発を体験できる可能性があります。
研究成果の活用例
ETロボコン
TECSが公式プラットフォームとして採用
Androidインテントを用いた組込み機器向け通信システム
Androidが搭載されたデバイスを利用し、周辺にある組込み機器を操作するのが本研究の目標である。 その仕組みを作るのに、Android内でのアプリケーション間通信に利用されている“インテント”を利用する。 分散化したインテントを配信することで,ファイルを組込み機器に配信し、なおかつ組込み機器でその ファイルをインテントの命令通りに利用できる。
関連卒論:「Android Arch: Androidに閉じないコンポーネント化した分散インテント(2012年度)」
mrubyとTECSの連携
本研究は、mrubyとTECSを連携させることで、組込みソフトウェアの開発効率の向上を目指しています。
mrubyとTECSの連携により、Cとmrubyの双方からの呼び出しが可能となります。これにより、制御部はC言語での記述し、アプリケーション部はmrubyで少ない行数で効率よく記述するなどすみわけが可能となり、ソフトウェア開発者の負担軽減につながっています。
リアルタイム性が高く要求される領域では、C言語での実装を中心に行い、スマートフォンなど比較的にリアルタイム性の低い領域ではmrubyでの実装を行うことが提案されています。
関連修論:「スクリプト言語プログラムと共存できる組込みシステム開発環境(2014年度)」
情報系と制御系をつなぐ研究
本研究は、制御設計のモデルとソフトウェア設計のモデルを連携させることで、組込み制御ソフトウェアの品質向上と開発効率向上を目指しています。
組込み制御ソフトウェアは、自動車や家電製品、産業機器などで用いられるソフトウェアです。例えば自動車向けの電子制御器システムに対するの急激な大規模・複雑化に伴い、安全性を確保する機能安全規格としてISO26262が標準化されました。
現在、組込み制御ソフトウェアの設計は、2段階で開発がおこなわれています。
まず、制設計者がMATLAB/Simulink(自動車や家電製品などの組込み制御ソフトウェアの設計に用いられている開発ツール)等の制御ツールを用いたモデルベース開発をおこないます。ブロック線図などを用いて制御ロジックを記述し、Simulinkモデルを用いてシミュレーションを用いてモデルを確認しながら開発をおこないます。
その後、ソフトウェア設計者が、制御設計に基づいてソフトウェアの構造や振る舞いなどをUMLやSysMLを用いて設計しています。
しかし、2段階に分かれていることにより、制御設計とソフトウェア設計の間の連携に問題が生じています。例えば、制御ソフトウェアが複雑化してきていることにより、制御設計者がソフトウェア設計者に使用を正確に伝えることが困難になってきています。また、制御設計では制御ロジックを検証しているため、組込み制御ソフトウェアにおいて重要な要素になる処理時間やタスク間のプリエンプションなどが考慮されていません。
これらの問題を解決するために、制御設計とソフトウェア設計を連携させることで、ソフトウェアの品質向上と開発効率向上を目指しています。
関連修論:「モデルベース開発における自動生成コードと既存コードの統合手法(2013年度)」
関連卒論:「モデルベース開発での生成コード向け実時間タスク分割の自動化支援機構(2014年度)」
車載データ統合アーキテクチャ:Cloudia(自動車向けDSMS)
近年、自動運転や先進運転支援システム(e.g., 衝突回避システム、自動駐車支援システム)などの研究・開発が盛んに行われています。このような様々な自動車システムの機能を果たす為に、自動車に搭載されるセンサ種類やセンサからの情報量が急激に増えています。 その結果、自動車システム開発の複雑化やシステム内に同様なセンサ情報処理が重複する問題が発生しています。このような問題点を解決する為に、センサ情報を低遅延に処理し、システム間でセンサ情報処理が共有できるDSMS(Data Stream Management System)を自動車に適用させる研究に取り組んでいます。
この仕組みが実現できると、以下の利点があります。
重複処理を削減することで、自動車システム開発の効率を向上させ、コストが削減可能
センサ・アプリケーションの変更に対応しやすい
自動車に搭載するセンサ種類が削減可能
関連卒論:「ハードリアルタイム性を考慮した車載組込みシステム向け DSMS のリアルタイムスケジューリング(2013年度)」
関連修論: 「Distributed Parallel Processing for Automotive Data Stream Management System(2015年度)」
具体的な研究内容:
自動車向けDSMSのスケジューリング:
従来のDSMSでのセンサ情報処理方式は、自動車システムで重要な時間制約を考慮していない為にそのまま自動車に適用できません。そのため、自動車システム環境を考慮した新しいセンサ情報処理方式(アルゴリズム)を提案しました。TECSを用いた自動車向けDSMSの実行ファイルの自動生成機能:
自動車システムは非常に高い信頼性が要求されている為、数多い時間制約の検証テストを行う必要があります。検証テストをより容易に行い、開発者の負担や開発時間を削減する為、実行ファイルの自動生成機能を開発中です。
マルチコアプロセッサを活用した自動車向けDSMSの並列処理:
搭載センサのみでは衝突危 険度を感知することが難しい場合(e.g., 見通しの悪い交差点など)があります。その為に, 自動車外部からのセンサ情報を活用し、並列処理を実現することで、衝突危険感知の精度を向上させることを目標にしています。
本プロジェクトは、名古屋大学、同志社大学、自動車関連企業などと共同で実施しています。