Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation Dynamic - - PowerPoint PPT Presentation

dynamic adaptation dynamic adaptation dynamic adaptation
SMART_READER_LITE
LIVE PREVIEW

Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation Dynamic - - PowerPoint PPT Presentation

Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation Minema Minema Winter School 2009 Minema Minema Winter School 2009 Winter School 2009 Winter School 2009 Minema Minema Minema Minema Winter School 2009 Winter


slide-1
SLIDE 1

Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation

Minema Minema Minema Minema Winter School 2009 Winter School 2009 Winter School 2009 Winter School 2009 Gothenburg, Sweden Gothenburg, Sweden Gothenburg, Sweden Gothenburg, Sweden Minema Minema Minema Minema Winter School 2009 Winter School 2009 Winter School 2009 Winter School 2009 Gothenburg, Sweden Gothenburg, Sweden Gothenburg, Sweden Gothenburg, Sweden

Paul Grace, Computing Department, Lancaster University p.grace@lancaster.ac.uk

slide-2
SLIDE 2

Acknowledgements Acknowledgements Acknowledgements Acknowledgements

  • Gordon Blair
  • Geoff Coulson
  • Francois Taiani

Eddy Truyen

  • Francois Taiani
  • Nelly Bencomo
  • Eddy Truyen
  • Bert Lagaisse
  • Wouter Joosen
slide-3
SLIDE 3

Outline of the Talk Outline of the Talk Outline of the Talk Outline of the Talk

Why is adaptation important? Why is adaptation important? Why is adaptation important? Why is adaptation important?

  • Principled software approaches
  • Safety
  • Types of adaptation

What is dynamic adaptation ? What is dynamic adaptation ? What is dynamic adaptation ? What is dynamic adaptation ?

  • Characteristics of mobile

computing

  • Emerging fields

Dynamic Middleware Dynamic Middleware Dynamic Middleware Dynamic Middleware

  • Reflective middleware
  • (Dynamic AOP middleware)
  • (Policy middleware)

Future Challenges Future Challenges Future Challenges Future Challenges

  • What are the next research

areas?

slide-4
SLIDE 4

Further Reading Further Reading Further Reading Further Reading

  • Oreizy, P., Medvidovic, N., and Taylor, R. Architecture

Architecture Architecture Architecture-

  • based runtime

based runtime based runtime based runtime software evolution software evolution software evolution software evolution. In Proceedings of the 20th international Conference on Software Engineering (Kyoto, Japan, April 1998)

  • McKinley, P., Sadjadi, S., Kasten, E., and Cheng, B. Composing adaptive

Composing adaptive Composing adaptive Composing adaptive software software software

  • software. IEEE Computer 37(7): 56-64 (2004)

Kramer, J. and Magee, J. The evolving philosophers problem: dynamic The evolving philosophers problem: dynamic The evolving philosophers problem: dynamic The evolving philosophers problem: dynamic

  • Kramer, J. and Magee, J. The evolving philosophers problem: dynamic

The evolving philosophers problem: dynamic The evolving philosophers problem: dynamic The evolving philosophers problem: dynamic change management. change management. change management. change management. IEEE Transactions on Software Engineering 16(11): 1293-1306 (November 1990)

  • Kon, F., Costa, F., Blair, G., and Campbell, R. H. The case for reflective

The case for reflective The case for reflective The case for reflective middleware middleware middleware

  • middleware. Communications of the ACM 45(6):33-38 (June 2002)
  • Issarny, V., Caporuscio, M., and Georgantas, N. A perspective on the

A perspective on the A perspective on the A perspective on the future of middleware future of middleware future of middleware future of middleware-

  • based software engineering

based software engineering based software engineering based software engineering. International Conference on Software Engineering (Minneapolis, USA, May 2007)

slide-5
SLIDE 5

DYNAMIC ADAPTATION DYNAMIC ADAPTATION DYNAMIC ADAPTATION DYNAMIC ADAPTATION

