Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
1


Hyper-Agility:
A Model-Driven Software Agility
from Design-Time to Run-Time
Dr. Benoit Combemale
benoit.combemale@iris...


Hyper-Agility:
A Model-Driven Software Agility
from Design-Time to Run-Time
1
Dr. Benoit Combemale
benoit.combemale@iris...


Hyper-Agility:
A Model-Driven Software Agility
from Design-Time to Run-Time
1
Dr. Benoit Combemale
benoit.combemale@iris...
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) ...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Manifesto for
Agile Software Development
• Individuals and interactions
!ov...
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
...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
The need for
Agile Software @ Design Time
6
- Reutilisability
- Durability
...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
(A) Manifesto for
Agile Software @ Design Time
• Individuals and interactio...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
(A) Manifesto for
Agile Software @ Design Time
• Individuals and interactio...
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 ...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
...
Software Product Lines (SPL)
• color = {black}
• full keyboard, touch s...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
...
Software Product Lines (SPL)
• color = {black}
• full keyboard, touch s...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
...
Software Product Lines (SPL)
Variable features:
• color
• input method
...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
...
Software Product Lines (SPL)
Variable features:
• color
• input method
...
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
• Hospi...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
EnTiMid : Integrating IoS & IoT 

(Grégory Nain PhD, cf. [ServiceWave ’08])...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Entimid
Cf demonstration at « fete de la science 2009 »
http://www.irisa.fr...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Entimid
Cf demonstration at « fete de la science 2009 »
http://www.irisa.fr...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Many Different Needs 1/2Picturefromhttp://www.apt.gc.ca
•Living at home
•Mo...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Many Different Needs 2/2
•English student
•Living at home
•He had an accide...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
# Software Product Lines (SPL)
Their needs
Medical/technical staff should b...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
#Protocols
! Low-level protocols: KNX, X2D, X10, etc
! High-level protocols...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
(A) Manifesto for
Agile Software @ Run Time
17
• Individuals and interactio...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Outline
18
• The Need for Hyper-Agility
• From Software Product-Lines (SPL)...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Autonomic Computing
Jeffrey O. Kephart, David M. Chess, "The Vision of Auto...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Autonomic Computing
Jeffrey O. Kephart, David M. Chess, "The Vision of Auto...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Towards more complex DAS
• Dynamic Adaptive Software (DAS) development:
! A...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
#Explosion of the number of possible configurations of Entimid
! 1014 possi...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Related works
22
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Related works
Dynamic Adaptation
Reliability, Validation
Variability Manage...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Related works
B. Cheng et al.

ICSE’06, AOSD’09
Dynamic Adaptation
Reliabil...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
#How to validate DAS?
! Specify everything!
• all the configurations: >1014...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
#How to manage dynamic variability?
! Do not focus on configurations!
• Wri...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
•Focus on variability, not on configurations
•Build (derive) configurations...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Outline
26
• The Need for Hyper-Agility
• From Software Product-Lines (SPL)...
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 Mod...
Benoit Combemale (IRISA, Triskell), Oct. 2010. 27
Modelling activity
Naive Model Driven Engineering
Safety
Reliability
Sec...
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
...
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
...
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
...
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
...
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
...
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
...
Distribution
Fault tolerance
Security
Functional behavior
Book
state : String
User
borrow
return
deliver
setDamaged
reser
...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Weaving Aspects: SmartAdapters
(Brice Morin PhD)
• SmartAdapters: a generic...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Meta-code 

generator
code 

generator
Metamodel
(conforms to MOF)
Aspect M...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Meta-code 

generator
code 

generator
Metamodel
(conforms to MOF)
Aspect M...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Meta-code 

generator
code 

generator
Metamodel
(conforms to MOF)
Aspect M...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Java EMF +Drools
code Runtime AOM
Weaver
In memory base model
In memory wov...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
! Adoption/Ease of Use
! " Directly rely on domain concepts (here, architec...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Outline
33
• The Need for Hyper-Agility
• From Software Product-Lines (SPL)...
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

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

