SlideShare a Scribd company logo
1


Hyper-Agility:
A Model-Driven Software Agility
from Design-Time to Run-Time
Dr. Benoit Combemale
benoit.combemale@irisa.fr
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
benoit.combemale@irisa.fr
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
benoit.combemale@irisa.fr
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/2Picturefromhttp://www.apt.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)
Picturefromhttp://ditwww.epfl.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. Doe
Some 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.
Models@Run.Time’08
Hallsteinsen et al.
Computer’08
OSGi, Fractal,

OpenCOM, etc
Garlan et al.

Computer’04
U Oreizy 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
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
Use case model
Platform
Model
Benoit Combemale (IRISA, Triskell), Oct. 2010. 28
Aspect Oriented 

Model Driven Engineering
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
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
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
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
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
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
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
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
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
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
Book
state : String
User
borrow
return
deliver
setDamaged
reser
ve
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
Running

system
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Model

@runtime
Running

system
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Model

@runtime
Running

system
Metamodel
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Model

@runtime
Running

system
Metamodel
EnTiMid
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Model

@runtime
Running

system
Metamodel
EnTiMid Design-time

Validation
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Model

@runtime
Running

system
EnTiMid Design-time

Validation
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Model

@runtime
Running

system
EnTiMid
Picturefromhttp://www.apt.gc.ca
Had a flu last week
" stayed in bed
" a nurse every day
Design-time

Validation
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Target

configuration
Model

@runtime
Running

system
EnTiMid
Picturefromhttp://www.apt.gc.ca
Had a flu last week
" stayed in bed
" a nurse every day
Derivation

AOM
Design-time

Validation
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Target

configuration
Model

@runtime
Running

system
EnTiMid
Picturefromhttp://www.apt.gc.ca
Had a flu last week
" stayed in bed
" a nurse every day
Derivation

AOM
Design-time

Validation
Runtime

Validation
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Target

configuration
Model

@runtime
Running

system
EnTiMid
Picturefromhttp://www.apt.gc.ca
Had a flu last week
" stayed in bed
" a nurse every day
Derivation

AOM
Design-time

Validation
Runtime

Validation
Script

Generator
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Target

configuration
Model

@runtime
Running

system
EnTiMid
Picturefromhttp://www.apt.gc.ca
Had a flu last week
" stayed in bed
" a nurse every day
Now in a better shape
Derivation

AOM
Design-time

Validation
Runtime

Validation
Script

Generator
34
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Big picture
Device
controllers
Light Shutter
Target

configuration
Model

@runtime
Running

system
EnTiMid
Picturefromhttp://www.apt.gc.ca
Had a flu last week
" stayed in bed
" a nurse every day
Now in a better shape
Derivation

AOM
Design-time

Validation
Runtime

Validation
Script

Generator
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 synchronization

introspection + 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 synchronization

introspection + 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 synchronization

introspection + 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 synchronization

introspection + 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 system
adapts
Strong synchronization

introspection + 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
benoit.combemale@irisa.fr
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

More Related Content

PDF
Designing IoT
PDF
ARToolworks ARE 2011 Presentation
PDF
0626 2014 01_toronto-smac meetup_io_t
PDF
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
PDF
Xem nutruoisanghen
DOCX
Lich euro 2016 an chay ramadan
PPTX
電影工作室
PPT
Designing IoT
ARToolworks ARE 2011 Presentation
0626 2014 01_toronto-smac meetup_io_t
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
Xem nutruoisanghen
Lich euro 2016 an chay ramadan
電影工作室

Viewers also liked (14)

