組込みシステムにハイブリッドなAIを - ソフトウェア開発課題への挑戦

Challenge to embedded software development problem

CAL研究開発 Research and Development

CATS

CALが目指す未来

CAL(CATS先端研究所)が目指す未来は、組込みシステムにハイブリッドAIを実現することです。ハイブリッドAIとは、データ駆動型AIと理論知識型AIを融合したAIのことです。データ駆動型AIは、ディープラーニングのようなデータに基づき統計・確率的な手法を用いたAIです。理論知識型AIは、人が持つ知識をモデル等で表現するAIです。

産業技術総合研究所 人工知能センター 辻井研究センター長は、「人に寄り添うしなやかな」人工知能とは、大量データに基づく「人間を超える」人工知能と、人間の知能をモデルとする「人間に迫る」人工知能の技術を融合させることにより、人間と協働できる、人間に理解でき、人間が共同できる人工知能を実現できると述べています。

このようなハイブリッドAIを組込みシステムでどのように実現するかを研究する場がCAL(CATS先端研究所)です。人間の脳に右脳・左脳があり、脳梁が右半球と左半球を繋いでいます。同様にデータ駆動型AIと理論知識型AIを接続し、組込みシステムに埋め込むイメージを描いています。

研究テーマ

Hybrid AICASEKBSEMBDEmbeddedReal Time

組込みソフトウェア開発課題への挑戦

近年、ADAS(注1)、HMI(注2)をはじめとする自動車の機能高度化に伴い、車載ソフトウエアの大規模化・複雑化が進んでいます。今後もコネクティッドカーや自動運転車の次世代車開発に向けてAI、エッジコンピューティング等、車載ソフトウエアに対してさらに高度な技術力だけでなく、機能安全や短期開発への対応といった開発支援、開発管理も重要となっていきます。キャッツが有する車載組込み開発ツールの強化に加え、自動車業界向けに次世代技術を用いたソリューションを開発・提供することで、CASEを中心とする次世代オートモーティブ社会の実現に向けた取り組みを加速していきます。次世代技術を用いたソリューションとして、モデルベース開発における開発管理や自動運転ソフトウエア検証、OTA(注3)サービス実現に向けても共同で事業開発に取り組み、次世代オートモーティブ社会の実現に向けて新たなビジネスやサービスの創出に取り組んでいきます。

(注1) ADASとは、Advanced Driving Assistant Systemの略で、障害物検出警報や車線逸脱警報など、 自動車事故の可能性を検知し、事故を未然に防ぐことや、事故の影響軽減を実現する先進運転システムのことです。(注2) HMIとは、Human Machine Interfaceの略で、ドライバーと自動車の接点となるカーナビ、メーター、アクセル、ブレーキなどの、人への情報提供、機械への指令をやりとりする部分のことです。 (注3) OTAとは、Over the Airの略で、車載ソフトウエアに対して、無線ネットワークを通じてアップデートを実現する技術のことです。

公的資金研究・開発・調査 Consulting

CATS

2018年
経済産業省 平成30年度「高度な自動走行システムの社会実装に向けた研究開発・実証事業:
自動走行システムの安全性評価技術機構に向けた研究プロジェクト」

日本自動車研究所(JARI)からの再委託

2017年
「次世代人工知能・ロボット中核技術開発/次世代人工知能技術分野/オントロジー推論のリアルタイム処理を実現する組み込み技術の実現と安全・安心分野への応用」

国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)JASAからの再委託

2015年
「状態遷移設計ツール『ZIPC』からmrubyのソースコードを自動生成〜ZIPC Designer for mruby」

先導的 Ruby ソフトウェア開発支援事業補助金(福岡県)

2013年
「フィーチャモデルを適用した最適なテストパターンの自動抽出による信頼性とコスト削減」

平成24年度ものづくり中小企業・小規模事業者試作開発など支援補助金(全国中小企業団体中央会)

