1
自分を変えるソフトウェアのつくりかた 連絡先:鄭顕志/ 国立情報学研究所 アーキテクチャ科学研究系 准教授 Email : [email protected] Web : http://researchmap.jp/teikenji 状況設定 自己適応ソフトウェアのための ソフトウェア開発プロセス 実行時に起こる環境の変化にソフトウェアはどのようにして 耐えるのでしょうか? 自己適応ソフトウェアは,(1)利用環境の変化を検知し,(2)ど のような変更が必要かを決定し,(3)自分自身を変更する機能 を予めソフトウェア自身に組み込むことによって,実行時の変 化に可能な限り耐えるよう自動で動作します. 本発表では,このような自己適応ソフトウェアのつくり方 (分析・設計)に関する研究を紹介します. 研究内容 どんな研究? 何がわかる? 自己適応ソフトウェア開発では,ソフトウェアが提供する機能 を表す”アプリケーションロジック”に加え,変化に対してソフト ウェアをどのように変更するかを表す”適応ロジック”を開発す る必要があります.本研究では,”アプリケーションロジック”を 実現するための従来のソフトウェアのつくり方を拡張し, ”適応ロジック”の実現も含めた,自己適応ソフトウェアのつく り方を明らかにします. 鄭 顕志 (国立情報学研究所), 末永 俊一郎 (国立情報学研究所), 高橋 竜一(早稲田大学) 相澤 和也(早稲田大学), 片江 将希(早稲田大学), 田邉 萌香(早稲田大学) 自己適応ソフトウェア 適応 ソフトウェア 適応可能な ソフトウェア 変更 観測 どう動く? (アプリケーションロジック) どう適応させる? (適応ロジック) 自己適応 ソフトウェア 観測 変更 アプリケーションロジックと 適応ロジックが渾然一体 作りにくく,直しにくい Internalアプローチ (従来の構成) Externalアプローチ (モダンな構成) アプリケーションロジックと 適応ロジックを分離 作りやすく,直しやすい 自己適応ソフトウェア 自分自身で 環境にあうように行動をかえる ロボット IoT/ユビキタス サービス指向/ クラウドシステム モバイルシステム 自己適応ソフトウェアとは? 自己適応ソフトウェアの構成 このようなソフトウェア をどうつくる? 正しさが保証された適応を行う自己適応ソフトウェア開発 ベースとなる技術 離散制御器合成技術 要素技術 実行時更新の制御 プロジェクトマネジメントの技法を応用した 適応ソフトウェア開発 Development Time Requirement Resources Price of Resources APIs Analysis /Setting Process PV Thresholds Convertible Data Action Table Conversion Equations Selfadaptation Engine Runtime Adaptable Application PV Thresholds Action Table Conversion Equations Status ID Convertible Data EV, AC API Action nalyze P lan M onitor E xecute プロジェクトマネジメントのプロセ スをした計画(PV)の作成 EVM(Earned Value Management)による実績の把握 EVMをいた状況の分析(SPI, CPI)と分析結果の通知 分析結果に基づく アクションの選択 分析・設計プロセスにより構 築された適応フレームワーク EVMを利用したDBCアプリケーションのための適応フレームワーク 末永 俊一郎,鄭 顕志 情報処理学会論文誌, Vol.56(No.5), 201505Project Management Inspired Framework for AcKon SelecKon in Wireless Sensor Networks Shunichiro Suenaga, Kenji Tei Asia Pacific Conference on Wireless and Mobile 2014 (APWiMob2014), August 2014 形式的に定義環境モデルと要求モデルから, 要求を満たすように環境を制御する ソフトウェア仕様を自動で導出 ソフトウェアの 動作仕様 環境 観測 作用 要求 xxがいつかは成り立つ yyが常に成り立つ 決してzzしない 離散制御器合成とは 環境 要求 xxがいつかは成り立つ yyが常に成り立つ 決してzzしない 合成器 ソフトウェアの 動作仕様 現在の振舞モデル 新しい振舞モデル 現在の 環境モデル 更新された 環境モデル 実行時 更新 [現在の振る舞い]から[新しい振る舞い]への実行時更新を ``正しく’’行うソフトウェアを自動生成 全体を``アップデートのための環境モデルとして表し, 離散制御器合成を用いて,アップデートを行う``正しく行うソフトウェアを自動生成 通常はソフトウェアの動作仕様を 注意深く,人手で決定 正しさが保証された 動作仕様を自動導出 要素技術 環境モデルの実行時更新 現在の 環境モデル 更新された 環境モデル 実行履歴 システムの実行履歴に基き環境の変化を検知し 環境モデルを更新 update 仮説形成の技術を用いて,実行履歴を説明可能な 有力な仮説を発見し,環境モデルを更新 研究のアプローチ 離散制御器合成技術を用いた自己適応ソフトウェア開発 コントローラ [email protected] プラットフォーム コンポーネント群 ... orchestrate 合成器 環境モデル 更新 仕様モデルの 実行時更新 更新された 環境モデル ... 要求モデル 更新された 振舞モデル 変更 観測 正しい振舞モデルを解釈 実行し,コンポーネント群 orchestraKon システムの実行履歴 から環境変化を検知し 環境モデルを更新 不具合が発生しない タイミングで新しい 振舞モデルに切り替え 応用事例 小型飛行ロボットで机や階段等を清掃 飛んでどんな 段差も越えられる 小型なので 電池容量が少ない 拭き掃除 +ほこり飛ばし 長所短所の異なる通常/節電モードを準備 状況に応じて切り替えて清掃 台車型ロボットを用いた運送タスク 障害物による移動の失敗荷物の受け渡しの失敗が起きうる 出発地 配達地 出発地より配達地に向かい、 荷物を受け取ったら戻ってくる 状況に応じて移動経路や順番,荷物の受け 取り方を変更して運送タスクを完了する 離散制御器合成を用いて 正しいコントロラー仕様を 導出 鄭 顕志ら,"自己適応ソフトウェアのための自己適応性設計に関する研究動向", コンピュータソフトウェア, 31(1), 20142

