Dynamic Self-Adaptive Software Technology Using...

17
Dynamic Self-Adaptive Software Technology Using Collective Intelligence Center for Autonomous and Adaptive Software (CAAS) Korea University Hoh Peter In Sep. 9 2013 Engineering Adaptive Software Systems (EASSY) 2013

Transcript of Dynamic Self-Adaptive Software Technology Using...

Page 1: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Center for Autonomous and Adaptive Software (CAAS)Korea University

Hoh Peter In

Sep. 9 2013

Engineering Adaptive Software Systems (EASSY) 2013

Page 2: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Content

Engineering Adaptive Software Systems (EASSY)

Introduction

Challenges

Our Focus

Proposed Work

Q / A

Page 3: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Engineering Adaptive Software Systems (EASSY)

Introduction ─ IT Ecosystem

VS

iriver iPod

iWatchAppStore

iCloud

Apple TV

ECO System

Collaboration

Collaboration, Participation, Sharing, …

3

Page 4: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Engineering Adaptive Software Systems (EASSY)

Introduction ─ Mega Ecosystem

Disaster Relief

(Eco-System)

Smart Home(Eco-System)

Robot(Eco-System)

CarEco-System

MedicalEco-System

Firewatching

Emergency patient

Monitering firn regime/Extinguish the fire

Context report/First aid Check patient’s condition/

Inquiry of medical records

Assinge hospital/Prepare emergency

Embulance movingusing GPS, UTISAmbulance

4

Page 5: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Engineering Adaptive Software Systems (EASSY)

Challenges

VS.

Vulnerability due to dynamic changes

Increasing complex and diverse systems

(SoS)

SE support for AdaptizationSoftware Engineering methodology and tools

To transform from existing non-adaptable software to adaptable software systematically

5

Limits of human intervention

Solution Approach

Page 6: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Research Trends/Focus

Current Research Our Research Focus

• One Robot / Homogeneous • Multiple Robots / Heterogeneous

• Centralized Decision • Distributed Decision

• Simple Knowledge Based (Syntactic) • Ontological Knowledge Based (Semantic)

• Adaptive System • Adaptive System of Systems

• Ad-hoc Design • AdaptizationSW-D

rive

nSy

stem

-Dri

ven

6 Engineering Adaptive Software Systems (EASSY)

Page 7: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Collaboration & Cooperation Model Negotiation Model Self-Adaptive system for

heterogeneous systems/robots

Our Focus: Heterogeneous

Self-Adaptive Mechanism for Multiple Robots(Systems) Interaction among systems

Knowledge interoperability between heterogeneous systems/robots Data interoperability

Multiple Robots / Heterogeneous

Single Processing Self-Adaptive system for single

system (homogeneous)

Extension

Interaction /Collaboration

7 Engineering Adaptive Software Systems (EASSY)

Single Processing Self-Adaptive system for single

system (homogeneous)

One Robot / Homogeneous

Page 8: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Distributed Decision

Our Focus: Distributed

8 Engineering Adaptive Software Systems (EASSY)

Distributed Info. Multi-Modal Model

Distributed Decision

Single Processing Self-Adaptive system for single

system (homogeneous)

Extension

Centralized Info.

Centralized Decision

Interaction /Collaboration

movement sensing

sound sensing

Acting

Page 9: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Our Focus: Semantic KB

Ontological KB Expression power sophisticated reasoning Reuse of knowledge means of communication in SoS Interoperability support overcome heterogeneity

9 Engineering Adaptive Software Systems (EASSY)

Distributed KB/Info.(Decentralized Approaches for Self-Adaptation in Agent Organizations, TAAS, 2012)

Partial KB

Ontological Knowledge Based(Semantic)

Single Processing Self-Adaptive system for single

system (homogeneous)

Extension

Centralized KB/Info. Full KB

Simple Knowledge Based(Syntactic)

Page 10: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Adaptive System of Systems (SoS) Using Collective Intelligence Model for Interoperability, Communication, Cooperation, Collaboration

Our Focus: System of Systems

10 Engineering Adaptive Software Systems (EASSY)

Approach to dynamic adaptive product line

Adaptive System of Systems

Single Processing Self-Adaptive system for single

system (homogeneous)

Extension

Approach to Single robot / one adaptive system

Adaptive System

Systems: GroupSystem

System

Page 11: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Adaptization Transform existing non-adaptable software to adaptable software by providing

methodology and tools

Our Focus: Adaptization

11 Engineering Adaptive Software Systems (EASSY)

Changing and evolution that non-adaptive robot, not-adaptive SW (ad-hoc model) to supporting adaptive SW

Adaptization

Single Processing Self-Adaptive system for single

system (homogeneous)

Extension

Ad-hoc model and design for system / robot

Ad-hoc Design

Adaptization Mechanism

Page 12: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Engineering Adaptive Software Systems (EASSY)

Dynamic self-adaptive software technology using collective intelligence

Proposed Work

Adaptive Middleware / Platform

Variation Candidate· Weather?· Time?· Location?· etc.

Adaptation Degree Evaluation

Adaptization Strategy / Plan

Validation

Adaptation Variation Detection

Pattern-basedAdaptized

Model Generator

Variation KB (ontology) Strategy: Each

Adaptive pattern

ReverseEngineering

Implementation

Validated Model

ExecutableModel

Variation extraction

Adaptized Model (skeleton) with Added Adaptable Variations

Designmodel(X)

BookingSystem

Model of Non-Adaptable SW

1

2 3

4 5

67

Design model / Model scheme / Req. Doc. (O)

Adaptation Variation Point :Adaptation Degree = 1 Variation: GPS

Adaptation Variation Point :Adaptation Degree = 4Variation: GPS, Weather, Time, Location