Definitions, Types & Motivation

slide-6
SLIDE 6

Everyone’s Talking About It. Are you? Everyone’s Talking About It. Are you? Everyone’s Talking About It. Are you? Everyone’s Talking About It. Are you?

Talk 1 – Change the sensor network behaviour ... Talk 2 – Install new module on sensor Talk 6 – Self- healing mesh routes Talk 10 – Lime reacting to changes in context Talk 11 – Autonomous module on sensor Talk 3 – Changing models of connectivity Talk 5 – ANA, autonomic, Self* Talk 7 – Autonomous Gossip, evolution Talk 8 – change of subscriptions, change

  • f nodes, change of

connectivity Autonomous driving Talk 12 – reaction to context

slide-7
SLIDE 7

Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation Dynamic Adaptation

(or dynamic reconfiguration) (or dynamic reconfiguration) (or dynamic reconfiguration) (or dynamic reconfiguration)

  • ‘Changing the behaviour of an executing system at

runtime’

A system is not taken off-line e.g. “Your update was successful and you need to reboot the system” and you need to reboot the system”

  • Classifying Software Adaptation

Who Who Who Who makes the change What What What What behaviour is changed How How How How is the change made When When When When is the change made

slide-8
SLIDE 8

One Classification One Classification One Classification One Classification

From McKinley From McKinley From McKinley From McKinley et al., “Composing Adaptive Software” et al., “Composing Adaptive Software” et al., “Composing Adaptive Software” et al., “Composing Adaptive Software”

slide-9
SLIDE 9

Additional Properties of Adaptation Additional Properties of Adaptation Additional Properties of Adaptation Additional Properties of Adaptation

  • Safety
  • Quiescence:

Quiescence: Quiescence: Quiescence: The system is placed in a state such that the adaptation does not cause erroneous behaviour

  • Consensus

In a multi-party system the adaptation is agreed upon

  • Consistency

Multiple adaptations (which may be concurrently executed) do not conflict

  • Rollback

If the adaptation fails the system returns to the prior state

slide-10
SLIDE 10

Exploring Quiescence Exploring Quiescence Exploring Quiescence Exploring Quiescence

  • Seminal work by Kramer and Magee (Imperial College)

Operation Calls Operation Calls Operation Calls Operation Calls Operation Calls Operation Calls Operation Calls Operation Calls Blocking Blocking Blocking Blocking Executing Executing Executing Executing Threads Threads Threads Threads

ADAPT ADAPT ADAPT ADAPT ADAPT ADAPT ADAPT ADAPT

Quiescent Quiescent Quiescent Quiescent Module Module Module Module

Wait for threads to complete; what are the problems with this ?

slide-11
SLIDE 11

Motivation: Mobile Computing Motivation: Mobile Computing Motivation: Mobile Computing Motivation: Mobile Computing

  • The key characteristics of Mobile Computing are

Change & Spontaneity Change & Spontaneity Change & Spontaneity Change & Spontaneity

Changes in Context, Resource Availability, Fluctuating Network Changes in Context, Resource Availability, Fluctuating Network Changes in Context, Resource Availability, Fluctuating Network Changes in Context, Resource Availability, Fluctuating Network Quality of Service ( Quality of Service ( Quality of Service ( Quality of Service (QoS QoS QoS QoS) ) ) ) Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, … Applications must adapt, middleware must adapt, …

Images from the Runes project: http://www.ist-runes.org

slide-12
SLIDE 12

Case Study 1: Protocol Heterogeneity Case Study 1: Protocol Heterogeneity Case Study 1: Protocol Heterogeneity Case Study 1: Protocol Heterogeneity

slide-13
SLIDE 13

Case Study 2: Sensor Network Case Study 2: Sensor Network Case Study 2: Sensor Network Case Study 2: Sensor Network Adaptation for Flood Monitoring Adaptation for Flood Monitoring Adaptation for Flood Monitoring Adaptation for Flood Monitoring

