hyper-agility: a model-driven software agility from design-time to run-time

96
1 Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time Dr. Benoit Combemale [email protected] http://www.irisa.fr/triskell/perso_pro/combemale With the help (and the slides) of: Jean-Marc Jézéquel, Olivier Barais, Brice Morin, and Gregory Nain

Upload: benoit-combemale

Post on 16-Jan-2017

207 views

Category:

Software


0 download

TRANSCRIPT

1

Hyper-Agility:

A Model-Driven Software Agility from Design-Time to Run-Time

Dr. Benoit Combemale [email protected]

http://www.irisa.fr/triskell/perso_pro/combemale With the help (and the slides) of:

Jean-Marc Jézéquel, Olivier Barais, Brice Morin, and Gregory Nain

Hyper-Agility:

A Model-Driven Software Agility from Design-Time to Run-Time

1

Dr. Benoit Combemale [email protected]

http://www.irisa.fr/triskell/perso_pro/combemale With the help (and the slides) of:

Jean-Marc Jézéquel, Olivier Barais, Brice Morin, and Gregory Nain

Hyper-Agility:

A Model-Driven Software Agility from Design-Time to Run-Time

1

Dr. Benoit Combemale [email protected]

http://www.irisa.fr/triskell/perso_pro/combemale With the help (and the slides) of:

Jean-Marc Jézéquel, Olivier Barais, Brice Morin, and Gregory Nain

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Agile Software Development

2

Agile ( Software Development )

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Agile Software

3

( Agile Software ) Development

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Outline

4

• The Need for Hyper-Agility

• From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS)

• (Aspect-Oriented) Modeling from Design to Runtime

• Models@Runtime to Support Dynamic Adaptation

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Manifesto for Agile Software Development

• Individuals and interactions !over processes and tools • Working software !over comprehensive documentation • Customer collaboration !over contract negotiation • Responding to change !over following a plan

5

Benoit Combemale (IRISA, Triskell), Oct. 2010.

The need for Agile Software @ Design Time

6

Benoit Combemale (IRISA, Triskell), Oct. 2010.

The need for Agile Software @ Design Time

6

Benoit Combemale (IRISA, Triskell), Oct. 2010.

The need for Agile Software @ Design Time

6

- Reutilisability - Durability

Benoit Combemale (IRISA, Triskell), Oct. 2010.

The need for Agile Software @ Design Time

6

- Reutilisability - Durability

- Platform

Benoit Combemale (IRISA, Triskell), Oct. 2010.

The need for Agile Software @ Design Time

6

- Reutilisability - Durability

- Platform

Time To Market!=> Large Scale Agile Development

Benoit Combemale (IRISA, Triskell), Oct. 2010.

(A) Manifesto for Agile Software @ Design Time

• Individuals and interactions (over processes and tools) ➡ separation of concerns • Working software (over comprehensive documentation) ➡ early execution, validation & verification • Customer collaboration (over contract negotiation) ➡ domain-specific concept • Responding to change (over following a plan) ➡ automatic (re-)composition

7

Benoit Combemale (IRISA, Triskell), Oct. 2010.

(A) Manifesto for Agile Software @ Design Time

• Individuals and interactions (over processes and tools) ➡ separation of concerns • Working software (over comprehensive documentation) ➡ early execution, validation & verification • Customer collaboration (over contract negotiation) ➡ domain-specific concept • Responding to change (over following a plan) ➡ automatic (re-)composition

7

➡ Technological Support for Agile Development!

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Software Product Lines (SPL)

8

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Software Product Lines (SPL)• Families of related software products

8

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Software Product Lines (SPL)• Families of related software products• The products have a common part and a variable part

8

Benoit Combemale (IRISA, Triskell), Oct. 2010.

...

Software Product Lines (SPL)

• color = {black}

• full keyboard, touch screen, stylus

• MMS

• GPS

• TCP/IP

• Internet calling

Nokia Product Line

Nokia 3710 Nokia 5230 Nokia 5800 Nokia N900

• color = {plum}

• keypad,large keys

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {white,black}

• touch screen

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {red, blue, black}

• keypad, touch screen, stylus

• MMS

• GPS

• TCP/IP

• FM Radio

• Families of related software products• The products have a common part and a variable part

8

Benoit Combemale (IRISA, Triskell), Oct. 2010.

...