Run8

12

Page 13: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Adaptive Middleware / Platform

Variation Candidate· Weather?· Time?· Location?· etc.

Adaptation Degree Evaluation

Adaptization Strategy / Plan

Validation

Adaptation Variation Detection

Pattern-basedAdaptized

Model Generator

Variation KB (ontology) Strategy: Each

Adaptive pattern

ReverseEngineering

Implementation

Validated Model

ExecutableModel

Variation extraction

Adaptized Model (skeleton) with Added Adaptable Variations

Designmodel(X)

BookingSystem

Model of Non-Adaptable SW

1

2 3

4 5

67

Design model / Model scheme / Req. Doc. (O)

Adaptation Variation Point :Adaptation Degree = 1 Variation: GPS

Adaptation Variation Point :Adaptation Degree = 4Variation: GPS, Weather, Time, Location

Run8

Engineeging Adaptive Software Systems (EASSY)

A research on situation-aware based self-adaptive software system modeling and monitoring

Proposed Work ─ Issues 1

Reverse Engineering- Integrated automation tool for detecting Self-Adaptive Monitoring Factor

Adaptation Degree Evaluation- Extended situation-aware and system modeling language.- Developing a quantitative and reasonable evaluation method of non-adaptable software or

converted self-adaptive software as adaptation level Adaptation Variation Detection

- To define self-adaptive services and match it with self-adaptive monitoring factor in currentself-adaptation level of the non-adaptable software13

Page 14: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Adaptive Middleware / Platform

Variation Candidate· Weather?· Time?· Location?· etc.

Adaptation Degree Evaluation

Adaptization Strategy / Plan

Validation

Adaptation Variation Detection

Pattern-basedAdaptized

Model Generator

Variation KB (ontology) Strategy: Each

Adaptive pattern

ReverseEngineering

Implementation

Validated Model

ExecutableModel

Variation extraction

Adaptized Model (skeleton) with Added Adaptable Variations

Designmodel(X)

BookingSystem

Model of Non-Adaptable SW

1

2 3

4 5

67

Design model / Model scheme / Req. Doc. (O)

Adaptation Variation Point :Adaptation Degree = 1 Variation: GPS

Adaptation Variation Point :Adaptation Degree = 4Variation: GPS, Weather, Time, Location

Run8

Engineeging Adaptive Software Systems (EASSY)

Collective intelligence-based self-diagnosis for problem analysis

Proposed Work ─ Issues 2

Variation KB- Supporting Collective Intelligence by using Variation KB- Building and registration process for variation KB based on ontologies- develops methodology of ontology sharing and administration based on an ontology registry

Adaptization Strategy/Plan- Strategy and plan for identity self-adaptive factor required for convertingform existing non adaptable software to adaptable software supporting

14

Page 15: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Adaptive Middleware / Platform

Variation Candidate· Weather?· Time?· Location?· etc.

Adaptation Degree Evaluation

Adaptization Strategy / Plan

Validation

Adaptation Variation Detection

Pattern-basedAdaptized

Model Generator

Variation KB (ontology) Strategy: Each

Adaptive pattern

ReverseEngineering

Implementation

Validated Model

ExecutableModel

Variation extraction

Adaptized Model (skeleton) with Added Adaptable Variations

Designmodel(X)

BookingSystem

Model of Non-Adaptable SW

1

2 3

4 5

67

Design model / Model scheme / Req. Doc. (O)

Adaptation Variation Point :Adaptation Degree = 1 Variation: GPS

Adaptation Variation Point :Adaptation Degree = 4Variation: GPS, Weather, Time, Location

Run8

Engineeging Adaptive Software Systems (EASSY)

Development of a technique for self-growing adaptation strategy based on collective intelligence

Proposed Work ─ Issues 3

Adaptization Strategy / Plan- expand and patterned the technology for policy-based self-adaptation- To support high efficiency strategy construction based on variation KB (Ontology)

Validation …- how do we guarantee for self-reconfiguration and self-diagnosis

15

Page 16: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Engineering Adaptive Software Systems (EASSY)Adaptive Middleware /

Platform

Variation Candidate· Weather?· Time?· Location?· etc.

Adaptation Degree Evaluation

Adaptization Strategy / Plan

Validation

Adaptation Variation Detection

Pattern-basedAdaptized

Model Generator

Variation KB (ontology) Strategy: Each

Adaptive pattern

ReverseEngineering

Implementation

Validated Model

ExecutableModel

Variation extraction

Adaptized Model (skeleton) with Added Adaptable Variations

Designmodel(X)

BookingSystem

Model of Non-Adaptable SW

1

2 3

4 5

67

Design model / Model scheme / Req. Doc. (O)

Adaptation Variation Point :Adaptation Degree = 1 Variation: GPS

Adaptation Variation Point :Adaptation Degree = 4Variation: GPS, Weather, Time, Location

Run8

Development weaving adaptive pattern into non-adaptable software and middleware

Proposed Work ─ Issues 4

Reverse Engineering- To convert from non-adaptable software to self-adaptable software

by reverse engineering techniques. Weaving Pattern model

- Researching reverse engineering for weaving adaptive pattern into non-adaptable software for adaptive software.

Middleware for Self-Adaptive Software- IDE for right middleware

- Variation KB based self-adaptive to the assurance reconfiguration and managing

16

Page 17: Dynamic Self-Adaptive Software Technology Using …webhome.cs.uvic.ca/~hausi/EASSy2013/Hoh-Peter-In-Shonan...Dynamic Self-Adaptive Software Technology Using Collective Intelligence

Q / A

Thank You

For Your Attention !

Hoh Peter [email protected]://embedded.korea.ac.kr