Site 1 Site 2 Site 3 Site 4 G P R S 8 2 . 1 1 802.11 GPRS GPRS

**Require Lower Latency *Resiliency Risk

SP Bluetooth SP WiFi FH WiFi

!High_Battery || High_Flow* Flood_Predicted** !Flood_Predicted**

(High_Flow* && High_Battery) || Flood_Predicted** (!Flood_Predicted**) && (!High_Flow*)

quiescent state alert state emergency state High_Flow* && !High_Battery

if (High_Flow && High_Battery || Flood_Predicated) replace Bluetooth with WiFi replace ST.sp with ST.fh

**Require Lower Latency *Resiliency Risk

SP Bluetooth SP WiFi FH WiFi

!High_Battery || High_Flow* Flood_Predicted** !Flood_Predicted**

(High_Flow* && High_Battery) || Flood_Predicted** (!Flood_Predicted**) && (!High_Flow*)

quiescent state alert state emergency state High_Flow* && !High_Battery

if (High_Flow && High_Battery || Flood_Predicated) replace Bluetooth with WiFi replace ST.sp with ST.fh

slide-14
SLIDE 14

Analysis Analysis Analysis Analysis

  • Two distinct classes of adaptation

Node Node Node Node-

  • local

local local local Software adaptation within a single machine (or address space) Distributed Distributed Distributed Distributed Distributed Distributed Distributed Distributed Co-ordinated adaptation of modules across multiple machines Introspection, Consensus, Safety … remain open research challenges

slide-15
SLIDE 15

DYNAMIC ADAPTATION DYNAMIC ADAPTATION DYNAMIC ADAPTATION DYNAMIC ADAPTATION

Mechanisms: Reflection and Dynamic AOP

slide-16
SLIDE 16

General Approaches to Software General Approaches to Software General Approaches to Software General Approaches to Software Adaptation Adaptation Adaptation Adaptation

  • Parameter Adaptation

Modifies pre-defined program variables that determine a system’s behaviour

E.g. changing TCP retransmission rates in face of congestion

Direct between existing strategies Direct between existing strategies Cannot introduce new algorithms and behaviour

  • Compositional Adaptation

Compositional Adaptation Compositional Adaptation Compositional Adaptation

Dynamic recomposition of software modules Introduce new behaviour

Add, remove, replace Add, remove, replace Add, remove, replace Add, remove, replace

slide-17
SLIDE 17

Mechanisms for Compositional Mechanisms for Compositional Mechanisms for Compositional Mechanisms for Compositional Adaptation at runtime Adaptation at runtime Adaptation at runtime Adaptation at runtime

  • Many potential mechanisms

Proxies, Interceptors, Strategy pattern, Functional pointers

Indirection is a common feature Indirection is a common feature Indirection is a common feature Indirection is a common feature

  • Here we focus on two composition types
  • Here we focus on two composition types

Software Components Aspect Oriented Programming (AOP)

  • … and we focus on two principled adaptation mechanisms

Computational Reflection Dynamic AOP

slide-18
SLIDE 18

Computational Reflection Computational Reflection Computational Reflection Computational Reflection

  • Reflection refers to the capability of a system to reason

about and act upon itself itself itself itself

  • A reflective system provides a representation of its own

representation of its own representation of its own representation of its own behaviour behaviour behaviour behaviour:

amenable to inspection and adaptation, amenable to inspection and adaptation, causally connected to the underlying behaviour it describes

  • Causal Connection

Causal Connection Causal Connection Causal Connection

changes made to the self-representation are immediately mirrored in the underlying system’s actual state and behavior, and vice-versa

slide-19
SLIDE 19

Reflection Types and Concepts Reflection Types and Concepts Reflection Types and Concepts Reflection Types and Concepts

Meta Object Protocol Meta Object Protocol Meta Object Protocol Meta Object Protocol Types Types Types Types

  • Structural Reflection