Software Product Lines (SPL)

• color = {black}

• full keyboard, touch screen, stylus

• MMS

• GPS

• TCP/IP

• Internet calling

Nokia Product Line

Nokia 3710 Nokia 5230 Nokia 5800 Nokia N900

• color = {plum}

• keypad,large keys

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {white,black}

• touch screen

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {red, blue, black}

• keypad, touch screen, stylus

• MMS

• GPS

• TCP/IP

• FM Radio

Common

features

• Families of related software products• The products have a common part and a variable part

8

Benoit Combemale (IRISA, Triskell), Oct. 2010.

...

Software Product Lines (SPL)

Variable features:

• color

• input method

• radio

• Internet calling

• color = {black}

• full keyboard, touch screen, stylus

• MMS

• GPS

• TCP/IP

• Internet calling

Nokia Product Line

Nokia 3710 Nokia 5230 Nokia 5800 Nokia N900

• color = {plum}

• keypad,large keys

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {white,black}

• touch screen

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {red, blue, black}

• keypad, touch screen, stylus

• MMS

• GPS

• TCP/IP

• FM Radio

Common

features

• Families of related software products• The products have a common part and a variable part

8

Benoit Combemale (IRISA, Triskell), Oct. 2010.

...

Software Product Lines (SPL)

Variable features:

• color

• input method

• radio

• Internet calling

• color = {black}

• full keyboard, touch screen, stylus

• MMS

• GPS

• TCP/IP

• Internet calling

Nokia Product Line

Nokia 3710 Nokia 5230 Nokia 5800 Nokia N900

• color = {plum}

• keypad,large keys

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {white,black}

• touch screen

• MMS

• GPS

• TCP/IP

• FM Radio

• color = {red, blue, black}

• keypad, touch screen, stylus

• MMS

• GPS

• TCP/IP

• FM Radio

Common

features

• Families of related software products• The products have a common part and a variable part

8

Benoit Combemale (IRISA, Triskell), Oct. 2010. 9

The need for Agile Software @ Run Time

Benoit Combemale (IRISA, Triskell), Oct. 2010.

• Home-automation to help disabled people stay home • Aging society • Hospital have limited resources, rooms, etc

•"Very short stays

• Long stays very expensive for people and society • Houses, flats, etc should be equipped

• How do we produce a program for each of them: • Individuals and interactions • Working software • Customer collaboration • Responding to change

Example Application Domain

10

Benoit Combemale (IRISA, Triskell), Oct. 2010.

EnTiMid : Integrating IoS & IoT (Grégory Nain PhD, cf. [ServiceWave ’08])

•OSGi based

•MDE centric

•Generative Approach

Controlling Boiler/Shutters from GoogleAgenda through a browser or an iPhone

11

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Entimid

Cf demonstration at « fete de la science 2009 » http://www.irisa.fr/videos/fete-sciences-2009/

12

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Entimid

Cf demonstration at « fete de la science 2009 » http://www.irisa.fr/videos/fete-sciences-2009/

12

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Many Different Needs 1/2Pi

ctur

e fro

m h

ttp://

ww

w.ap

t.gc.

ca

•Living at home

•Motion troubles

•Memory loss

•Speaks French (only)

•Home equiped with :

•LonWorks (lights)

•Velux (shutters)

Mrs. Dupont

13

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Many Different Needs 2/2

•English student

•Living at home

•He had an accident

•He likes technology

•Wheelchair equipped with remote access for:

•Lights and shutters (KNX)

•Multimedia (UPnP)

Pict

ure

from

http

://di

tww

w.ep

fl.ch

Mr. John Doe

14

Benoit Combemale (IRISA, Triskell), Oct. 2010.

# Software Product Lines (SPL)

Their needs

Medical/technical staff should be able to

•Check their health state

•Check home configuration (shutters, lights, heaters…)

Both

Mrs. Dupont Mr. DoeSome daily tasks should be automated (motion troubles) or reminded (memory loss).

Would like to control everything remotely, with a unified protocol

15

Benoit Combemale (IRISA, Triskell), Oct. 2010.

#Protocols ! Low-level protocols: KNX, X2D, X10, etc ! High-level protocols: http, UPnP, DPWS, etc

#Devices ! Lights, heaters, shutters, etc