PPTX
Xiqui Beivide - Densidad (bachillerato)
PDF
ECPI - Unofficial Transcript
PPT
Canova Iadis Mobile Learning 2009
DOCX
Lich thi dau euro 2016 tuyen italia
PPT
Christmas Karlo 7b
ZIP
David A. Burgess's Presentation at eComm 2009
PDF
HR-форум Юга России. Х-фактор лидерства: как выявить лучшее, что есть в ваших...
PDF
Kamanja: Driving Business Value through Real-Time Decisioning Solutions
PPTX
Elementos de la traducción del ARN
PDF
EAGES Proceedings - Introduction
ODP
Xmasperformance09
PDF
EAGES Proceedings - G. Taylor
DOCX
What is Fatigue in Mechanics Of Material .
PDF
Xinyue zhao
Xiqui Beivide - Densidad (bachillerato)
ECPI - Unofficial Transcript
Canova Iadis Mobile Learning 2009
Lich thi dau euro 2016 tuyen italia
Christmas Karlo 7b
David A. Burgess's Presentation at eComm 2009
HR-форум Юга России. Х-фактор лидерства: как выявить лучшее, что есть в ваших...
Kamanja: Driving Business Value through Real-Time Decisioning Solutions
Elementos de la traducción del ARN
EAGES Proceedings - Introduction
Xmasperformance09
EAGES Proceedings - G. Taylor
What is Fatigue in Mechanics Of Material .
Xinyue zhao
Ad

Similar to Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time (20)

PPTX
why agile?
PPSX
Software Development
PPT
Unit 1.ppt
KEY
Agile Development Overview (with a bit about builds)
PDF
Introduction To Agile Refresh Savannah July20 2010 V1 4
PPT
Using Agile Methodologies
PPTX
Unit iii-Architecture in the lifecycle
PPTX
Making the Transition to Agile: what we did, what worked, and what we learned
PPTX
From XP and Continuous Integration to DevOps
PPTX
A model driven development framework for developing sense-compute-control app...
PPT
Manual Software testing - software development life cycle
KEY
Agile Architecture (MAE slides)
PPTX
Emerging Trends of Software Engineering
PDF
City universitylondon devprocess_g_a_reitsch
PDF
SRCenabling application development for the internet of things
PDF
Agile methodologiesvswaterfall
PDF
Agile Methodologies by TechDesti
PDF
Agile Database Development - SDC2012
PPTX
Interview preparation full_stack_java
why agile?
Software Development
Unit 1.ppt
Agile Development Overview (with a bit about builds)
Introduction To Agile Refresh Savannah July20 2010 V1 4
Using Agile Methodologies
Unit iii-Architecture in the lifecycle
Making the Transition to Agile: what we did, what worked, and what we learned
From XP and Continuous Integration to DevOps
A model driven development framework for developing sense-compute-control app...
Manual Software testing - software development life cycle
Agile Architecture (MAE slides)
Emerging Trends of Software Engineering
City universitylondon devprocess_g_a_reitsch
SRCenabling application development for the internet of things
Agile methodologiesvswaterfall
Agile Methodologies by TechDesti
Agile Database Development - SDC2012
Interview preparation full_stack_java
Ad

More from Benoit Combemale (20)

PDF
When Scientific Software Meets (Model-Driven) Software Engineering
PDF
Table ronde: les sciences du logiciel au croisement des autres sciences
PDF
Towards Smart Modeling (Environments)
PDF
SLE Most Influential Paper (MIP) Awards 2018 and 2019
PDF
Breathe Life Into Your IDE
PDF
Model Execution: Past, Present and Future
PDF
Execution Framework of the GEMOC Studio
PDF
Smart Modeling: On the Convergence of Scientific and Engineering Models
PDF
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
PDF
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
PDF
Introduction of the SLE'17 conference
PDF
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
PDF
Inria/CWI ALE team (progresses in Sep., 2017)
PDF
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
PDF
Modeling for Sustainability
PDF
Dynamic V&V in Language-Oriented Modeling
PDF
Model executability within the GEMOC Studio
PDF
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
PDF
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
PDF
Concurrency reification in the xDSML with MoCCML
When Scientific Software Meets (Model-Driven) Software Engineering
Table ronde: les sciences du logiciel au croisement des autres sciences
Towards Smart Modeling (Environments)
SLE Most Influential Paper (MIP) Awards 2018 and 2019
Breathe Life Into Your IDE
Model Execution: Past, Present and Future
Execution Framework of the GEMOC Studio
Smart Modeling: On the Convergence of Scientific and Engineering Models
Model Simulation, Graphical Animation, and Omniscient Debugging with EcoreToo...
Modeling For Sustainability: Or How to Make Smart CPS Smarter?
Introduction of the SLE'17 conference
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
Inria/CWI ALE team (progresses in Sep., 2017)
Sound, yet Flexible, Modeling: A Language Engineering Point Of View
Modeling for Sustainability
Dynamic V&V in Language-Oriented Modeling
Model executability within the GEMOC Studio
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
Concurrency reification in the xDSML with MoCCML