Representation of (static) structure of the system

Classes, Components, …

Meta Meta Meta Meta Representation Representation Representation Representation

Classes, Components, …

  • Behavioural Reflection

representation of ongoing activity

Interceptors, Method Calls, .. Base

slide-20
SLIDE 20

OpenCom OpenCom OpenCom OpenCom: A Reflective Component : A Reflective Component : A Reflective Component : A Reflective Component Model Model Model Model

  • Tool for component based software development

Inherent support for performing node-local reflection Fractal is an alternative

  • Central concepts:
  • Central concepts:

component | capsule | interface | receptacle | binding

slide-21
SLIDE 21

A Multi A Multi A Multi A Multi-

  • Model Approach

Model Approach Model Approach Model Approach

  • Architecture

Architecture Architecture Architecture

represent the topology of a composition of components within a capsule ‘graph-oriented’ ‘graph-oriented’

  • Interception

Interception Interception Interception

interpose interceptors

  • Interface

Interface Interface Interface

dynamically discover details of a component’s interfaces/ receptacles dynamically invoke dynamically- discovered interfaces

slide-22
SLIDE 22

Component Frameworks Component Frameworks Component Frameworks Component Frameworks

Supporting Node Supporting Node Supporting Node Supporting Node-

  • local Adaptation

local Adaptation local Adaptation local Adaptation

  • Architecture Meta

Architecture Meta Architecture Meta Architecture Meta-

  • Protocol

Protocol Protocol Protocol

  • Reflective operations to adapt

component configuration

  • Validated Reconfigurations

Validated Reconfigurations Validated Reconfigurations Validated Reconfigurations

  • Constraint checking & roll back
  • Constraint checking & roll back
  • Quiescence Management

Quiescence Management Quiescence Management Quiescence Management

  • Ensure framework is adapt ready,

no active threads

  • Policy

Policy Policy Policy-

  • based reconfiguration pattern

based reconfiguration pattern based reconfiguration pattern based reconfiguration pattern

  • Context events trigger change
slide-23
SLIDE 23

The Cost of Reflection The Cost of Reflection The Cost of Reflection The Cost of Reflection

  • Reflection comes at a price

Structural = Increased memory consumption

Out-of-band

Behavioural e.g. Interception = Performance reduction

In-band In-band

  • A solution = Partial Reflection

A solution = Partial Reflection A solution = Partial Reflection A solution = Partial Reflection

slide-24
SLIDE 24

Aspect Aspect Aspect Aspect-

  • Oriented Programming

Oriented Programming Oriented Programming Oriented Programming

  • “There are some design decisions that are hard to cleanly

capture because they crosscut the system’s basic

  • functionality. We call the issues that these features address

aspects…” [Kiczales, Aspect-Oriented Programming, ECOOP 97]

Problem of Tangled Code Problem of Tangled Code Problem of Tangled Code Problem of Tangled Code – – – – difficult to maintain, evolve … difficult to maintain, evolve … difficult to maintain, evolve … difficult to maintain, evolve …

slide-25
SLIDE 25

Aspects Aspects Aspects Aspects

  • Aspect is a Unit of composition

Pointcut & set of advices Woven into the base system at compile time with early tools like the AspectJ

  • Join point model

@Pointcut("(execution(**.*doEverything()) || execution(* *.*doSomething())) && !within(*Test)")

  • Join point model

Pointcuts identify points (join point) where advice code should be executed Model differs depending on the system type e.g. methods, fields in Object- Oriented language.

  • Advice
  • Contains the actual code to implement the concern
  • Before, after, around execution points
  • Around utilises a proceed

proceed proceed proceed keyword

slide-26
SLIDE 26

Dynamic AOP Dynamic AOP Dynamic AOP Dynamic AOP

  • Compile-time weaving is unsuitable for dynamic adaptation
  • Dynamic AOP weaves and unweaves at runtime