#Web services !GoogleAgenda, skype, WeatherForecast, MSN !PaaS: Nurse as a Service, Food Delivery, Ooshop

#Adaptation to handicap/current health state ! Motion, memory, perception, etc

#Dynamic reconfiguration ➡ Dynamic Adaptable System

Different variability dimensions

16

Benoit Combemale (IRISA, Triskell), Oct. 2010.

(A) Manifesto for Agile Software @ Run Time

17

• Individuals and interactions (over processes and tools) ➡ multiple variability dimensions • Working software (over comprehensive documentation) ➡ dynamic adaptation • Customer collaboration (over contract negotiation) ➡ user-driven dynamic adaptation • Responding to change (over following a plan) ➡ context-sensitive and safe dynamic adaptation

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Outline

18

• The Need for Hyper-Agility

• From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS)

• (Aspect-Oriented) Modeling from Design to Runtime

• Models@Runtime to Support Dynamic Adaptation

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Autonomic Computing

Jeffrey O. Kephart, David M. Chess, "The Vision of Autonomic Computing", IEEE Computer, vol. 36, no. 1, pp. 41-50, Jan. 2003, doi:10.1109/MC.2003.1160055

19

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Autonomic Computing

Jeffrey O. Kephart, David M. Chess, "The Vision of Autonomic Computing", IEEE Computer, vol. 36, no. 1, pp. 41-50, Jan. 2003, doi:10.1109/MC.2003.1160055

19

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Towards more complex DAS

• Dynamic Adaptive Software (DAS) development: ! Adaptation logic often embedded into application logic ! Adaptation logic hard-coded using low-level APIs ! Readability, maintainability, and communication with other

stakeholder not easy • Exponential growth of possible configurations

! Convergence with Dynamic Software Product Lines

! N features, N tending to be larger and larger • 2N potential program configurations, 2N x (2N-1) transitions

20

Benoit Combemale (IRISA, Triskell), Oct. 2010.

#Explosion of the number of possible configurations of Entimid ! 1014 possible configurations! " 1028 transitions!

#Dynamic Adaptation ! Evolution of the handicap ! No service interruption

• Rebooting the system cannot be a solution (lives depend on the system) #Reliability

! Safe migration path from a valid configuration to another valid configuration

! Performance issue (time) not critical

Challenging Example [ICSE’09]

21

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Related works

22

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Related works

Dynamic Adaptation

Reliability, Validation

Variability Management

U

22

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Related works

B. Cheng et al.ICSE’06, AOSD’09

Dynamic Adaptation

Reliability, Validation

Variability Management

J. Whittle et al.MODELS’07

B. Morin et al.MODELS’08

S. Appel et al.ICSE’06 M. Mezini et al.

FSE’04

E. Figueiredo et al.ICSE’08

K. Czarnecki et al.

GPCE’06

P. David et al.

SC’06

F. Fleurey et al.

[email protected]’08

Hallsteinsen et al.

Computer’08

OSGi, Fractal,OpenCOM, etc

Garlan et al.Computer’04

UOreizy et al.ICSE’98

22

Benoit Combemale (IRISA, Triskell), Oct. 2010.

#How to validate DAS? ! Specify everything!

• all the configurations: >1014 • all the transitions: ~1028

! Model checking, code generation

#Problems ! Explosion: Time consuming, error-prone ! Evolution of the system (not predicted)

• Stop all -> Evolve the specifications -> model check -> re-generate -> re-deploy

Validation VS Variability management…

23

Benoit Combemale (IRISA, Triskell), Oct. 2010.

#How to manage dynamic variability? ! Do not focus on configurations!

• Write reconfiguration scripts, encapsulating « features » ! Depending on the context and/or user needs

• Choose the most adapted scripts • Executes all the selected scripts to dynamically adapt the system

#Problems ! Scripts written by hand (calls to reconfiguration API) ! Interactions, dependencies between scripts? ! Does the configuration (after executing scripts) make sense?

• Hopefully yes…

Validation VS Variability management…

24

Benoit Combemale (IRISA, Triskell), Oct. 2010.

•Focus on variability, not on configurations

•Build (derive) configurations when needed • JIT, On demand at runtime, caching…

•Validate configurations before actual adaptation

•Automate the reconfiguration process

DSPL for Agile Software @ Run Time

25

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Outline

26

• The Need for Hyper-Agility

• From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS)

