研究シーズ2015ソフトウェア科学

自己適応ソフトウェアの分析・設計

鄭 顕志アーキテクチャ科学研究系 助教

研究分野自己適応システム/ソフトウェアアーキテクチャ

研究背景・目的

日常生活にソフトウェアシステムが溶け込んできた昨今、ソフトウェアシステムが稼働する環境は固定的ではなく、実行中に変化するのが当たり前となってきました。例えばモバイルシステムでは通信環境、端末のバッテリ残量、使用している位置などは刻々変化しますし、クラウド上で動作するアプリケーションでは使用している仮想マシンのパフォーマンスにゆらぎがあります。

このような背景のもと、実行時にソフトウェア自身が実行環境の変化を検知し、要求を満たし続けるよう適切に自身を再構成する「自己適応ソフトウェア」に期待が高まり、実用化が始まっています。しかしながら、自己適応ソフトウェアの開発は容易ではありません。自己適応ソフトウェア開発では、従来扱われていた「どう動くか」を決定付けるアプリケーションロジックだけでなく、「どう再構成するか」を決定付ける適応のためのロジックも併せて分析、設計しなければならず、複雑さが増大し、開発、保守が困難になります。我々は、従来のソフトウェア工学の技術をベースとし、複雑な自己適応ソフトウェアをシステマチックに開発するためのソフトウェア分析、設計手法に関する研究を行っています。

研究内容

自己適応ソフトウェアは、アプリケーションロジックを担う「Adaptableソフトウェア」と適応ロジックを担う「Adaptationソフトウェア」から構成されます。このような自己適応ソフトウェア開発を実現するために次の3つの観点から研究を行っています。

(1)Adaptableソフトウェアの分析、設計

ソフトウェアが実行時再構成可能なように開発するために、ソフトウェア分析、設計の各工程において代替的な構成を分析する手法や、実行時に構成変更を可能とするソフトウェアアーキテクチャなどを提案しています。

(2)Adaptationソフトウェアの分析、設計

「Adaptationソフトウェア」は、実行環境を監視し(Monitor)、現在のソフトウェア構成で要求を満たしうるかを分析し(Analyze)、要求を満たしうる代替構成を決定し(Plan)、適応可能ソフトウェアを再構成させる(Execute)責務を持ちます。このような適応ソフトウェアを分析、設計するために、実行時の要求充足判定技術、適切な構成を発見するプランニング技術、適応ソフトウェアのためのフレームワークなどを提案しています。

(3)自己適応ソフトウェアの検証

現在の自己適応ソフトウェアで環境変化に耐えられるのかを検証するために、適応可能ソフトウェア、適応ソフトウェアを含めた検証技術を提案しています。

このような技術を、ウェブシステム、ロボットソフトウェア、センサネットワーク、IoTシステムといった分野を題材として研究しています。

tei_1.jpg

産業応用の可能性

  • 実行時に再構成するソフトウェアの設計、検証技術
  • 世代組み込みソフトウェア(サイバーフィジカルシステム、ロボットソフトウェア、IoTソフトウェア)のためのソフトウェアアーキテクチャ
連絡先

鄭 顕志[アーキテクチャ科学研究系 助教]
http://researchmap.jp/teikenji/
tei[at]nii.ac.jp ※[at]を@に変換してください

Recommend

さらにみる