However a large majority perform load-time weaving when the classes are loaded into memory e.g. the Spring Framework classes are loaded into memory e.g. the Spring Framework Two common approaches Invasive Weaving

Typically performed using byte-code transformation i.e. language specific Prose

Non-Invasive Weaving

Typically performed using Interception

JBoss dynamic AOP, JAC, Lasagne

slide-27
SLIDE 27

PROSE PROSE PROSE PROSE

slide-28
SLIDE 28

Technology Cross cutting Adaptation Self-Adaptation Reflection Poor General Yes AOP Strong Aspects only No

Combining AOP and Reflection Combining AOP and Reflection Combining AOP and Reflection Combining AOP and Reflection

AOP Strong Aspects only (coarse-grained) No

  • Improve the management of crosscutting behaviour in

reflective systems

  • Build introspective self-adaptive aspect-based systems
slide-29
SLIDE 29

AspectOpenCom AspectOpenCom AspectOpenCom AspectOpenCom

Fine-grained introspection

and adaptation of cross- cutting behaviour

Aspects can be added to a

system at run-time using the Aspect MOP as the implementation of this MOP Aspect MOP as the implementation of this MOP is underpinned by existing reflective MOPs

Reconfiguration aspects can

be deployed using the Aspect MOP that abstract

  • ver reflective MOPs
slide-30
SLIDE 30

An Aspects Meta An Aspects Meta An Aspects Meta An Aspects Meta-

  • Protocol

Protocol Protocol Protocol

META REPRESENTATION

slide-31
SLIDE 31

Join Point Set Adaptation Join Point Set Adaptation Join Point Set Adaptation Join Point Set Adaptation

Authentication Deploy aspect at greater “depths” during suspicious behaviour

Adapt the Adapt the Adapt the Adapt the Authentication Authentication Authentication Authentication Concern Concern Concern Concern

Deploy trace aspect at greater aspect at greater “depths” during suspicious behaviour

slide-32
SLIDE 32

Question Point 1 Question Point 1 Question Point 1 Question Point 1

Any Questions about Dynamic Adaptation in General?

slide-33
SLIDE 33

Summarising Dynamic Adaptation Summarising Dynamic Adaptation Summarising Dynamic Adaptation Summarising Dynamic Adaptation

  • Focus on how to perform adaptation

Useful for developers of novel applications and adaptive middleware

  • Examined tools and approaches for node-local

adaptation Examined tools and approaches for node-local adaptation

Limited support so far for developing adaptive distributed applications

  • Investigated two important compositional mechanisms

Adaptation had similar properties that has and can be applied to other composition types

slide-34
SLIDE 34

DYNAMIC MIDDLEWARE DYNAMIC MIDDLEWARE DYNAMIC MIDDLEWARE DYNAMIC MIDDLEWARE

slide-35
SLIDE 35

The Case for Adaptive Middleware The Case for Adaptive Middleware The Case for Adaptive Middleware The Case for Adaptive Middleware

  • Middleware is ideally located to support adaptations

Provide mechanisms to underpin application adaptation Transparently adapt distributed system behaviour to alleviate the challenges distributed application developers face

Explore Reflective Middleware

  • Explore Reflective Middleware
  • ReMMoC, ExORB, GridStix, K-Components
  • More about Dynamic AOP middleware, Policy-based Middleware

in the book

  • DyRES, CARISMA, Micro-Protocol frameworks
slide-36
SLIDE 36

ReMMoC ReMMoC ReMMoC ReMMoC

  • A middleware for developing mobile clients that encounter

heterogeneous services from location to location

slide-37
SLIDE 37

A Context A Context A Context A Context-

  • based, Reflective Solution

based, Reflective Solution based, Reflective Solution based, Reflective Solution

  • What discovery protocols are in the environment ?
  • What is the middleware type of the found service
  • Dynamically adapt plug-ins to Mirror the environment
  • Component based implementations of the full protocol specification
  • Change of context changes the ReMMoC Personality
  • Change of context changes the ReMMoC Personality
  • Assumption: Point of agreement = A WSDL description