• (Aspect-Oriented) Modeling from Design to Runtime

• Models@Runtime to Support Dynamic Adaptation

Benoit Combemale (IRISA, Triskell), Oct. 2010. 27

Naive Model Driven Engineering

Benoit Combemale (IRISA, Triskell), Oct. 2010. 27

Modelling activity

Naive Model Driven Engineering

Benoit Combemale (IRISA, Triskell), Oct. 2010. 27

Modelling activity

Naive Model Driven Engineering

Code Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 27

Modelling activity

Naive Model Driven Engineering

Code Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 27

Modelling activity

Naive Model Driven Engineering

Functionality

Code Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 27

Modelling activity

Naive Model Driven Engineering

Safety

Reliability Security, survivability, robustness

Functionality

Code Model

Fault tolerance

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

AOMDE = Pleonasm because

a Model is an Abstraction of an Aspect of Reality for a given Purpose

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Design Model

AOMDE = Pleonasm because

a Model is an Abstraction of an Aspect of Reality for a given Purpose

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Design Model

Code Model

AOMDE = Pleonasm because

a Model is an Abstraction of an Aspect of Reality for a given Purpose

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Design Model

Code Model

AOMDE = Pleonasm because

a Model is an Abstraction of an Aspect of Reality for a given Purpose

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Design Model

Code Model

AOMDE = Pleonasm because

a Model is an Abstraction of an Aspect of Reality for a given Purpose

Change one Aspect and Automatically Re-Weave: From AORE, SPL to DAS

Distribution

Fault tolerance

Security

Functional behavior

Bookstate : StringUser

borrow

return

deliver

setDamaged

reserve

Use case model

Platform Model

Benoit Combemale (IRISA, Triskell), Oct. 2010. 28

Aspect Oriented Model Driven Engineering

Design Model

Code Model

AOMDE = Pleonasm because

a Model is an Abstraction of an Aspect of Reality for a given Purpose

Change one Aspect and Automatically Re-Weave: From AORE, SPL to DAS

★ Supports about MDE available at http://www.irisa.fr/triskell/perso_pro/combemale/teaching/mde/★ Vincent Mahé, Benoit Combemale, Juan Cadavid, "Crossing Model Driven Engineering and Agility: Preliminary Thought on Benefits and Challenges", In 3rd Workshop on Model-Driven Tool & Process Integration, in conjunction with ECMFA'10, 2010.

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Weaving Aspects: SmartAdapters (Brice Morin PhD)

• SmartAdapters: a generic framework for AOM !Built with Kermeta (a tool to build tools) !Can be adapted to different modeling languages • Aspect Model !What? ➡Advice model = model fragment

!Where? ➡Pointcut model = model fragment

!How? ➡Composition protocol = imperative script

29

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Meta-code generator

code generator

Metamodel(conforms to MOF)

Aspect Model(conforms to Metamodel)

MOF(M3 Level)

Metamodel(M2 Level)

require require

Java EMF + Drools* code

produces produces

*Drools (JBoss Rules)

(meta-) metamodels

input(meta-)models

SmartAdapters @ Design Time

30

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Meta-code generator

code generator

Metamodel(conforms to MOF)

Aspect Model(conforms to Metamodel)

MOF(M3 Level)

Metamodel(M2 Level)

require require

Java EMF + Drools* code

produces produces

*Drools (JBoss Rules)

(meta-) metamodels

input(meta-)models

Written in Kermeta/KET

SmartAdapters @ Design Time

30

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Meta-code generator

code generator

Metamodel(conforms to MOF)

Aspect Model(conforms to Metamodel)

MOF(M3 Level)

Metamodel(M2 Level)

require require

Java EMF + Drools* code

produces produces

*Drools (JBoss Rules)

(meta-) metamodels

input(meta-)models

Written in Kermeta/KET

Visitor on the metamodel: - 2 passes for the pointcut - 2 passes for the advice

SmartAdapters @ Design Time

30

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Java EMF +Drools code Runtime AOM

Weaver

In memory base model

In memory woven model

SmartAdapters @ Run Time

31

Benoit Combemale (IRISA, Triskell), Oct. 2010.

!Adoption/Ease of Use ! " Directly rely on domain concepts (here, architecture)

!Expressiveness ! "Flexible pointcut language (model snippet) ! "Advice Sharing