@runtime
Running

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

@runtime
Running

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

@runtime
Running

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

configuration
Model

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

configuration
Model

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

configuration
Model

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

configuration
Model

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

configuration
Model

@...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Technical Approach
• Separating business and adaptation concerns
• AOM to a...
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
Reflec...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Architecture Metamodel
- component, port, binding, etc

- invariants
Reflec...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Architecture Metamodel
- component, port, binding, etc

- invariants
Reflec...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Architecture Metamodel
- component, port, binding, etc

- invariants
Reflec...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Architecture Metamodel
- component, port, binding, etc

- invariants
Reflec...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Aspect Weaving and Validation
• N aspects " 2N possible programs
! Each asp...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Wrap-up
• The Need for Hyper-Agility
• From Software Product-Lines (SPL) …
...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Handling Variability in DAS
• (D)SPL approach to tame
!The combinatorial ex...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Models@runtime
• Aspect as variability units raised at the model level
! No...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Conclusion
• Hyper-Agility
!Agile (Software Development) + (Agile Software)...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
Benoit Combemale (IRISA, Triskell), Oct. 2010.
Scientific objectives of Triskell:
Combine formal methods & established pra...
MERCI !
43
Dr. Benoit Combemale
benoit.combemale@irisa.fr
http://www.irisa.fr/triskell/perso_pro/combemale
With the help (...
Prochain SlideShare
Chargement dans…5
×

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

377 vues

Publié le

Talk given at Agile Tour Rennes, Oct. 2010.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

  1. 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. 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. 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. 4. Benoit Combemale (IRISA, Triskell), Oct. 2010. Agile Software Development 2 Agile ( Software Development )
  5. 5. Benoit Combemale (IRISA, Triskell), Oct. 2010. Agile Software 3 ( Agile Software ) Development
  6. 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. 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. 8. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6
  9. 9. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6
  10. 10. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6 - Reutilisability - Durability
  11. 11. Benoit Combemale (IRISA, Triskell), Oct. 2010. The need for Agile Software @ Design Time 6 - Reutilisability - Durability - Platform
  12. 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. 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. 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. 15. Benoit Combemale (IRISA, Triskell), Oct. 2010. Software Product Lines (SPL) 8
  16. 16. Benoit Combemale (IRISA, Triskell), Oct. 2010. Software Product Lines (SPL) • Families of related software products 8
  17. 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. 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. 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. 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. 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. 22. Benoit Combemale (IRISA, Triskell), Oct. 2010. 9 The need for Agile Software @ Run Time
  23. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 37. Benoit Combemale (IRISA, Triskell), Oct. 2010. Related works 22
  38. 38. Benoit Combemale (IRISA, Triskell), Oct. 2010. Related works Dynamic Adaptation Reliability, Validation Variability Management U 22
  39. 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. 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. 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. 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. 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. 44. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Naive Model Driven Engineering
  45. 45. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering
  46. 46. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Code Model
  47. 47. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Code Model
  48. 48. Benoit Combemale (IRISA, Triskell), Oct. 2010. 27 Modelling activity Naive Model Driven Engineering Functionality Code Model
  49. 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. 50. Benoit Combemale (IRISA, Triskell), Oct. 2010. 28 Aspect Oriented 
 Model Driven Engineering
  51. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 65. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Running
 system 34
  66. 66. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Model
 @runtime Running
 system 34
  67. 67. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Model
 @runtime Running
 system Metamodel 34
  68. 68. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system Metamodel EnTiMid 34
  69. 69. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system Metamodel EnTiMid Design-time
 Validation 34
  70. 70. Benoit Combemale (IRISA, Triskell), Oct. 2010. Big picture Device controllers Light Shutter Model
 @runtime Running
 system EnTiMid Design-time
 Validation 34
  71. 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. 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. 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. 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. 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. 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. 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. 78. Benoit Combemale (IRISA, Triskell), Oct. 2010. The running system Generating reconfiguration scripts 36
  79. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×