ReMMoC ReMMoC ReMMoC ReMMoC Application Application Application Application ReMMoC ReMMoC ReMMoC ReMMoC Application Application Application Application ReMMoC Abstraction WSDL Service Model Event programming Binding Mappings Service Discovery Maps

IIOP IIOP IIOP IIOP Map Map Map Map P/S P/S P/S P/S Map Map Map Map

Binding Framework Discovery Framework

SLP SLP SLP SLP Map Map Map Map UPnP UPnP UPnP UPnP Map Map Map Map IIOP IIOP IIOP IIOP plug plug plug plug-

  • in

in in in P/S plug P/S plug P/S plug P/S plug-

  • in

in in in SLP SLP SLP SLP plug plug plug plug-

  • in

in in in UPnP UPnP UPnP UPnP plug plug plug plug-

  • in

in in in

slide-38
SLIDE 38

ExORB ExORB ExORB ExORB

  • Targeted towards mobile phones and their configurability, updating

and upgrading

  • Based on the principle of externalisation (CCSR)

Explicit denotation of platform’s state, logic and component architecture

  • Micro Building Blocks (MBBs)
  • Micro Building Blocks (MBBs)

– The smallest addressable functional unit in the system – State held elsewhere

  • Actions

– Specifies the order in which MBBs execute – Represented as a deterministic directed graph

  • Domains

– Represent collections of MBBs + actions + localised state – Supports hierarchical composition

slide-39
SLIDE 39

Dynamically Programmable Dynamically Programmable Dynamically Programmable Dynamically Programmable Reconfigurable Services Reconfigurable Services Reconfigurable Services Reconfigurable Services

Adapt structure and logic (maintain state)

slide-40
SLIDE 40

ExORB ExORB ExORB ExORB: : : : Using DPRS for a Using DPRS for a Using DPRS for a Using DPRS for a Reconfigurable ORB Reconfigurable ORB Reconfigurable ORB Reconfigurable ORB

Multi-ORB building blocks IIOP XML RPC XML RPC Change structure

e.g. Replace a block with new version, add new blocks

slide-41
SLIDE 41

Logic: An Logic: An Logic: An Logic: An Example encoding IIOP Example encoding IIOP Example encoding IIOP Example encoding IIOP and XML RPC requests and XML RPC requests and XML RPC requests and XML RPC requests

Adapt the logic: New Protocol, New Behaviour e.g. logging Adapt the logic: New Protocol, New Behaviour e.g. logging Adapt the logic: New Protocol, New Behaviour e.g. logging Adapt the logic: New Protocol, New Behaviour e.g. logging

slide-42
SLIDE 42

Gridstix Gridstix Gridstix Gridstix Middleware Middleware Middleware Middleware

Shortest Path Fewest Hops

Change the complete sensor network from one spanning tree to another

Root

Node B Node C Node D Node E

Node F

Root

Node B Node D Node C Node F Node E

Shortest Path Fewest Hops Trigger: Flooding predicted

Per node middleware

slide-43
SLIDE 43

Gridstix’s Gridstix’s Gridstix’s Gridstix’s Reflective Approach Reflective Approach Reflective Approach Reflective Approach to co to co to co to co-

  • ordinated adaptation
  • rdinated adaptation
  • rdinated adaptation
  • rdinated adaptation
  • Architecture Meta

Architecture Meta Architecture Meta Architecture Meta-

  • Protocol

Protocol Protocol Protocol

  • Distributed view & adaptation
  • Quiescence Management

Quiescence Management Quiescence Management Quiescence Management

  • Distributed algorithm to place

nodes in safe state

  • Distributed algorithm to place

nodes in safe state

  • Centralised/Single configurator
  • Investigating decentralised
  • Policy