「テスト技法FOTの支援ツール開発、技法の拡充、及び実証実験による実用化研究」

研究成果展開事業 研究成果最適展開支援プログラム A-STEP(科学技術振興機構)

2011年
「新たな組込システム検証基盤構築事業」

(内閣府・沖縄県)

「組込みシステム基盤開発事業(品質説明力向上に向けたオープンツールプラットフォーム構築事業)」

産業技術実用化開発事業補助金(経済産業省)

2010年
「製品の苦情・問い合わせから欠陥箇所を特定する高度テスト技術に関する研究」

おきなわ新産業創出研究開発支援事業(沖縄県産業振興公社)

2009年
「状態遷移モデルを利用した自動テストツールの試作」

ものづくり中小企業製品開発等支援補助金(試作開発等支援事業)(全国中小企業団体中央会)

「マルチコア環境における組込みソフトウェア設計ツールの開発」

戦略的基盤技術高度化支援事業(経済産業省)

2008年
「重要システムのプロセス計測データに関する調査」

産学連携ソフトウェア工学実践拠点事業(経済産業省:IPA)

2007年
「プロジェクトモニタリングツールの適用および評価」

産業技術研究開発委託費
(産学連携ソフトウェア工学実践事業(高信頼組込みソフトウェア開発)(経済産業省:JasPar)

2006年
「ソフトウェア開発プロジェクト可視化ツールのパッケージ化(EPMツール)」

ソフトウェア開発技法普及ツール開発事業/「見える化」ツール・データベース構築事業(経済産業省:IPA)

2003年
「システム LSI 設計検証ツール」

横浜市中小企業研究開発助成

2002年
「組込みシステム用ソフトウェア評価項目抽出ツールの開発」

情報処理振興事業協会(IPA)重点領域情報技術開発事業

2000年
「システム LSI の開発環境動向調査」

社団法人日本電子工業振興協会(JEIDA)

「総合化組込みソフトウェア開発環境ツールの開発」

横浜市中小企業研究開発助成

1998年
「日本国内における組込みシステムについての HW/SW Co-Design の現状と課題調査」

社団法人日本電子工業振興協会(JEIDA)

ホワイトペーパー ダウンロード White Paper

CATS

「組込みソフトウェア開発課題への挑戦~網羅度~」

組込みシステムに占めるソフトウェアの割合が高くなるにつれて、モデルやコードを網羅的に検査、テスト、検証することが重要になっている。しかしながら全てを網羅することは、巨大化・複雑化する組込みソフトウェアでは容易なことではない。そこで、ある部分に限定して100%網羅する技法やより最適解の近似値を求める技法が用いられるようになってきた。そこで本稿では最近よく見かける3つの技法、「直交表」、「MC/DC」、そして「GA」をついての入門的な解説をする。

「直交表超入門(1)―ソフトウェアテストの効率的網羅のための実験計画―」

組込みソフトウェアにおいて、膨大なソフトウェアテストをどのように効率的に行うかというテストプロセスの設計は開発プロセス全体の中で、重要な課題となっている。ソフトウェアテストは、単体ごとに開発された機能を複数同時に組合わせて使用する際のテストである、機能組合わせテストをできるだけ網羅する事になる。機能の全組合わせ方についてテストケースを網羅する事は、テストケース数の多さから、不可能に近いか多大な工数を要する。本稿では、効率的でバランスの良いテストケース網羅法として知られている、直交表について基礎的事項を紹介する。

「MC/DCによる現実的な網羅のススメ」

Modified condition/decision coverage(MC/DC)は,ソフトウェアのテスト網羅度として非常に有効な指標である。テスト網羅度は,ソフトウェアテストにおいて、充分にテストした、という品質基準を定義する指標の一つであり、テスト網羅度を用いることで、ソフトウェア品質を保持しながら、コストや時間が無制限に増大するのを避けることができる。MC/DCは、故障が人命に係わる航空機ソフトウェアのテスト時に使用するテスト網羅度として、米国の航空機産業の業界団体であるRTCAが策定したDO-178Bの中で開発された。MC/DC開発以前に存在したテスト網羅度は、様々な問題を持っていたが、これらの問題がMC/DCで解決された。近年、信頼性向上を求める動きが高まり、車載ソフトウェアなどの航空機ソフトウェア以外の組込みソフトウェアの分野でも、MC/DCが注目されている。本稿は,テストの現場でどこまで網羅すればよいのか困っている方を対象に、MC/DCの使い方を紹介する。

「遺伝的アルゴリズムGA入門 ~遺伝的アルゴリズムを用いたテストケースの生成~」

本稿では最適化アルゴリズムの1つである遺伝的アルゴリズムGAの入門的解説を行う。遺伝的アルゴリズムGAがMichigan大学のJ. H. Hollandによって最初に提唱されたのは1970年代のことである。それ以来、GAは他の最適化手法に比べ、比較的早い時間で近似解を探索できると期待されている。本稿では、まずGAを取り巻く最適化手法全般について説明する。続いてGAに関する用語の定義や手法を解説し、最悪実行時間を検証すべくテストケース群の生成にGAを適用した事例を紹介する。

「直交表超入門(2)―状態遷移パスのテスト―」

組込みソフトウェアにおいては、一連の機能動作の検証―状態遷移テスト―は基本的に重要である。この状態遷移テストについても、前稿で紹介したソフトウェアテストの効率的な網羅法である直交表を適用する事ができる。本稿では、この適用の仕方について、CDプレーヤの機能仕様のテストを例題として述べる。

「状態遷移表のMC/DC100%テストをやってみよう!」

Modified condition/decision coverage(MC/DC)は、ソフトウェアのテスト網羅度として非常に有効な指標である。しかし、一般のソースコードに対し、MC/DC100%テストを生成しようとすると、入力値から構成される膨大な空間内の探索が必要になり、大規模な一般のソースコードへの対応は困難、という問題がある。本稿では、状態遷移表から生成されたソースコードを対象に、状態遷移表の特徴を活かし、ユーザに初期状態からテスト状態へ遷移させる遷移シーケンスを与えてもらうことで、この問題を解決する。本稿では、状態を持つシステムへの網羅的なテストを検討している方を対象に、エアコンモデルを例題として、状態遷移表のMC/DC100%テストをどのように構成するのか、についてと、MC/DC100%テストをどのように実行するのか、について説明する。

「組込みソフトウェア開発課題への挑戦~統合化~」

組込みシステムの規模増大により、コードに代わってモデルが多用されるようになってきている。様々なドメイン、工程で作成されるモデルが散乱することは望ましくない。そこでモデルの統合化をどうすべきかを提言する。本提言では次の3つの統合化モデルについて述べる。(1)制御系モデルと組込み系モデル (2)構造モデルと振舞モデル (3)バリエーションモデルと状態遷移モデル

「制御システムモデルと組み込みソフトモデル(1)モデルベース開発」

制御システムのコントローラのソフトウェア開発に、モデルベース開発が有効であると提唱されている。モデルは実行可能な仕様書であり、シミュレーションによって妥当性を確認しながら開発できる。しかしながら、物理現象であるプラントの連続系ダイナミクスと、機能を実現する離散事象が混在するシステムを、単一のモデリング手法で表現するのは難しい。本稿では,HEV(Hybrid Electric Vehicle; ハイブリッド自動車)を例題にして、複数のモデリング手法の組み合わせ方とその効果を解説する。

「構造モデルと振舞構造モデル」

近年AUTOSARに代表されるようにアーキテクチャ・構造モデルが再度注目されはじめている。本稿では、既存の構造モデルについて整理した後、その必要性を確認し、構造モデルと振舞モデルの相互作用による設計プロセスについて確認・整理する。

イベント情報 採用情報
イベント情報採用情報ホワイトペーパー
CATS