自分を変えるソフトウェアのつくりかた 自己適応ソフトウェ …離散制御器合成を用いて, ”正しいコントロラー仕様を 導出 鄭 顕志ら,"自己適応ソフトウェアのための自己適応性設計に関する研究動向",コンピュータソフトウェア,31(1),2014年2月

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 自分を変えるソフトウェアのつくりかた

    連絡先:鄭顕志/ 国立情報学研究所 アーキテクチャ科学研究系 准教授

    Email : [email protected] Web : http://researchmap.jp/teikenji

    状況設定

    自己適応ソフトウェアのための

    ソフトウェア開発プロセス

    実行時に起こる環境の変化にソフトウェアはどのようにして


    耐えるのでしょうか?

    自己適応ソフトウェアは,(1)利用環境の変化を検知し,(2)ど

    のような変更が必要かを決定し,(3)自分自身を変更する機能

    を予めソフトウェア自身に組み込むことによって,実行時の変

    化に可能な限り耐えるよう自動で動作します.


    本発表では,このような自己適応ソフトウェアのつくり方


    (分析・設計)に関する研究を紹介します.

    研究内容

    どんな研究? 何がわかる?自己適応ソフトウェア開発では,ソフトウェアが提供する機能

    を表す”アプリケーションロジック”に加え,変化に対してソフト

    ウェアをどのように変更するかを表す”適応ロジック”を開発す

    る必要があります.本研究では,”アプリケーションロジック”を

    実現するための従来のソフトウェアのつくり方を拡張し,


    ”適応ロジック”の実現も含めた,自己適応ソフトウェアのつく

    り方を明らかにします.

    鄭 顕志 (国立情報学研究所), 末永 俊一郎 (国立情報学研究所), 高橋 竜一(早稲田大学)

    相澤 和也(早稲田大学), 片江 将希(早稲田大学), 田邉 萌香(早稲田大学)

    Self-adaptive Software

    自己適応ソフトウェア

    適応 ソフトウェア

    適応可能な ソフトウェア

    変更観測

    どう動く? (アプリケーションロジック)

    どう適応させる? (適応ロジック)

    自己適応 ソフトウェア

    観測

    変更

    アプリケーションロジックと 適応ロジックが渾然一体 → 作りにくく,直しにくい

    Internalアプローチ  (従来の構成)

    Externalアプローチ  (モダンな構成)

    アプリケーションロジックと 適応ロジックを分離

    → 作りやすく,直しやすい

    自己適応ソフトウェア自分自身で

    環境にあうように行動をかえる

    ロボット

    IoT/ユビキタス

    サービス指向/  クラウドシステム モバイルシステム

    自己適応ソフトウェアとは? 自己適応ソフトウェアの構成

    このようなソフトウェアをどうつくる?

    “正しさ”が保証された適応を行う自己適応ソフトウェア開発ベースとなる技術  

    離散制御器合成技術

    要素技術  実行時更新の制御

    プロジェクトマネジメントの技法を応用した適応ソフトウェア開発

    Development    TimeRequirement

    Resources

    Price  of  Resources

    APIs

    Analysis  /Setting  Process

    PV

    Thresholds

    ConvertibleData

    Action  Table

    ConversionEquations

    Self-‐‑‒adaptation  EngineRuntime

    Adaptable  Application

    PV

    ThresholdsAction  Table

    ConversionEquations

    Status  ID

    ConvertibleData

    EV,  AC

    API

    Action

    Analyze Plan

    Monitor Execute

    プロジェクトマネジメントのプロセスを利利⽤用した計画(PV)の作成

    EVM(Earned  Value  Management)による実績の把握

    EVMを⽤用いた状況の分析(SPI,CPI)と分析結果の通知

    分析結果に基づくアクションの選択

    適⽤用例例

    分析・設計プロセスにより構築された適応フレームワーク

    EVMを利用したDBCアプリケーションのための適応フレームワーク末永 俊一郎,鄭 顕志情報処理学会論文誌,  Vol.56(No.5),  2015年05月

    Project  Management  Inspired  Framework  for  AcKon  SelecKon  in  Wireless  Sensor  Networks  Shunichiro  Suenaga,  Kenji  Tei  Asia  Pacific  Conference  on  Wireless  and  Mobile  2014  (APWiMob2014),  August  2014  

    形式的に定義環境モデルと要求モデルから,要求を満たすように環境を制御する  ソフトウェア仕様を自動で導出  

    ソフトウェアの  動作仕様

    環境

    観測

    作用

    要求

    xxがいつかは成り立つyyが常に成り立つ決してzzしない

    離散制御器合成とは

    環境

    要求

    xxがいつかは成り立つyyが常に成り立つ決してzzしない

    合成器

    ソフトウェアの  動作仕様

    現在の振舞モデル 新しい振舞モデル現在の  環境モデル

    更新された  環境モデル

    実行時更新

    [現在の振る舞い]から[新しい振る舞い]への実行時更新を  ``正しく’’行うソフトウェアを自動生成  

    全体を``アップデートのための環境モデル”として表し,  離散制御器合成を用いて,アップデートを行う``正しく”行うソフトウェアを自動生成

    通常はソフトウェアの動作仕様を  注意深く,人手で決定

    正しさが保証された 動作仕様を自動導出

    要素技術  環境モデルの実行時更新

    現在の  環境モデル

    更新された  環境モデル

    実行履歴

    システムの実行履歴に基き環境の変化を検知し  環境モデルを更新  

    update

    仮説形成の技術を用いて,実行履歴を説明可能な  有力な仮説を発見し,環境モデルを更新  

    研究のアプローチ  離散制御器合成技術を用いた自己適応ソフトウェア開発

    コントローラ

    [email protected]  プラットフォーム

    コンポーネント群

    ...orchestrate

    合成器

    環境モデル  更新

    仕様モデルの  実行時更新

    更新された  環境モデル

    ...

    要求モデル

    更新された振舞モデル

    変更  観測  

    正しい振舞モデルを解釈実行し,コンポーネント群

    をorchestraKon

    システムの実行履歴  から環境変化を検知し  

    環境モデルを更新

    不具合が発生しない  タイミングで新しい  

    振舞モデルに切り替え

    応用事例

    小型飛行ロボットで机や階段等を清掃  

    飛んでどんな  段差も越えられる  

    小型なので  電池容量が少ない  

    拭き掃除  +ほこり飛ばし  

    長所・短所の異なる通常/節電モードを準備  状況に応じて切り替えて清掃  

    台車型ロボットを用いた運送タスク  

    障害物による移動の失敗や  荷物の受け渡しの失敗が起きうる  

    出発地

    配達地

    出発地より配達地に向かい、  荷物を受け取ったら戻ってくる  

    状況に応じて移動経路や順番,荷物の受け取り方を変更して運送タスクを完了する  

    離散制御器合成を用いて  ”正しい”コントロラー仕様を

    導出

    鄭 顕志ら,  "自己適応ソフトウェアのための自己適応性設計に関する研究動向",  コンピュータソフトウェア,  31(1),  2014年2月