!Performances ! " Compilation to Java/EMF + Drools ! " Weaving «in memory»

!Agility ! " Generative techniques

!Tool support ! " Integrated into DiVA Studio

AOM @ Run Time: Conclusion

32

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Outline

33

• The Need for Hyper-Agility

• From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS)

• (Aspect-Oriented) Modeling from Design to Runtime

• Models@Runtime to Support Dynamic Adaptation

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Runningsystem

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Model@runtime

Runningsystem

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Model@runtime

Runningsystem

Metamodel

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Model@runtime

Runningsystem

Metamodel

EnTiMid

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Model@runtime

Runningsystem

Metamodel

EnTiMid Design-timeValidation

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Model@runtime

Runningsystem

EnTiMid Design-timeValidation

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Model@runtime

Runningsystem

EnTiMid

Pict

ure

from

http

://w

ww.

apt.g

c.ca

Had a flu last week

" stayed in bed

" a nurse every day

Design-timeValidation

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Targetconfiguration

Model@runtime

Runningsystem

EnTiMid

Pict

ure

from

http

://w

ww.

apt.g

c.ca

Had a flu last week

" stayed in bed

" a nurse every day

DerivationAOM

Design-timeValidation

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Targetconfiguration

Model@runtime

Runningsystem

EnTiMid

Pict

ure

from

http

://w

ww.

apt.g

c.ca

Had a flu last week

" stayed in bed

" a nurse every day

DerivationAOM

Design-timeValidation

Runtime Validation

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Targetconfiguration

Model@runtime

Runningsystem

EnTiMid

Pict

ure

from

http

://w

ww.

apt.g

c.ca

Had a flu last week

" stayed in bed

" a nurse every day

DerivationAOM

Design-timeValidation

Runtime Validation

ScriptGenerator

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Targetconfiguration

Model@runtime

Runningsystem

EnTiMid

Pict

ure

from

http

://w

ww.

apt.g

c.ca

Had a flu last week

" stayed in bed

" a nurse every day

Now in a better shape

DerivationAOM

Design-timeValidation

Runtime Validation

ScriptGenerator

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Big picture

Device controllers

Light Shutter

Targetconfiguration

Model@runtime

Runningsystem

EnTiMid

Pict

ure

from

http

://w

ww.

apt.g

c.ca

Had a flu last week

" stayed in bed

" a nurse every day

Now in a better shape

DerivationAOM

Design-timeValidation

Runtime Validation

ScriptGenerator

34

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Technical Approach

• Separating business and adaptation concerns

• AOM to analyse and reconfigure crosscutting features dynamically

• MDE to raise the level of abstraction • models at runtime, • model composition • automatic reconfiguration

35

Benoit Combemale (IRISA, Triskell), Oct. 2010.

The running system

Generating reconfiguration scripts

36

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Architecture Metamodel

- component, port, binding, etc- invariants

Reflection model (source)

Conforms to

The running system

Strong synchronizationintrospection + listeners

Generating reconfiguration scripts

36

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Architecture Metamodel

- component, port, binding, etc- invariants

Reflection model (source)

Conforms to

The running system

Strong synchronizationintrospection + listeners

Reasoning

Context info.

Context model

Design- models

Generating reconfiguration scripts

36

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Architecture Metamodel

- component, port, binding, etc- invariants

Reflection model (source)

Woven model (target)

Conforms to

The running system

Strong synchronizationintrospection + listeners

Reasoning

Context info.

Context model

Design- models

Generating reconfiguration scripts

36

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Architecture Metamodel

- component, port, binding, etc- invariants

Reflection model (source)

Woven model (target)

Conforms to

The running system

Strong synchronizationintrospection + listeners

Validation

Reasoning

Context info.

Context model

Design- models

Generating reconfiguration scripts

36

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Architecture Metamodel

- component, port, binding, etc- invariants

Reflection model (source)

Woven model (target)

Conforms to

Analyzer The running systemadapts

Strong synchronizationintrospection + listeners

Delayed synchronization

Validation

Reasoning

Context info.

Context model

Design- models

Generating reconfiguration scripts

36

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Aspect Weaving and Validation

• N aspects " 2N possible programs ! Each aspect can be woven or not ! However, there are some constraint

• Design-time validation ! As much as possible, but not always possible due to combinatorial explosion ! Evolution of requirements, once the system is deployed prevent 100%

