概要

CPS時代のソフトウェア工学に関する調査研究

(CPS=Cyber-Physical Systemsの略)

21世紀も10年が過ぎ、情報学の分野が第3の時代を迎えたといわれる。最初の時代は、コンピュータシステムそのものに関する研究開発が主であった。基盤ソフトウェア、プログラミング言語、形式手法などが生まれた。その後、インターネットの普及と共に遠隔地にあるコンピュータシステムをネットワーク結合し、大量データを共有、利用できる時代が到来した。来る時代は、コンピュータシステム内部の世界と我々が生きる実世界を結ぶことで、新しいサービスの創造、付加価値を生み出す技術に期待が集まっている。

第3の時代の情報学を的確に表現するために、CPS(Cyber-Physical Systems)という言葉が案出された。コンピュータシステムと実世界がフィードバックループを持つ。このような考え方は、いわゆる組込みシステムの制御ソフトウェアに萌芽がみられた。CPSは、これを一般化した系統的な基礎研究として、来るべき「礎の学」の確立を目指す。

CPSは北米発の言葉である。上記に述べたようなコンピュータシステムと実世界を連携させる新しいサービスが多くの応用セクタで出現する。そこでの共通的な技術挑戦課題を3つに整理し、これに対する基礎研究アプローチをCPSと命名した。3つの課題は以下の通りである。

  1. 離散情報(デジタル)と実数情報(アナログ)の共生
  2. 大容量、不確実な入力情報のもとでの処理
  3. 大規模・複雑なネットワークシステムへの対応

一方、欧州に目を向ける。EUの研究開発支援の枠組みでは「市場指向」を強調する。学術的な研究成果と実用化の間に横たわる大きな溝を埋めるための産学連携研究を強化し、道路交通・航空・医療などの分野の研究開発をESD(Embedded Systems Design)として、積極的に研究開発支援投資を行っている。これらの応用セクタはCPSでも想定している。すなわち、CPSとESDは研究開発支援の経緯によって異なるキーワードが使われているが、具体的な研究活動に目を向けると、両者の目指すところは同一といってよい。実際、北米とEUの研究者たちは、本技術分野において、数年前より戦略的に連携活動を行っている。

CPSを含む3つの時代、いつであっても、システム構築の要となるのは、ソフトウェア開発の技術である。同時に、開発対象システムの特質が異なれば、必要とされる開発技術も変わってくる。すなわち、CPS時代のソフトウェア工学とは如何なる姿を示すべきか、を知ることが重要な課題となってきた。

CPSは現在進行形で形成されつつある巨大な研究領域である。異なる発展経緯を持つ数多くの研究グループの活動が関わる。そのため、統一的な学会活動が存在するというような領域ではない。狭い意味では制御工学の研究に祖を持つグループがあるが、本調査研究の目的は、来るべきCPS時代のソフトウェア工学に対する技術体系を鳥瞰することである。そのために、ソフトウェア系の研究グループに焦点をあてる。

ソフトウェアからみる場合、モデリングと自動検証に技術分野を大きく分けることができる。特に、モデリング記法は標準化と密接に関係することから、産業界の関心が高い。たとえば、SysML、AADL、EAST-ADL2などがある。従来のUMLと異なり、ソフトウェアだけではなく、装置を含むシステム全体のモデリングを可能とするような拡張、工夫がなされている。

CPS時代のモデリング記法の特徴は、装置の特性やリアルタイム性に関わる性質を表現するために、数値制約を明示的に表現することである。これによって、従来からの離散的な性質に加えて連続量の取り扱いが可能となる。まさにCPSの特徴(1)に言及する。一方、このような特徴は、モデル生成物の整合性あるいは妥当性に関する自動検証を難しくする。現在、離散的な状態遷移システムに対するモデル検査法が自動検証の手法として成功を収めている。しかし、連続量を同時に取り扱うことは難しいことが知られている。実際、もっとも一般的な場合は決定不能であることがわかっている。そのため、検査対象システムの特徴を考慮した自動検証方法、あるいは、自動検証よりは取り扱いの容易な検査への適用法などの技術に関する研究活動が活発化している。