未踏ソフトウェア創造事業 2006年度下期 並木・齋藤・高田・黒川 4PM合同成果報告会レポート ~開発の苦悩,完成の喜び~

この記事を読むのに必要な時間:およそ 4 分

時間保護のための組込みシステム向け階層型リアルタイムOS(松原豊氏)

松原豊氏

松原豊氏

組み込みシステムでは,機能ごとに異なる制御用コンピュータを搭載するこおが多いが,スペースの制約があるので,機能を追加したくても新しくコンピュータを搭載できないケースが出てくることがある。

対策としては,アプリケーションを統合しCPUの数を減らす方法があるが,1つのCPUを複数のアプリケーションが利用すると,リアルタイムな処理が要求される組み込みシステムでは問題が出ることもある。

本プロジェクトは,アプリケーションごとに使えるCPU時間を保証するOSを開発するというもの。これまでは,アプリケーションを統合する際には,大変な労力とコストがかかっていたが,本プロジェクトで開発したOSでは,アプリケーションに手を加えずに統合することができるとのこと。

今後は,各種の展示会やプロジェクトに参加し,普及を目指すと語った。

DBPowder: RDBMS活用フレームワーク(村上直氏)

村上直氏

村上直氏

RDBMSは,多くのデータを扱うときには欠かせないものであり,アプリケーションのバックエンドとして広く利用されている。

しかし,RDBMSを構築するのは簡単ではなく,途中段階で試しに動かしてみるということができない。また一度作成すると修正が非常に面倒である。

本プロジェクトで開発されたDBPowderは,これらのRDBMS構築時の問題点を解決するフレームワーク。開発ステップを,データ構造(スキーマ)を書く「DBPowder-schema」⁠Webページの動きを書く「DBPowder-navigation」⁠そしてWebページを書く「DBPowder-html」の3つに分けることにより,柔軟な開発を実現している。

DBスキーマの定義ファイルは独自形式で,自分で記述できるように配慮されているとのこと。

BitTorrent型分散システムと使い捨てパッドを用いた通信システムの開発(石井充氏)

石井充氏

石井充氏

100%安全であることが数学的に証明されている使い捨てパッド(One time pad)という暗号化手法があるが,平文データと同じ長さになる鍵の交換方法に問題点があり,現時点では解決できていない。

本プロジェクトは,使い捨てパッドによって暗号化されたデータをBitTorrentと同様の方式で複数のファイルに分割することにより,上記の問題点を解決している。通信はすべてDSAによる認証/署名が行われるので,現実的に盗聴は不可能である。また,パケットの大きさから通信内容を類推されるという問題も,関係のないデータを付加することにより,パケットサイズを変更することで解決している。そして,ルータを越えることができない問題は,ヘッダの暗号化を止めることにより解決した。セキュリティには影響はないと考えられ,ルータ越えの必要がない場合はヘッダを含めて暗号化することもできる。

暗号化は独自に開発されたフィルタドライバにより行われるので,NICに依存せずに暗号化できる。また,プロトコルに関係なく暗号化できるという利点もある。

今後はビジネスへの展開なども模索していくとのこと。

RTOS上でのセキュリティフレームワークの構築(安積卓也氏)

開発代表者の安積卓也氏と,
共同開発者の山田晋平氏

開発代表者の安積卓也氏と,共同開発者の山田晋平氏

本プロジェクトは,組み込みシステム向けのにおいて,リアルタイムOS上でアクセス制御を行えるようにすることを目指すもの。

保護する資源と,それにアクセスを行うコンポーネントとの間に「セキュリティコンポーネント」を追加する。⁠セキュリティコンポーネント」は,呼び出された関数,呼び出したサブジェクトの情報を基に,アクセス制御の情報を持つ「リファレンスモニタ」に問い合わせる。その内容を基に,関数の呼び出しの許可を行うか,エラーを返すかを決定するというしくみ。また,⁠セキュリティエンハンサ」というものも用意されており,これを利用すれば,保護したい資源にアクセスする部分すべてにアクセス制御機構を追加することもできる。

性能評価の結果も発表され,オーバーヘッドは1%前後とのことだった。

FlexRayのシミュレーション環境と共通APIの開発(吉川彰一氏)

吉川彰一氏

吉川彰一氏

自動車の電子部品をつなぐ車載LANの次世代プロトコルとして,FlexRayが大きな注目を集めている。このFlexRayを利用した開発の普及を目指すため,まずはFlexRayのシミュレーション環境を整備しようというのが,本プロジェクトの目的である。

構成はクライアント/サーバ型で,クライアントがFlexRayの各ノードとなり,そのノード同士をつなげる役割をサーバが担当する。デモでは,車のハンドルと車輪の動きをシミュレートしたものが発表された。ハンドルを回転させ,車輪が動くときのFlexRayの通信がシミュレートされていた。

組み込みでは,精度の高い時間のシミュレーションが必要であるが,これをそのままシミュレートするのは非常に難しく,大変な試行錯誤があったと語った。また,吉川氏は仕事を行いながらのプロジェクトであったため,思うように開発の時間が取れなかったことなどの苦しさも窺えた。

デモンストレーションの様子

デモンストレーションの様子