beforehand validation • Complemented with runtime validation

! Invariant checking, simulation, etc ! Performed on the model, not on the running system ! Possibly performed outside of the running system

37

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Wrap-up

• The Need for Hyper-Agility

• From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS)

• (Aspect-Oriented) Modeling from Design to Runtime

• Models@Runtime to Support Dynamic Adaptation

38

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Handling Variability in DAS

• (D)SPL approach to tame !The combinatorial explosion of configurations !The quadratic explosion of transitions

• AOM to automatically build configuration !Runtime validation before adapting the running system ! Simple roll-back

• MDE to automate reconfiguration !Generation of safe reconfiguration scripts

39

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Models@runtime

• Aspect as variability units raised at the model level ! No explicit representation of ALL possible configurations ! Configurations obtained by weaving most adapted aspects on demand

at runtime

• MDE for automation of model composition ! Model Based Validation, Generation of reconfiguration scripts

• Applications ! DiVA: Airport Crisis Management, CRM ! Home Automation for Dependent Persons

• Spin-off from INRIA/U. Rennes to leverage this technology…

Brice Morin, Olivier Barais, Jean-Marc Jézéquel, Franck Fleurey, Arnor Solberg, "Models@ Run.time to Support Dynamic Adaptation", IEEE Computer, vol. 42, no. 10, pp. 44-51, Oct. 2009, doi:10.1109/MC.2009.327

Brice Morin, Olivier Barais, Grégory Nain, and Jean-Marc Jézéquel, "Taming Dynamically Adaptive Systems with Models and Aspects", 31st International Conference on Software Engineering (ICSE'09), May 2009.

40

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Conclusion

• Hyper-Agility !Agile (Software Development) + (Agile Software) Development

• Agile Software !Technological support for large-scale agile development

• AOMDE to tame software agility

41

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

42

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

Feed-back loop

42

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

• Executable MetaModeling

– tools for building tools for building software • Eg an aspect weaver for weaving aspect at runtime to handle safe

dynamic adaption of complex system – Thanks to Kermeta this is not just meta-bla-bla

• It works for real! Have a look at http://www.kermeta.org/

Feed-back loop

42

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

• Executable MetaModeling

– tools for building tools for building software • Eg an aspect weaver for weaving aspect at runtime to handle safe

dynamic adaption of complex system – Thanks to Kermeta this is not just meta-bla-bla

• It works for real! Have a look at http://www.kermeta.org/

Feed-back loop

42

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

• Executable MetaModeling

– tools for building tools for building software • Eg an aspect weaver for weaving aspect at runtime to handle safe

dynamic adaption of complex system – Thanks to Kermeta this is not just meta-bla-bla

• It works for real! Have a look at http://www.kermeta.org/

Feed-back loop

42

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

• Executable MetaModeling

– tools for building tools for building software • Eg an aspect weaver for weaving aspect at runtime to handle safe

dynamic adaption of complex system – Thanks to Kermeta this is not just meta-bla-bla

• It works for real! Have a look at http://www.kermeta.org/

Feed-back loop

42

Benoit Combemale (IRISA, Triskell), Oct. 2010.

Scientific objectives of Triskell: Combine formal methods & established practice

• Contracts and Aspects: from Requirements to Design to Runtime – Requirements by Contract, Analysis and

Design by Contract (inc. QoS) – Aspect-Oriented Requirements & Design – Integration of IoT &IoS

• Model-Based Testing – requirement based testing,

requirement validation – design based testing, design

validation

• Executable MetaModeling

– tools for building tools for building software • Eg an aspect weaver for weaving aspect at runtime to handle safe

dynamic adaption of complex system – Thanks to Kermeta this is not just meta-bla-bla

• It works for real! Have a look at http://www.kermeta.org/

Feed-back loop

Team Members (1st Sept., 2010): 8 Faculty or INRIA members, 1 INRIA delegation, 2 Post-Doc, 15 PhD students, and 4 Temporary Engineers Scientific Leader: Jean-Marc Jézéquel (Prof., Univ. Rennes 1)

42

MERCI !

43

Dr. Benoit Combemale [email protected]

http://www.irisa.fr/triskell/perso_pro/combemale With the help (and the slides) of:

Jean-Marc Jézéquel, Olivier Barais, Brice Morin, and Gregory Nain