Policy Policy Policy-

  • based reconfiguration

based reconfiguration based reconfiguration based reconfiguration

  • One or more configurators
  • Consensus on adaptation
slide-44
SLIDE 44

Place all nodes in a safe state; replace the control component;

rebuild the tree

L C F

  • L

C F

  • Adapting a Sensor Network

Adapting a Sensor Network Adapting a Sensor Network Adapting a Sensor Network

L C F

  • L

C F

  • L

C F C F

  • !"

""

slide-45
SLIDE 45

K Components K Components K Components K Components

Architectural

Reflection

Asynschronous

Per node

reflection

slide-46
SLIDE 46

Using K Components for Autonomic, Using K Components for Autonomic, Using K Components for Autonomic, Using K Components for Autonomic, Decentralized, Co Decentralized, Co Decentralized, Co Decentralized, Co-

  • ordinated Adaptation
  • rdinated Adaptation
  • rdinated Adaptation
  • rdinated Adaptation

Share context, behaviour, structure to inform decisions decisions Build a reinforced learning policy

See SAMPLE – learns an ad-hoc routing protocol

slide-47
SLIDE 47

Question Point 2 Question Point 2 Question Point 2 Question Point 2

Any Questions about Adaptive Middleware?

slide-48
SLIDE 48

Analysis Analysis Analysis Analysis

  • Middleware built around node-local mechanisms and

centralised distributed adaptation mechanisms

Initial solutions that do not fully support next generation domains domains

Ubiquitous, P2P, Autonomic, Large-Scale

  • Need for flexible approaches
  • Need for further investigations into maintaining the core

properties of adaptation in decentralized fashion

K Components early proponent in this direction

slide-49
SLIDE 49

FUTURE CHALLENGES FUTURE CHALLENGES FUTURE CHALLENGES FUTURE CHALLENGES

slide-50
SLIDE 50

Challenge 1 (New Adaptation Challenge 1 (New Adaptation Challenge 1 (New Adaptation Challenge 1 (New Adaptation Approaches) Approaches) Approaches) Approaches)

  • Mechanisms for decentralised adaptation

E.g. Adaptation in ad-hoc networks, Large-Scale P2P networks, Hybrid domains

How to decide? How to decide? How to make a system safe? Flexible algorithms Combined compositional adaptation

slide-51
SLIDE 51

Challenge 2 (Engineering) Challenge 2 (Engineering) Challenge 2 (Engineering) Challenge 2 (Engineering)

  • Engineering complex adaptations

How to support developers describe and deploy adaptive systems

Software Engineering community

SEAMS - Software Engineering for Adaptive and Self-Managing SEAMS - Software Engineering for Adaptive and Self-Managing Systems @ ICSE

Modelling of Adaptations

Models@Design Time Models@Run Time

Verification of Adaptive Systems

ARAMIS - Automated engineeRing of Autonomous and run-tiMe evolvIng Systems Workshop @ ASE

slide-52
SLIDE 52

Challenge 3 (Applications) Challenge 3 (Applications) Challenge 3 (Applications) Challenge 3 (Applications)

  • Real time adaptations

Introducing time dimensions into reconfigurations

Impact upon safety mechanisms Impact upon decision mechanisms Impact upon decision mechanisms

  • Cross-domain middleware

Ad-hoc, sensor, Internet, Grid, P2P

Adapt across the technologies

slide-53
SLIDE 53

Expected Outcomes Expected Outcomes Expected Outcomes Expected Outcomes

  • Convinced you that dynamic adaptation is important

In mobile computing it is a fundamental requirement Needed across a wide range of emerging fields

  • Understand the problems faced when performing

adaptation adaptation

Safety, Consistency, Consensus

  • Provided knowledge how to perform adaptation

Mechanisms and tools

  • Made you aware of the state of the art in middleware

solutions in this domain

slide-54
SLIDE 54

Questions Questions Questions Questions

Thank you for your attention