iot・スマート時代を支える エージェント指向の シ...

59
IoT・スマート時代を支える エージェント指向の システムづくり 国立情報学研究所 石川 冬樹 [email protected] / @fyufyu

Upload: others

Post on 31-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

IoT・スマート時代を支えるエージェント指向の

システムづくり

国立情報学研究所石川 冬樹

[email protected] / @fyufyu

Page 2: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 2

興味:仕様・SLAなど「約束」のモデルを活用ソフトウェア工学,特に形式手法リファインメントの支援・柔軟化・活用産業界での形式手法教育・適用アプリストア利用法の国別調査とエコシステムシミュレーション(共同研究)

サービス指向サービス合成ワークフローの最適化・自己適応Cloud+IoT+BigDataによるスマートシティ実現・実証プロジェクト参加(FP7/H2020 ClouT/BigClouT)

※ ルーツ(学生時代)はエージェント指向

自己紹介と最近のトピック

[ICSOC’09&’10, ICWS’11, WWW’12, TSC’14&’16]

[FM’15, FMSEET’15]

[ABZ’14, ER'16, FM’16]

[TSE’15, TEVC’16]

Page 3: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 3

エージェントIoT/CPSなどの流行(?)

ソフトウェア工学におけるある動向

改めて,エージェントとは何なのか?IoTとかCPSとかスマート○○は,ソフトウェアづくりにどのような課題を投げかけるか?ソフトウェア工学ではどういう対応した動向があるか?これらはどうつながっているか?

※ 様々な動向の一つ・個人的なとらえ方に過ぎません

本日の話題

Page 4: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

改めて,エージェント

2016/9/15 f-ishikawa@JAWS16 4

Page 5: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 5

「(ソフトウェア)エージェント」とは?ユーザの「代理人」となるソフトウェア?自身で判断して動いてくれるソフトウェア?

(自律・autonomousという修飾が付くことも多い)組織としてのレジリエンス,創発的な振る舞い,適応・進化など,生物らしい機能・特徴を持つソフトウェア?擬人化されたキャラクタや物理的なロボットの動作などにより,感情・個性を感じるソフトウェア?環境を検知し対応した振る舞いをとるソフトウェア?・・・

エージェントとは?

[Russell et al., Artificial Intelligence: A Modern Approach (3rd Ed), 2009]

Page 6: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 6

・・・という話はだいぶ昔に落ち着いた

人間・生物に関わる「特性」を何か持つ結局,個々の文脈での定義を明記すべき

エージェントとは?

[Franklin et al., Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents, 1996][Inverno et al., Understanding Agent Systems, 2004][Wooldridge, An Introduction to MultiAgent Systems (2nd Ed.), 2009]

自律性 (Autonomy) 自身で自身の振る舞いを決める

協調性 (Sociality) 他者と相互作用(協力・攻撃)する

知的性 (Intelligence) 状況に応じ,また学習をして賢く振る舞う

反応性 (Reactivity) 環境の変化を検知してそれに応じて行動を決める

自発性 (Proactiveness) 目標のために自身で振る舞いを起動する

持続性 (Continuity) リクエストに対応する処理の間だけ存在するのではなく継続して動作し続ける

・・・ ・・・

Page 7: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 7

「エージェント」にしろその特性「○○性」にしろ,結局しょうもない話は出る例: 永続的に存在して,負荷という環境変化に対応してより多くのタスク処理という目標のための処理を行うサーバデーモンスクリプトはエージェントか?例: Powerpointはユーザ操作という環境変化に反応してユーザの意図に合った処理を行うエージェントか?

結局言葉の定義ではなく特筆すべき特性(差異・価値)がある?というだけ

※ 特徴の説明が大事で「エージェント」って呼ぶ必要はないかも…

特筆すべき,「エージェント」

Page 8: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 8

特筆すべき,「エージェント」(例)

※「特筆すべき」ということは,現状から外延的・相対的に決まるのでは

これがエージェントの研究だよね!

「エージェント」が持つ語感・比喩は便利だね

広告などでは自由だけど,科学技術文書では…

API呼び出しで遠隔の機能を起動する

開発時に合意されたプロトコルに従いリクエストメッセージを送り機能実施の行動をしてもらう

個々が持つ情報を(出し惜しみせず)交換し,全体にとって最適であるよう動作を決めていく

各自がインセンティブを踏まえ動くと,その結果全体が最適になるようなメカニズムを設計する

ロボットやキャラクタが人へのインターフェースに現れる

情報を一箇所に集め,全体にとって最適な個々の動作プランを決めて配布する

ロボットやキャラクタに感情・個性があるように感じる

実行時に動的に決まる相互作用を通して目標達成への協力を得る

ロボットやキャラクタが,自然言語クエリへの回答など知的なインターフェースを提供する

推論・BDI・コミットメント

Affective/Believable

ゲーム理論・メカニズムデザイン

Page 9: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 9

特筆すべき,「エージェント」(例)

※「特筆すべき」ということは,研究の現状から外延的・相対的に決まるのでは※ ただし上記はSystematicな文献レビューでまとめたものではありません

これがエージェントの研究だよね!

「エージェント」が持つ語感・比喩は便利だね

広告などでは自由だけど,科学技術文書では…

API呼び出しで遠隔の機能を起動する

開発時に合意されたプロトコルに従いリクエストメッセージを送り機能実施の行動をしてもらう

分散した情報を交換しながら全体にとって最適であるよう個々が動作を決めていく

各自がインセンティブのために動くと,その結果全体が最適になるようなメカニズムを設計する

ロボットやキャラクタが人へのインターフェースに現れる

情報を一箇所に集め,全体にとって最適な個々の動作プランを決めて配布する

ロボットやキャラクタに情緒・感情や個性があるように感じる

実行時に動的に決まる相互作用を通して目標達成への協力を得る

ロボットやキャラクタが,自然言語クエリへの回答など知的なインターフェースを提供する

バズワード的な使用や,それに対する苦言が

あふれるような流行は終わっている

改めて代表的な研究を見直すと

面白い!すごい!

トップの先端研究はすごい!

(AAMASなど)

そこそこある(査読では多数)

「マイクロサービス」をエージェントで作る

フレームワーク提案!

このスマートシステムはエージェントで作った!

「特筆すべき点」がすごいと名称は気にならない

そうでないと「エージェント」という

語が表面的に感じる

Page 10: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 10

「無難に使える」基盤的技術は他分野へ例: AAMAS 2006(10年前)前後にはセッションがあった Ontology や Trust & Reputationは,Web分野,Social Computing分野などが主戦場に例: 「サービス指向コンピューティング(SOC)のプロローグはMASの過去,MASの更なる発展はSOCの未来」

※ 活用の際には「エージェント」とは呼ばれないことも※ ニーズに対応した活用では,「エージェントらしさ」

をトンガらせる必要はなく,基礎技術で十分なことも

エージェントと他分野(1)

[Hunhs et al., Research Directions for Service-Oriented Multiagent Systems, 2005][石川 et al., 関連分野から見たエージェント技術 - サービスコンピューティング分野を例に, 2013]

Page 11: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 11

トンガリが弱い部分は,「エージェント」と呼ばない人たちこそが競合相手「メッセージングで相互作用する主体からなる分散システムを開発したい」なら,「エージェントプラットフォーム」でなくてもよい例: プログラミング分野の主要会議 SPLASH 併設の

AGERE! Workshop ではActorの話が多い(たまにエージェントフプラットフォームの論文も)

※ AGERE! : Workshop on Programming based on Actors, Agents, and Decentralized Control

エージェントと他分野(2)

Page 12: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 12

「エージェント」のプログラミングモデル・実行アーキテクチャの代表例: BDIBeliefs: エージェントが持つ世界に関する知識Desires: エージェントが達成を望む状態群Intentions: エージェントが達成を目指している状態群

意思決定に影響する「心的状態」の表現に基づき「何を達成するか選ぶ」&「達成のため実行する」

自律性・反応性・自発性(環境の変化・不確かさを踏まえ)

ソフトウェアづくりとエージェント(一例)

[Rao, BDI agents: From theory to practice, 1995][Rao, AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language, 1996]

Page 13: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 13

JasonプログラミングプラットフォームBDIベースの言語 AgentSpeak2004リリース・2016年7月にv2.0

ソフトウェアづくりとエージェント(一例)

[Bordini et al., Programming Multi-Agent Systems in AgentSpeak using Jason, 2007][Jasonツール,http://jason.sourceforge.net/]

+green_patch(Rock): ~battery_charge(low) & .desire(at(_))<- .drop_desires(at(_));

dip.get_coords(Rock, Coords);!at(Coords);!examine(Rock)

.green_patch(Rock)イベントが起きたとき,バッテリ残量が低くなければ,「位置xにいる」という今のDesireを捨てて,「Rockの位置にいる」「Rockを調査する」ゴールを追加

Page 14: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 14

BDIにおいて典型的な思想(一例)世界に関する把握(Beliefs)は,エージェントにより異なるかもしれず,しばしば「確信度」を付与するDesiresのすべてに対し今すぐ達成に向けて実行を開始できる・すべきとは限らないIntentionsの実現に向けたプランの実行中に状況が変わることを想定するプランを起動,実行しても本当にゴールが達成できたかは確認してみないとわからないかもしれない

環境(自身が制御不可能な部分)の不確かさ・変化を想定

ソフトウェアづくりとエージェント(一例)

Page 15: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

IoT/CPS/スマート○○

2016/9/15 f-ishikawa@JAWS16 15

Page 16: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 16

IoT: Internet of ThingsCPS: Cyber-Physical Systemsスマートシティ,ホーム,…「超スマート社会」の実現(Society 5.0)従来は個別に機能していた「もの」がサイバー空間を利活用して「システム化」され、さらには、分野の異なる個別のシステム同士が連携協調する

※ 第5期科学技術基本計画(平成28年1月閣議決定)より

各分野で自分たちの解釈で盛り上がっているが,「ソフトウェアづくり」にはどう影響する?

IoTとかCPSとかスマート○○とか・・・

Page 17: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 17

IoT?

[Google Trends, 2016/9/6]

2年前くらいから上がり最近はbig dataと同等

Page 18: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 18

CERP-IoT (欧州の複数プロジェクトによる総括)“Things” are active participants in business, informationand social processes where they are enabled to interactand communicate among themselves and with theenvironment by exchanging data and information sensedabout the environment, while reacting autonomously tothe real/physical world events and influencing it byrunning processes that trigger actions and create serviceswith or without direct human intervention.

IoT: 定義(例)

[Sundmaeker et al., Vision and challenges for realising the Internet of Things, 2010]

Page 19: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 19

「IoTの動向」に関する論文ありすぎ!Uckelmann, An Architectural Approach Towards the Future Internet of Things, ArchIoT’11Miorandi, Internet of Things: Vision, Applications and Research Challenges, AHN’12Chen, Challenges and Opportunities of Internet of Things, ASPDAC’12Khan, Future Internet: The Internet of Things Architecture, Possible Applications and Key Challenges, FIT’12Gubbi, Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions, FGCS’13Mukhopadhyay, Internet of Things: Challenges and Opportunities, IoT’14Singh, Survey of Internet-of-Things: Future Vision, Architecture, Challenges and Services, WF-IoT’14Xu, Internet of Things in Industries: A Survey, TII’14Whitmore, The Internet of Things̶A survey of topics and trends, ISF’15Li, The internet of things: a survey, ISF’15

ほとんどすべて「物」の内容(Everythingではない)(ID管理,物理的通信手段,無線センサーネットワーク,

異種デバイスへの統一的アクセスなど)「Autonomous/Smartな振る舞いを実現するため」といった記述は多いが,その部分は主題になっていないなお2件が「デバイスの自律管理,管理主体が異なるデバイス間の連携にエージェント」に言及

IoTの動向?

Page 20: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 20

「IoTの動向」に関する論文ありすぎ!Uckelmann, An Architectural Approach Towards the Future Internet of Things, ArchIoT’11Miorandi, Internet of Things: Vision, Applications and Research Challenges, AHN’12Chen, Challenges and Opportunities of Internet of Things, ASPDAC’12Khan, Future Internet: The Internet of Things Architecture, Possible Applications and Key Challenges, FIT’12Gubbi, Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions, FGCS’13Mukhopadhyay, Internet of Things: Challenges and Opportunities, IoT’14Singh, Survey of Internet-of-Things: Future Vision, Architecture, Challenges and Services, WF-IoT’14Xu, Internet of Things in Industries: A Survey, TII’14Whitmore, The Internet of Things̶A survey of topics and trends, ISF’15Li, The internet of things: a survey, ISF’15

ほとんどすべて「物」の内容(Everythingではない)(ID管理,物理的通信手段,無線センサーネットワーク,

異種デバイスへの統一的アクセスなど)「Autonomous/Smartな振る舞いを実現するため」といった記述は多いが,その部分は主題になっていないなお2件が「デバイスの自律管理,管理主体が異なるデバイス間の連携にエージェント」に言及

IoTの動向?

IoTという言葉が現在直接対象とするのは「物」の世界

その先のあらゆる「もの(人やプロセス・世界)」がつながっていくときこそ

ソフトウェアづくりへの大きな影響が発生?

Page 21: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 21

慶應大学徳田先生のご説明(NTTコムウェアWebサイト)より

Ciscoの解説より

参考: IoTの発展

[ https://www.nttcom.co.jp/comware_plus/special/201510_01.html ]

[ http://gblogs.cisco.com/jp/2013/06/iot-and-ioe-bring-us-happy-world/ ]

Page 22: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/12 f-ishikawa 22

ClouT/BigClouTプロジェクト

[ http:/clout-project.eu/ ]

Virtu

alis

atio

nServ

ice m

ashup

end-users, innovators, startups, service providers, SMEs,

legacy devices CIaaSCity Infrastructureas a Service

CPaaS City Platform as a Service

Middleware services

CSaaSCity application Software as a Service

Santander Fujisawa

Genova Mitaka

あらゆる物,Web上の情報,人の持つ情報を仮想化,サービス化してアクセス容易に(IoTのクラウドモデル化)

様々なアプリ構築を支援するプラットフォームを提供

4都市での実証実験1つのアプリの複数都市への展開

日欧9機関+4都市によるFP7プロジェクト

2016年3月ClouTプロジェクト完了7月BigClouTプロジェクト開始

[ http://bigclout.eu/ ]

Page 23: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 23

Edward Lee (2010)Cyber-Physical Systems (CPS) are integrations of computation with physical processes. Embedded computers and networks monitor and control the physical processes, usually with feedback loops where physical processes affect computations and vice versa. As an intellectual challenge, CPS is about the intersection, not the union, of the physical and the cyber.

CPS:定義(例)

[Lee, CPS Foundations, 2010]

Page 24: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 24

CPSについては工学的観点の議論が多いLee, Cyber-Physical Systems - Are Computing Foundations Adequate?, NSF’06Lee, Cyber Physical Systems: Design Challenges, ISORC’08Sha, Cyber-Physical Systems: A New Frontier, SUTC’08Poovendran, Cyber‒Physical Systems: Close Encounters Between Two Parallel Worlds, IEEE’10Rajkumar, Cyber-Physical Systems: The Next Computing Revolution, DAC’10Baheti, Cyber-physical Systems, ICT’11Shi, A Survey of Cyber-Physical Systems, WCSP’11Broy, Engineering Cyber-Physical Systems: Challenges and Foundations, CSCM’12Rajkumar, A Cyber‒Physical Future, IEEE’12Sanislav, Cyber-Physical Systems - Concept, Challenges and Research Areas, JCEAI’12

離散系(ソフトウェア)と連続系(物理世界)を融合「計算機科学の成果を捨てて一から作り直せ」課題として,自律性,激しい変化への対応,人とのインタラクションなどが挙げられている(後述)

※ 産業的・政策的ビジョンとしては計算機科学と他分野の融合による産業開拓

CPSの動向?

Page 25: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 25

「連続系」の扱いに対する注力と進歩

例: differential dynamic logicとその検証

例: 離散モデルと連続モデルのCo-simulationソフトウェアのシミュレーターと連続系シミュレーターを連動

(実装はVDM-RTと20-simの組が中心)

余談:CPSにおける他の重要な影響

[KeYmaeraツール,http://symbolaris.com/info/KeYmaera.html]

[Lee, Cyber-Physical Systems - Are Computing Foundations Adequate?, 2006]

位置mにある信号より手前で止まることができるか

位置xと速度vに関するある制約の下

加速度-bのブレーキをかけその後等加速度運動するとき

従来,状態の代入,逐次実行や分岐などで振る舞いを表現していた部分に常微分方程式も

なおこの例での必要条件はc ≡ v2<=2b(m-x)

x<=m ∧ C(x,v) [a:=-b; (x’=v;v’=a)] x<=m

[Crescendoツール,http://crescendotool.org/]

Page 26: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 26

CPSにおける科学技術のチャレンジ複雑,異種,大規模システムの統合人間とシステムのインタラクション不確かさの扱いシステム性能の測定と検証設計

CPSにおける工学的特性Context awarenessCognitive computationAutonomy

CPSの動向?(例)

[CyPhERS - Cyber-Physical European Roadmap & Strategy ‒ D5.1 CPS: State of Art, 2014]

[NIST, Strategic R&D Opportunities for 21st Century Cyber-Physical Systems, 2013]

米国における推進委員会まとめ

欧州における動向調査プロジェクトにおけるレポート

エージェントっぽい?

Page 27: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 27

ソフトウェアが扱う範囲が広がっている※ 扱う=情報を取得し影響を及ぼす(sense & actuate)何にでも “Programmable” や ”as-a-Service” ,”Software-Defined”がつくクラウドで当たり前になったソフトウェアの影響

資源の利用状況に応じてソフトウェアが決めた価格を皆が用いている(Amazon Web ServiceのSpot Instance)

負荷状況に応じソフトウェアがマシン数を増減する(つまり買い物を代わりにさせている!)ことはいたって普通

終了処理を忘れ(バグ)お金が発生するのは「あるある」

SDNやクラウドはまだ計算機の世界だが・・・さらに物理的な実世界へと範囲・影響が広がる

間違いない動向

Page 28: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 28

ソフトウェアが扱う範囲が広がっている※ 扱う=情報を取得し影響を及ぼす(sense & actuate)何にでも “Programmable” や ”as-a-Service” ,”Software-Defined”がつくクラウドで当たり前になったソフトウェアの影響

資源の利用状況に応じてソフトウェアが決めた価格を皆が用いている(Amazon Web ServiceのSpot Instance)

負荷状況に応じソフトウェアがマシン数を増減する(つまり買い物を代わりにさせている!)ことはいたって普通

終了処理を忘れ(バグ)お金が発生するのは「あるある」

SDNやクラウドはまだ計算機の世界だが・・・さらに物理的な実世界へと範囲・影響が広がる

間違いない動向

Software meets Reality! (慶應大学 徳田先生)

Page 29: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

ソフトウェアづくりの根幹への影響

2016/9/15 f-ishikawa@JAWS16 29

Page 30: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 30

Zave/Jacksonのモデル

マシン(開発の成果物)の仕様 S は,想定環境(ドメインの性質) D の下で,要求 R を満たす“The primary role of D is to bridge the gap between requirements and specifications”発生するアクション(イベント)には区別が必要

environment-controlled か machine-controlled か(制御の可否)shared between environment and machine か unshared か(観測の可否)

「ソフトウェアが何をするか」のそもそも

S, D R

[Zave et al., Four Dark Corners of Requirements Engineering, 1997]

※ 文献によりD(omain Knowledge) はKだったり,E(nvironment) だったり

Page 31: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 31

Zave/Jacksonのモデル(例)ターンスタイルゲート(簡易化&部分的)

R : enterの発生回数は,payの発生回数以下

D : pushとenterは交互にしか起きないlockされているときにはpushは起きない

S : payが起きたらunlock,pushが起きたらlock※ このS は単純すぎる,あくまでイメージ(複数人まとめて払えない?前の人がenterする前にpayすると?)

「ソフトウェアが何をするか」のそもそも

[Zave et al., Four Dark Corners of Requirements Engineering, 1997]

[http://www.fujitaka.com/]

enter environment-controlledunshared

pay environment-controlledsharedpush

lock machine-controlledsharedunlock

Page 32: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 32

モデル検査(状態遷移探索技術)を用い,S , D , R を与えて かどうかを検証する有名なツールの1つLTSA(Labelled Transition System Analyser)S , D を合わせた1つの状態遷移モデルを記述(Finite State Process言語,

数学的にはLabelled transition system)R は(いろいろなインターフェースがあるが)LTL(線形時相論理)式により安全性・活性を表現(○○が常に起きない・○○がいつか起きる)

参考:形式検証してみた場合

S, D R

[ http://www.doc.ic.ac.uk/ltsa/ ][ Magee et al., Concurrency (2nd Ed.), 2006]

Page 33: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 33

モデル検査(状態遷移探索技術)を用い,S , D , R を与えて かどうかを検証するLTSA(Labelled Transition System Analyser)

参考:形式検証してみた場合

S, D R

// D1:pushとenterは交互にしか起きないASSUMPTION__PUSH_ENTER_ALTERNATE = ( push -> enter -> ASSUMPTION__PUSH_ENTER_ALTERNATE ).

...// S:payが起きたらunlock,pushが起きたらlockSPEC = ( pay -> unlock -> push -> lock -> SPEC).

// R:enterの発生回数はpayの発生回数以下COUNTER = COUNTER[0],COUNTER[i:0..N] = ( when (i<N) pay -> COUNTER[i+1] | | when (i>=0) enter -> COUNTER[i-1]

),COUNTER[-1] = ERROR.

Page 34: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 34

Zave/Jacksonのモデル(補足)“Requirements Exist Only in the World”“No statements are made about the proposed machine”

要求工学では,machine-to-beではなくRealityだけを見ているものである(べきという主張)じゃあ “Software meets Reality” は本来では?

「ソフトウェアが何をするか」のそもそも

[Zave et al., Four Dark Corners of Requirements Engineering, 1997]

RD S

World (Environment) Machine

Page 35: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 35

Software did not meet Reality?今までは S は R に対して部分的・間接的・補助的で,R の大半はマシンの外で人が扱っていたのかも例: 備品予約管理ソフトウェア

画面上の予約状況を踏まえ,人が備品を取得,運搬,利用予約状況を見て,システムに登録せず備品を使ってしまう

( R 「突発タスクに対応」だが「利用状況を把握」不成立)R 「アクセス権限がない人は使えない」の成立は,

D 「システム上で確保できている人だけが使う」に大きく依存

備品の物理的ロック・運搬までマシンに含まれたら?R に対し S の責任が増え S の妥当性がクリティカルに

Software meets Reality?

Page 36: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 36

Software did not meet Reality?今まではS , D , R に関する議論の範囲・確実性が限られていたのかも例: 先ほどのターンスタイル備品予約管理ソフトウェア

R が成り立たない状況はある程度尽くすことができる「D: pushとenterは交互にしか起きない」を崩すのは?

1 pushで2人以上enterする? 乗り越えてenter?

自動運転制御のソフトウェアでは?R の成立に関わる D ,そもそも R 自体も列挙が困難,それにもかかわらず,S が R の成立を保証することが求められる?

Software meets Reality?

Page 37: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 37

特筆すべき,”Software meets Reality!”

対象とする世界が広がりより深くRealityに踏み込む!Reality扱ってるのは嘘ではないけど

RD S

World (Environment) Machine

RD S

World (Environment) Machine

「扱う」「扱わない」の境界も不明確に

対象とする領域が拡大

マシンの責任拡大

Page 38: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 38

“Future software engineering research should focus on providing intelligent support to software at run-time”“Models need to continue to live at run-time and evolve as changes occur while the software is running”“Many emerging application scenarios, which are subject to continuous changes in the requirements and in the environment, and which require rapid adaptation to such changes”

動向を示す言葉(1)

[Baresi et al., The Disappearing Boundary Between Development-time and Run-time, 2010]

文献タイトルにも注目

Page 39: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 39

“Increasingly systems to operate in contexts that are volatile over short periods in ways that are imperfectly understood”“Run-time reasoning over requirements is necessary where design-time decisions about the requirements are made on incomplete and uncertain knowledge about the domain and the stakeholders’ goals”“Uncertainty level 3: it is feasible to construct future scenarios but these are mere possibilities and are unlikely to be exhaustive”

動向を示す言葉(2)

[Sawyer et al., Requirements-Aware Systems - A research agenda for RE for self-adaptive systems, 2010]

文献タイトルにも注目

Page 40: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 40

動向を示す言葉(2)

[Sawyer et al., Requirements-Aware Systems - A research agenda for RE for self-adaptive systems, 2010]

Page 41: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 41

“A particularly challenging problem concerns the complexity that arises from the wealth of informationthat can be associated with runtime phenomena”“the models should represent the system and should be linked in such a way that they constantly mirror the system and its current state and behavior“a runtime model can be seen as a live development model that enables dynamic evolution and the realization of software designs “

動向を示す言葉(3)

[Blair et al., [email protected], 2009]

文献タイトルにも注目

Page 42: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 42

実行時にもS , D , R のモデル上での議論を継続し,MAPEループMonitorAnalyzePlanExecute

ソフトウェア自身が変化に対応して S を変更自己適応(self-adaptation)

要は・・・

S, D’ R?

S, D’ R

S’, D’ R☑

[鄭 et al.,自己適応ソフトウェアのための自己適応性設計に関する研究動向, 2014]

Page 43: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 43

ここ10年くらいの話・まだやることが多いわかりやすいコミュニティは以下SEAMS: International Symposium on Software Engineering for Adaptive and Self-Managing Systems今年で11回目・ICSE併設 ICSE 歴代General chairsの集まりみたいになっている

MRT: [email protected] Workshop今年で12回目・MODELS併設(今年はICACでも併設)

※ 今年はWF-IoT併設でのワークショップ新設もMARTCPS: Models at Runtime & Networked Control for CPS

※ ICSEなどでも個別に多くの論文がある

コミュニティ

[ http://seams2016.jgreen.de/ ]

[ http://st.inf.tu-dresden.de/MRT/ ]

[ https://sites.google.com/a/rigiresearch.com/martcps/ ]

Page 44: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

ソフトウェア工学分野における一例

2016/9/15 f-ishikawa@JAWS16 44

Page 45: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 45

DARPA Broad Agency Announcement:Evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible

2nd SefSAS (Dagstuhl Seminar on Software Engineering for Self-Adaptive System) Report:Able to modify their behavior and/or structure in response to their perception of the environment and the system itself, and their goals

改めて,自己適応とは?

Page 46: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 46

自己適応?

想定する様々な変化に対して対応動作が用意されている!

例:ロボットに対して障害物がP(x, y) の位置にあるかもしれないので,それを検出した場合には避けて進むように設計しておく

Page 47: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 47

特筆すべき,「自己適応」(一例)

設計時には予期できなかった変化を扱える!

想定する様々な変化に対して対応動作が用意されている!

(けっこう大きな壁)

例:ロボットの「前に進む」動作の実行結果が「右に移動した」になる(実行の効果はuncontrollableな

D の範囲だと見なしている)→ 動作の制御をその場で作り直す

Page 48: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 48

モデル検査S , D , R を与えて かどうかを検証する

有名なツールの1つLTSA(Labelled Transition System Analyser)S , D を合わせた1つの状態遷移モデルを記述(Finite State Process言語,

数学的にはLabelled transition system)R は(いろいろなインターフェースがあるが)LTL(線形時相論理)式により安全性・活性を表現(○○が常に起きない・○○がいつか起きる)

背景: モデル検査(再掲)

S, D R

[ http://www.doc.ic.ac.uk/ltsa/ ][ Magee et al., Concurrency (2nd Ed.), 2006]

Page 49: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 49

Controller SynthesisD , R を与えて S を得るD として与えられた環境の振る舞いの可能性の下で,必ず R を満たすことができるような SS , D , R と変化後の D’ , R’ を与えて S’ を得る場合はUpdate Controller Synthesis

LTSAの拡張版MTSAツールに実装MTSA: Modal Transition System Analyser言語としては,controllableなアクションを区別するように拡張されている

最近の研究: Controller Synthesis

[D’Ippolito et al., Synthesis of Live Behaviour Models, FSE 2010][Braberman et al., Controller Synthesis: From Modelling to Enactment, ICSE 2010]

Page 50: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 50

[email protected]の実装:このような設計モデルをコンポーネントの制御器と見なして解釈実行ている

実行システムとのリンクモデルと実際のずれの検出例: 「前に動く」の結果「右に移動する」こともある書き換えた制御フローをそのまま解釈実行

最近の研究: Controller Synthesis

[Braberman et al., Controller Synthesis: From Modelling to Enactment, ICSE 2010]

Page 51: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 51

S が得られるように R を妥協するような研究もR はLTL式の集合で,その中の一部の成立を断念するD が厳しい(例えば特定の行為が全く成功しない)場合には R を妥協していくことになる

※ simulates関係(該当する遷移があること)が必要なのは,動作中に切り替えるため

最近の研究: Controller Synthesis

[D’Ippolito et al., Hope for the Best, Prepare for the Worst: Multi-tier Control for Adaptive Systems, ICSE 2014 ]

Page 52: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 52

前スライドでの論文における例: warehouse商品の供給地点,ストック地点,配達地点がある

最近の研究: Controller Synthesis

[D’Ippolito et al., Hope for the Best, Prepare for the Worst: Multi-tier Control for Adaptive Systems, ICSE 2014 ]

• 全商品はいずれストック地点に到達• ストック地点の全ストレージスロットは

正しい在庫数を報告• 詰まってしまわない• ロボットは全領域間を正しく移動可能

• ある商品はいずれストック地点に到達• ストック地点のあるストレージスロットは

正しい在庫数を報告• 詰まってしまわない• ロボットは全領域間を正しく移動可能

全注文において,全商品が配達され続ける

何かの商品が配達され続ける

D R

Page 53: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 53

Sebastian Uchitel(ブエノスアイレス)らのグループが中心ICSE 2017 General Chair制御理論の影響も大ついにこんな全体像に

SEAMS 2016でのキーノート資料(150ページ!):http://lafhis.dc.uba.ar/users/~suchitel/SEAMSKeynote.key.pdf

最近の研究: Controller Synthesis

[Braberman et al., MORPH: A Reference Architecture forConfiguration and Behaviour Self-Adaptation, CTSE 2015 ]

これもうエージェント

アーキテクチャでは?

Page 54: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

おわりに

2016/9/15 f-ishikawa@JAWS16 54

Page 55: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 55

一見全く異なり別方向に向かっていそうな「エージェント」と「ソフトウェア工学」今回話題に出した具体例BDIエージェントとController Synthesis「環境を見て適宜,達成するゴール・要求を決め,そのための振る舞いを導出し,実行」

今はおそらくコミュニティとしてはだいぶ別ただし「エージェントをやっていた人」はSEに多い

SE ,AI,ビッグデータ,制御理論,社会学,…周りを見渡すと融合の必要性・可能性の話ばかり!

ソフトウェア工学の研究・エージェントの研究

Page 56: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 56

Controller SynthesisなどのSE分野のアプローチ

プランニング・BDIなどのAI分野のアプローチ

不整合を起こさないことが中心だったが(安全性),

近年活性を効率的に扱う技術も発展

ゴールの達成が重要(活性)

時相論理式の形ごとのアルゴリズム

ヒューリスティックによるアルゴリズム

今は中央集権的手法が中心多レイヤー・多システムの

連携自己適応は重要チャレンジとされている

マルチエージェントでは(競争的かもしれない)複数の主体が基本前提

ソフトウェア工学の研究・エージェントの研究

補完する?(少なくとも左の人たちは右を取り込み始めた)

Page 57: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 57

「エージェント」は広い言葉自身の立ち位置を明確に

自分が実現しようとしている目指す特性(=すごさ)は何なのか?人間・生物らしさなどの「トンガリ」やその活用を追求するエージェント研究?そこまででもなく,「エージェントらしさ」の気持ちを持ってニーズや応用に向き合う研究?

※ この場合「エージェント」という言葉でごまかさない,主戦場・ライバルを見落とさないように!

まとめ(1)

JAWSは広く受け入れてくれ,交わるチャンスをくれる場

Page 58: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

2016/9/15 f-ishikawa@JAWS16 58

「エージェントらしさ」への需要は非常に高い(IoT/CPS/…)具体例: 「不確かな世界(環境)の変化に実行時に自動的に対応する」ソフトウェア工学の動向

皆さんもぜひそれぞれの「エージェントらしさ」を追求していただきたい人間的・生物的なトンガリの追求話は楽しい・面白い!一方,ニーズ・応用を見据えるなら,「エージェントらしさ」のトンガリは不要なことが多く,他分野の焦点・ライバルを見据える必要がある

まとめ(2)

横断・融合

Page 59: IoT・スマート時代を支える エージェント指向の シ …f-ishikawa/work/files/2016...2016/09/15  · IoT・スマート時代を支える エージェント指向の

ご清聴ありがとうございました!

2016/9/15 f-ishikawa@JAWS16 59