Recently uploaded (20)

PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
System and Network Administration Chapter 2
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
top salesforce developer skills in 2025.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Nekopoi APK 2025 free lastest update
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Introduction to Artificial Intelligence
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
System and Network Administration Chapter 2
Navsoft: AI-Powered Business Solutions & Custom Software Development
top salesforce developer skills in 2025.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Nekopoi APK 2025 free lastest update
Understanding Forklifts - TECH EHS Solution
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Upgrade and Innovation Strategies for SAP ERP Customers
How to Choose the Right IT Partner for Your Business in Malaysia
Introduction to Artificial Intelligence
CHAPTER 2 - PM Management and IT Context
wealthsignaloriginal-com-DS-text-... (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms II-SECS-1021-03
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Reimagine Home Health with the Power of Agentic AI​
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...

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

  • 1. 1 
 Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time Dr. Benoit Combemale benoit.combemale@irisa.fr 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
  • 2. 
 Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time 1 Dr. Benoit Combemale benoit.combemale@irisa.fr 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
  • 3. 
 Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time 1 Dr. Benoit Combemale benoit.combemale@irisa.fr 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
  • 4. Benoit Combemale (IRISA, Triskell), Oct. 2010. Agile Software Development 2 Agile ( Software Development )
  • 5. Benoit Combemale (IRISA, Triskell), Oct. 2010. Agile Software 3 ( Agile Software ) Development
  • 6. 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
  • 7. 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
  • 8. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6
  • 9. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6
  • 10. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6 - Reutilisability - Durability
  • 11. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6 - Reutilisability - Durability - Platform
  • 12. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6 - Reutilisability - Durability - Platform Time To Market! => Large Scale Agile Development
  • 13. 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
  • 14. 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!
  • 15. Benoit Combemale (IRISA, Triskell), Oct. 2010. Software Product Lines (SPL) 8
  • 16. Benoit Combemale (IRISA, Triskell), Oct. 2010. Software Product Lines (SPL) • Families of related software products 8
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. Benoit Combemale (IRISA, Triskell), Oct. 2010. 9 The need for Agile Software @ Run Time
  • 23. 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
  • 24. 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
  • 25. Benoit Combemale (IRISA, Triskell), Oct. 2010. Entimid Cf demonstration at « fete de la science 2009 » http://www.irisa.fr/videos/fete-sciences-2009/ 12
  • 26. Benoit Combemale (IRISA, Triskell), Oct. 2010. Entimid Cf demonstration at « fete de la science 2009 » http://www.irisa.fr/videos/fete-sciences-2009/ 12
  • 27. Benoit Combemale (IRISA, Triskell), Oct. 2010. Many Different Needs 1/2Picturefromhttp://www.apt.gc.ca •Living at home •Motion troubles •Memory loss •Speaks French (only) •Home equiped with : •LonWorks (lights) •Velux (shutters) Mrs. Dupont 13
  • 28. 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) Picturefromhttp://ditwww.epfl.ch Mr. John Doe 14
  • 29. 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. Doe Some daily tasks should be automated (motion troubles) or reminded (memory loss). Would like to control everything remotely, with a unified protocol 15
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. Benoit Combemale (IRISA, Triskell), Oct. 2010. Related works 22
  • 38. Benoit Combemale (IRISA, Triskell), Oct. 2010. Related works Dynamic Adaptation Reliability, Validation Variability Management U 22
  • 39. 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. Models@Run.Time’08 Hallsteinsen et al. Computer’08 OSGi, Fractal,
 OpenCOM, etc Garlan et al.
 Computer’04 U Oreizy et al.
 ICSE’98 22
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Naive Model Driven Engineering
  • 45. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering
  • 46. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Code Model
  • 47. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Code Model
  • 48. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Functionality Code Model
  • 49. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Safety Reliability Security, survivability, robustness Functionality Code Model Fault tolerance
  • 50. Benoit Combemale (IRISA, Triskell), Oct. 2010. 28 Aspect Oriented 
 Model Driven Engineering
  • 51. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve Use case model Platform Model Benoit Combemale (IRISA, Triskell), Oct. 2010. 28 Aspect Oriented 
 Model Driven Engineering
  • 52. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve 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
  • 53. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve 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
  • 54. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve 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
  • 55. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve 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
  • 56. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve 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
  • 57. Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged reser ve 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.
  • 58. 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
  • 59. 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
  • 60. 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
  • 61. 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
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Running
 system 34
  • 66. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Model
 @runtime Running
 system 34
  • 67. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Model
 @runtime Running
 system Metamodel 34
  • 68. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system Metamodel EnTiMid 34
  • 69. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system Metamodel EnTiMid Design-time
 Validation 34
  • 70. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system EnTiMid Design-time
 Validation 34
  • 71. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system EnTiMid Picturefromhttp://www.apt.gc.ca Had a flu last week " stayed in bed " a nurse every day Design-time
 Validation 34
  • 72. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Target
 configuration Model
 @runtime Running
 system EnTiMid Picturefromhttp://www.apt.gc.ca Had a flu last week " stayed in bed " a nurse every day Derivation
 AOM Design-time
 Validation 34
  • 73. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Target
 configuration Model
 @runtime Running
 system EnTiMid Picturefromhttp://www.apt.gc.ca Had a flu last week " stayed in bed " a nurse every day Derivation
 AOM Design-time
 Validation Runtime
 Validation 34
  • 74. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Target
 configuration Model
 @runtime Running
 system EnTiMid Picturefromhttp://www.apt.gc.ca Had a flu last week " stayed in bed " a nurse every day Derivation
 AOM Design-time
 Validation Runtime
 Validation Script
 Generator 34
  • 75. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Target
 configuration Model
 @runtime Running
 system EnTiMid Picturefromhttp://www.apt.gc.ca Had a flu last week " stayed in bed " a nurse every day Now in a better shape Derivation
 AOM Design-time
 Validation Runtime
 Validation Script
 Generator 34
  • 76. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Target
 configuration Model
 @runtime Running
 system EnTiMid Picturefromhttp://www.apt.gc.ca Had a flu last week " stayed in bed " a nurse every day Now in a better shape Derivation
 AOM Design-time
 Validation Runtime
 Validation Script
 Generator 34
  • 77. 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
  • 78. Benoit Combemale (IRISA, Triskell), Oct. 2010. The running system Generating reconfiguration scripts 36
  • 79. Benoit Combemale (IRISA, Triskell), Oct. 2010. Architecture Metamodel - component, port, binding, etc
 - invariants Reflection model (source) Conforms to The running system Strong synchronization
 introspection + listeners Generating reconfiguration scripts 36
  • 80. Benoit Combemale (IRISA, Triskell), Oct. 2010. Architecture Metamodel - component, port, binding, etc
 - invariants Reflection model (source) Conforms to The running system Strong synchronization
 introspection + listeners Reasoning Context info. Context model Design- models Generating reconfiguration scripts 36
  • 81. 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 synchronization
 introspection + listeners Reasoning Context info. Context model Design- models Generating reconfiguration scripts 36
  • 82. 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 synchronization
 introspection + listeners Validation Reasoning Context info. Context model Design- models Generating reconfiguration scripts 36
  • 83. Benoit Combemale (IRISA, Triskell), Oct. 2010. Architecture Metamodel - component, port, binding, etc
 - invariants Reflection model (source) Woven model (target) Conforms to Analyzer The running system adapts Strong synchronization
 introspection + listeners Delayed synchronization Validation Reasoning Context info. Context model Design- models Generating reconfiguration scripts 36
  • 84. 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
  • 85. 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
  • 86. 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
  • 87. 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
  • 88. 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
  • 89. 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
  • 90. 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
  • 91. 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
  • 92. 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
  • 93. 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
  • 94. 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
  • 95. 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
  • 96. MERCI ! 43 Dr. Benoit Combemale benoit.combemale@irisa.fr 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