SlideShare ist ein Scribd-Unternehmen logo
1 von 22
22/03/2010




Hyper-Agility: Handling Variability
  from Design-Time to Runtime

           Prof. Jean-Marc Jézéquel
                  jezequel@irisa.fr
          http://www.irisa.fr/prive/jezequel
          http://www irisa fr/prive/jezequel
                          With the help of:
            Olivier Barais, Brice Morin, Gregory Nain




                                                        1




Outline

• The Need for Hyper-Agility

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

• (Aspect-Oriented) Modeling of DAS

• Dynamic Adaption with Aspects & Models
                                                        2




                                                                    1
22/03/2010




Agile Manifesto

• 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

                                                 3




Towards Hyper-Agility

• Think of it as the Agile Manifesto @ runtime
     Individuals and interactions
     Working software
     Customer collaboration
     Responding to change




                                                 4




                                                             2
22/03/2010




           Example Application Domain

• Home-automation to help disabled people stay home
     • Aging society
         g g       y
     • 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




   Entimid




Cf demonstration at « fete de la science »




                                                                  3
22/03/2010




                                         EnTiMid : Integrating IoS & IoT
                                         [ServiceWave ’09]



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

                                                                           •OSGi based
                                                                           •MDE centric
                                                                           •Generative Approach




                                      Many Different Needs 1/2
                                       Mrs. Dupont

                                                             •Living at home
                                                             •Motion troubles
                                                             •Memory loss
                                                             •Speaks French (only)
                                                             •Home equiped with :
                      www.apt.gc.ca




                                                                •LonWorks (lights)
                                                                 Vel  (sh tters)
                                                                •Velux (shutters)
  Picture from http://w




                                                                                                          4
22/03/2010




                                        Many Different Needs 2/2
                                         Mr. John Doe

                                                            •English student
                                                            •Living at home
                                                            •He had an accident
              ttp://ditwww.epfl.ch




                                                            •He likes technology
                                                            •Wheelchair equipped with 
                                                            remote access for:
Picture from ht




                                                               •Lights and shutters (KNX)
                                                               •Multimedia (UPnP)




                                        Their needs
                                                            Both
    Medical/technical staff should be able to
       Check their health state
      •Check their health state
      •Check home configuration (shutters, lights, heaters…)

                                        Mrs. Dupont                        Mr. Doe
                                     Some daily tasks should be    Would like to control 
                                     automated (motion 
                                        t   t d ( ti               everything remotely, with 
                                                                   everything remotely  with 
                                     troubles) or reminded         a unified protocol
                                     (memory loss).

                                           Software Product Lines (SPL)




                                                                                                        5
22/03/2010




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

 Nokia Product Line                                                                       Variable features:
                                                                                          • color
                                                                                          • input method
                                                                                          • radio
                                                                                          • Internet calling
  Nokia 3710            Nokia 5230              Nokia 5800                   Nokia N900               ...
                                              • color = {red, blue, black}   • color = {bl k}
                                                                                 l     {black}
• color = {plum}    • color = {white,black}
                                              • keypad, touch screen,        • full keyboard, touch
• keypad,large keys • touch screen            stylus                         screen, stylus
• MMS               • MMS                     • MMS                          • MMS
• GPS               • GPS                                                                             Common
                                              • GPS                          • GPS
                                                                                                      features
• TCP/IP            • TCP/IP                  • TCP/IP                       • TCP/IP
• FM Radio          • FM Radio                • FM Radio                     • Internet calling




   Outline

   • The Need for Hyper-Agility

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

   • (Aspect-Oriented) Modeling of DAS

   • Dynamic Adaption with Aspects & Models
                                                                                                             12




                                                                                                                          6
22/03/2010




   Different variability dimensions
Protocols
    Low-level protocols: KNX, X2D, X10, etc
    High le el proto ols http UPnP DPWS et
     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 => DAS




Towards more complex DAS

 • Dynamic Adaptive Software (DAS) development:
    y         p              (   )       p
     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


                                                                         14




                                                                                      7
22/03/2010




      Challenges
Explosion of the number of possible configurations of Entimid
     1014 possible configurations!  1028 transitions!
Dynamic Adaptation
     Evolution of the handicap
     Houses should be configured remotely
        • No wires to connect/disconnect in the walls
     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




      Related works
                           Reliability, Validation
       K. Czarnecki et al.                     F. Fleurey et al.
       GPCE’06                                 Models@Run.Time’08
       J. Whittle et al.                             B. Cheng et al.
       MODELS’07                                     ICSE’06, AOSD’09
                                    U
                                                Oreizy et al.     OSGi, Fractal,
E. Figueiredo et al.
                                                ICSE’98           OpenCOM, etc
ICSE’08
Variability Management                      Dynamic Adaptation
                                             y         p
                           Hallsteinsen et al. Garlan et al.
   S. Appel et al.         Computer’08         Computer’04
   ICSE’06 M. Mezini et al.
                            B. Morin et al. P. David et al.
             FSE’04         MODELS’08 SC’06




                                                                                           8
22/03/2010




     Validation VS Variability management…
  How to validate DAS?
      Specify everything!
          • all the configurations: >1014
                         g
          • 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…
How to manage dynamic variability?
    Do not focus on configurations!
       • Write reconfiguration scripts, encapsulating « features »
                      g            p ,      p       g
    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…




                                                                                     9
22/03/2010




   Hyper-Agility with a
   DSPL Approach

•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




Outline

• The Need for Hyper-Agility

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

• (Aspect-Oriented) Modeling of DAS

• Dynamic Adaption with Aspects & Models
                                                    20




                                                                10
22/03/2010




Why modeling: master complexity

• Modeling, in the broadest sense, is the cost-effective use of something
  in place of something else for some cognitive purpose. It allows us to use
  something that is simpler, safer or cheaper than reality instead of
  reality for some purpose.

• A model represents reality for the given purpose; the model is an
  abstraction of reality in the sense that it cannot represent all
  aspects of reality. This allows us to deal with the world in a
              reality
  simplified manner, avoiding the complexity, danger and
  irreversibility of reality.
                                                                        Jeff Rothenberg.




Naive Model Driven Engineering
                                        Reliability            Security, survivability,
                                                               robustness




              Functionality
                                                                  Safety




                                                      Fault tolerance




                              Modelling activity

                                                                            Code Model

                                                                                           22




                                                                                                       11
22/03/2010




 Aspect Oriented
 Model Driven Engineering
                                                         Security
                                                                                              AOMDE = Pleonasm because
 Distribution
                                                                                             a Model is anAbstraction of an
                                                                                              Aspect of Reality for a given
                                                 Roles
                                                          Contexts

                                                                                                        Purpose
                                                          Views
                                                                     Activities




                               Fault tolerance           Functional behavior

Use case model
              borrow


                  return                                                          Platform
        deliver
                                                                                   Model
       rese
       rve
                  setDamaged
                                                                                                              Design
     Book       User
   state : String
                                                                                                              Model
                                                                      Change one Aspect and
                                                                     Automatically Re-Weave:
                                                                     From AORE, SPL to DAS


                                                                                                    Code
                                                                                                    Model
                                                                                                                         23




  Weaving Aspects: SmartAdapters
       • Two-phased:
                           1. Detection of the join points
                                  Uses Kermeta+DROOLS for pattern-matching
                               -> yield a list of join point
                           2. Generic Composition of the Advice at the level of
                              the join points.
       • SmartAdapters: a generic framework for AOM
                 p        g
                            Built with Kermeta (a tool to build tools)
                            Can be adapted to different modeling languages

                                                                                                                         24




                                                                                                                                     12
22/03/2010




Weaving in AOM
                                              b         c
                      Result
                                          d
                                   a
                                                                 pf               n
                                                                              o
                                                            qe
                                                                          m
  Base Model
                                                                                             Advice Model
             b   c
                                                                                                     n
                                                                                             o
     a
         d
                         e                  The morphisms
                                                                                         m                   p
                 f
                               h
                                             give Built-in
                         g                Tracability for free!
                                                    y                                                    q




                                                            j
                                                                      l
                                                    i


                                                                k
   f: Morphism obtained from
   the detection step                                                                   g:Morphism specified by
                                                                                        the user           25
                                              Pointcut Model




Smartadapters: 3 elements for composition

                     ClassA                   ClassB                                         A
                                                                                             B

                                                                                  C
 Join points
 identification ClassC                                                                           B
                                                                                                 C



  Advice         Add a root element                                                   Add a final state

                                   root

                                                                                                 A

                      ClassA                      ClassB
 Composition                                                                      C                              final



                                                                                             B
                      ClassC




                                                                                                                                13
22/03/2010




Weaving engine

   • Load adapter + base model
   • Pattern matching : {bindings}
                    g {b d g }
       Binding : Role (template elt) -> base model element

   • For each binding b selected by the user
       Apply the composition protocol
         • Just call adapter.apply(b)
            (directly implemented in the adaptation metamodel)


   • Save the result




Outline

• The Need for Hyper-Agility

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

• (Aspect-Oriented) Modeling of DAS

• Dynamic Adaption with Aspects & Models
                                                                 34




                                                                             14
22/03/2010




                                                                                                   Had a flu last week
                                                                                                     stayed in bed
   Big picture




                                                   Picture from http://www.apt.gc.ca
                                                                                                     a nurse every day
       EnTiMid          Design-time
                        Validation                                                                 Now in a better shape

                  Device
                controllers
                                                                                       Metamodel

             Light                Shutter
                     Derivation
                       AOM



Runtime             Target                                                              Model
Validation       configuration                                                         @runtime

                                        Script
                                       Generator



                                                                                       Running
                                                                                        system




Technical Approach

• Separating the application-specific functionality
  from the adaptation concerns in the
  requirements
• Aspect-oriented techniques used to analyse and
  reconfigure crosscutting features dynamically
• Model driven techniques used to raise the level
  of abstraction b providing models at runtime,
    f b      i by        idi     d l         i
  model composition and automatic
  reconfiguration of platform

                                                                                                                           36




                                                                                                                                       15
22/03/2010




Refining variants (features)
with aspect models

 • Mandatory e e e s  Base model
    a da o y elements         ase ode
 • One variant (leaf feature)  One aspect model
 • An aspect model
     Is a fragment of architecture (What? = advice)
     Should be easily plugged into the base architecture
                     y p gg
        • Where? = pointcut
        • How? = weaving directives




CAS architecture: driving aspect


                                            AddressDB



                                                          Calendar



       DrivingNotifier           VoiceChannel           Pointcut model




                          Forward
                         Telephony
  Advice model




                                                                                16
22/03/2010




 Base Model (Mandatory elements)




Base + Driving Aspect




                                          17
22/03/2010




Base + Driving + SmartPhone




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




                                                                                   18
22/03/2010




Generating reconfiguration scripts
                                Architecture Metamodel
                             -component, port, binding, etc
                                      - invariants



                                     Conforms to




                                         transfo
              Source model                                    Target model




       Introspection
       listeners
                                                          Delayed synchro


                                                    adapts
              The running system                                       Analyzer




Office -> Driving + SmartPhone




              Reconfiguration Script: automatically
                           generated




                                                                                         19
22/03/2010




Wrap-up

• The Need for Hyper-Agility

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

• (Aspect-Oriented) Modeling of DAS

• Dynamic Adaption with Aspects & Models
                                                     51




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




                                                                 20
22/03/2010




  Models@runtime
• Aspect as variability units raised at the model level
    No explicit representation of ALL possible configurations
    Config r tions obt ined b weaving most adapted aspects on
     Configurations obtained by e ing           d pted spe ts
     demand at runtime
• MDE for automation of model composition
    Model Based Validation, Generation of reconfiguration scripts
• Applications
    DiVA: Airport Crisis Management CRM
                          Management,
    Home Automation for Dependent Persons
      • Spin-off from INRIA/U. Rennes to leverage this technology…
          – Morin et al., Models@runtime, IEEE Computer 10/2009
          – Brice Morin, Olivier Barais, Grégory Nain, and Jean-Marc Jézéquel. -- Taming
            Dynamically Adaptive Systems with Models and Aspects. -- In 31st International
            Conference on Software Engineering (ICSE'09), Vancouver, Canada, May 2009.
                                                                                             53




Conclusion

• Aspects to model variability in DAS
• AOMDE is what MDE is really about
• Thanks to Kermeta this is not just meta-bla-bla
    A tool for building tools for building software
       • Eg an aspect weaver
           – For weaving aspect at runtime to handle safe dynamic
             adaption of complex system
    It works for real!


                                                                                             54




                                                                                                         21
22/03/2010




• http://aosd.net/2010




New modularity concepts, methods
and techniques for software systems


 Special keynote by Rod Johnson,
      co-founder of Spring!




                                             22

Weitere ähnliche Inhalte

Ähnlich wie Jm Jezequel irisa Aom4 agility

Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
Pankesh Patel
 
Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010
Kevin Griffin
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew eng
CineSoft
 
Cisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slidesCisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slides
Pedro Valente
 

Ähnlich wie Jm Jezequel irisa Aom4 agility (20)

Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-TimeHyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time
 
Guide Dogs and Digital Devices
Guide Dogs and Digital DevicesGuide Dogs and Digital Devices
Guide Dogs and Digital Devices
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
 
Drupal vs Sharepoint
Drupal vs SharepointDrupal vs Sharepoint
Drupal vs Sharepoint
 
Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010Multi Handset Development - ETE 2010
Multi Handset Development - ETE 2010
 
Comparisons of input modalities and methods
Comparisons of input modalities and methodsComparisons of input modalities and methods
Comparisons of input modalities and methods
 
Discover eZ Publish: why you have to know this product
Discover eZ Publish: why you have to know this productDiscover eZ Publish: why you have to know this product
Discover eZ Publish: why you have to know this product
 
Rails Ajax Universal Design
Rails Ajax Universal DesignRails Ajax Universal Design
Rails Ajax Universal Design
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew eng
 
Making the Managed Energy Home a Reality
Making the Managed Energy Home a RealityMaking the Managed Energy Home a Reality
Making the Managed Energy Home a Reality
 
Domotics: an open approach
Domotics: an open approachDomotics: an open approach
Domotics: an open approach
 
User Interface Prototyping - Low- and High-Fidelity Prototyping Today
User Interface Prototyping - Low- and High-Fidelity Prototyping TodayUser Interface Prototyping - Low- and High-Fidelity Prototyping Today
User Interface Prototyping - Low- and High-Fidelity Prototyping Today
 
Dr Unsoy Presentation at BIMY Conference on latest developments in the mobile...
Dr Unsoy Presentation at BIMY Conference on latest developments in the mobile...Dr Unsoy Presentation at BIMY Conference on latest developments in the mobile...
Dr Unsoy Presentation at BIMY Conference on latest developments in the mobile...
 
Apples’ iPhone, iPod touch and iPad Application Programming - CLASS 1
Apples’ iPhone, iPod touch and iPad Application Programming - CLASS 1Apples’ iPhone, iPod touch and iPad Application Programming - CLASS 1
Apples’ iPhone, iPod touch and iPad Application Programming - CLASS 1
 
rema del rosario
rema del rosariorema del rosario
rema del rosario
 
Cisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slidesCisti10 pvalente-presentation-slides
Cisti10 pvalente-presentation-slides
 
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
 
Using the HAAT model to select an appropriate ECU for your client
Using the HAAT model to select an appropriate ECU for your clientUsing the HAAT model to select an appropriate ECU for your client
Using the HAAT model to select an appropriate ECU for your client
 
Experiences with openEyA-Lecture Capture System (Pros and Cons)
Experiences with openEyA-Lecture Capture System (Pros and Cons)Experiences with openEyA-Lecture Capture System (Pros and Cons)
Experiences with openEyA-Lecture Capture System (Pros and Cons)
 
The influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devopsThe influence of "Distributed platforms" on #devops
The influence of "Distributed platforms" on #devops
 

Mehr von Cédric WILLIAMSON

Mehr von Cédric WILLIAMSON (11)

Hogunsoft presentation meito atelier crm
Hogunsoft  presentation meito atelier crmHogunsoft  presentation meito atelier crm
Hogunsoft presentation meito atelier crm
 
Hisseo presentation meito atelier crm
Hisseo presentation meito atelier crmHisseo presentation meito atelier crm
Hisseo presentation meito atelier crm
 
Hogunsoft presentation meito atelier crm
Hogunsoft  presentation meito atelier crmHogunsoft  presentation meito atelier crm
Hogunsoft presentation meito atelier crm
 
Logica presentation meito atelier crm
Logica presentation meito atelier crmLogica presentation meito atelier crm
Logica presentation meito atelier crm
 
Thales
ThalesThales
Thales
 
Irisa p gros
Irisa p grosIrisa p gros
Irisa p gros
 
In pixal fusion_algos
In pixal fusion_algosIn pixal fusion_algos
In pixal fusion_algos
 
Advansee
AdvanseeAdvansee
Advansee
 
L Morisseau Adoption De L Agilite
L Morisseau Adoption De L AgiliteL Morisseau Adoption De L Agilite
L Morisseau Adoption De L Agilite
 
Anteo Mda Aosd
Anteo Mda AosdAnteo Mda Aosd
Anteo Mda Aosd
 
Exibri Software Product Lines Aosd
Exibri Software Product Lines AosdExibri Software Product Lines Aosd
Exibri Software Product Lines Aosd
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Jm Jezequel irisa Aom4 agility

  • 1. 22/03/2010 Hyper-Agility: Handling Variability from Design-Time to Runtime Prof. Jean-Marc Jézéquel jezequel@irisa.fr http://www.irisa.fr/prive/jezequel http://www irisa fr/prive/jezequel With the help of: Olivier Barais, Brice Morin, Gregory Nain 1 Outline • The Need for Hyper-Agility • From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS) • (Aspect-Oriented) Modeling of DAS • Dynamic Adaption with Aspects & Models 2 1
  • 2. 22/03/2010 Agile Manifesto • 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 3 Towards Hyper-Agility • Think of it as the Agile Manifesto @ runtime  Individuals and interactions  Working software  Customer collaboration  Responding to change 4 2
  • 3. 22/03/2010 Example Application Domain • Home-automation to help disabled people stay home • Aging society g g y • 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 Entimid Cf demonstration at « fete de la science » 3
  • 4. 22/03/2010 EnTiMid : Integrating IoS & IoT [ServiceWave ’09] Controlling Boiler/Shutters from GoogleAgenda through a browser or an iPhone •OSGi based •MDE centric •Generative Approach Many Different Needs 1/2 Mrs. Dupont •Living at home •Motion troubles •Memory loss •Speaks French (only) •Home equiped with : www.apt.gc.ca •LonWorks (lights) Vel  (sh tters) •Velux (shutters) Picture from http://w 4
  • 5. 22/03/2010 Many Different Needs 2/2 Mr. John Doe •English student •Living at home •He had an accident ttp://ditwww.epfl.ch •He likes technology •Wheelchair equipped with  remote access for: Picture from ht •Lights and shutters (KNX) •Multimedia (UPnP) Their needs Both Medical/technical staff should be able to Check their health state •Check their health state •Check home configuration (shutters, lights, heaters…) Mrs. Dupont Mr. Doe Some daily tasks should be  Would like to control  automated (motion  t t d ( ti   everything remotely, with  everything remotely  with  troubles) or reminded  a unified protocol (memory loss).  Software Product Lines (SPL) 5
  • 6. 22/03/2010 Software Product Lines (SPL) • Families of related software products • The products have a common part and a variable part Nokia Product Line Variable features: • color • input method • radio • Internet calling Nokia 3710 Nokia 5230 Nokia 5800 Nokia N900 ... • color = {red, blue, black} • color = {bl k} l {black} • color = {plum} • color = {white,black} • keypad, touch screen, • full keyboard, touch • keypad,large keys • touch screen stylus screen, stylus • MMS • MMS • MMS • MMS • GPS • GPS Common • GPS • GPS features • TCP/IP • TCP/IP • TCP/IP • TCP/IP • FM Radio • FM Radio • FM Radio • Internet calling Outline • The Need for Hyper-Agility • From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS) • (Aspect-Oriented) Modeling of DAS • Dynamic Adaption with Aspects & Models 12 6
  • 7. 22/03/2010 Different variability dimensions Protocols  Low-level protocols: KNX, X2D, X10, etc  High le el proto ols http UPnP DPWS et 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 => DAS Towards more complex DAS • Dynamic Adaptive Software (DAS) development: y p ( ) p  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 14 7
  • 8. 22/03/2010 Challenges Explosion of the number of possible configurations of Entimid  1014 possible configurations!  1028 transitions! Dynamic Adaptation  Evolution of the handicap  Houses should be configured remotely • No wires to connect/disconnect in the walls  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 Related works Reliability, Validation K. Czarnecki et al. F. Fleurey et al. GPCE’06 Models@Run.Time’08 J. Whittle et al. B. Cheng et al. MODELS’07 ICSE’06, AOSD’09 U Oreizy et al. OSGi, Fractal, E. Figueiredo et al. ICSE’98 OpenCOM, etc ICSE’08 Variability Management Dynamic Adaptation y p Hallsteinsen et al. Garlan et al. S. Appel et al. Computer’08 Computer’04 ICSE’06 M. Mezini et al. B. Morin et al. P. David et al. FSE’04 MODELS’08 SC’06 8
  • 9. 22/03/2010 Validation VS Variability management… How to validate DAS?  Specify everything! • all the configurations: >1014 g • 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… How to manage dynamic variability?  Do not focus on configurations! • Write reconfiguration scripts, encapsulating « features » g p , p g  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… 9
  • 10. 22/03/2010 Hyper-Agility with a DSPL Approach •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 Outline • The Need for Hyper-Agility • From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS) • (Aspect-Oriented) Modeling of DAS • Dynamic Adaption with Aspects & Models 20 10
  • 11. 22/03/2010 Why modeling: master complexity • Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose. • A model represents reality for the given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a reality simplified manner, avoiding the complexity, danger and irreversibility of reality. Jeff Rothenberg. Naive Model Driven Engineering Reliability Security, survivability, robustness Functionality Safety Fault tolerance Modelling activity Code Model 22 11
  • 12. 22/03/2010 Aspect Oriented Model Driven Engineering Security AOMDE = Pleonasm because Distribution a Model is anAbstraction of an Aspect of Reality for a given Roles Contexts Purpose Views Activities Fault tolerance Functional behavior Use case model borrow return Platform deliver Model rese rve setDamaged Design Book User state : String Model Change one Aspect and Automatically Re-Weave: From AORE, SPL to DAS Code Model 23 Weaving Aspects: SmartAdapters • Two-phased: 1. Detection of the join points Uses Kermeta+DROOLS for pattern-matching -> yield a list of join point 2. Generic Composition of the Advice at the level of the join points. • SmartAdapters: a generic framework for AOM p g  Built with Kermeta (a tool to build tools)  Can be adapted to different modeling languages 24 12
  • 13. 22/03/2010 Weaving in AOM b c Result d a pf n o qe m Base Model Advice Model b c n o a d e The morphisms m p f h give Built-in g Tracability for free! y q j l i k f: Morphism obtained from the detection step g:Morphism specified by the user 25 Pointcut Model Smartadapters: 3 elements for composition ClassA ClassB A B C Join points identification ClassC B C Advice Add a root element Add a final state root A ClassA ClassB Composition C final B ClassC 13
  • 14. 22/03/2010 Weaving engine • Load adapter + base model • Pattern matching : {bindings} g {b d g }  Binding : Role (template elt) -> base model element • For each binding b selected by the user  Apply the composition protocol • Just call adapter.apply(b) (directly implemented in the adaptation metamodel) • Save the result Outline • The Need for Hyper-Agility • From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS) • (Aspect-Oriented) Modeling of DAS • Dynamic Adaption with Aspects & Models 34 14
  • 15. 22/03/2010 Had a flu last week  stayed in bed Big picture Picture from http://www.apt.gc.ca  a nurse every day EnTiMid Design-time Validation Now in a better shape Device controllers Metamodel Light Shutter Derivation AOM Runtime Target Model Validation configuration @runtime Script Generator Running system Technical Approach • Separating the application-specific functionality from the adaptation concerns in the requirements • Aspect-oriented techniques used to analyse and reconfigure crosscutting features dynamically • Model driven techniques used to raise the level of abstraction b providing models at runtime, f b i by idi d l i model composition and automatic reconfiguration of platform 36 15
  • 16. 22/03/2010 Refining variants (features) with aspect models • Mandatory e e e s  Base model a da o y elements ase ode • One variant (leaf feature)  One aspect model • An aspect model  Is a fragment of architecture (What? = advice)  Should be easily plugged into the base architecture y p gg • Where? = pointcut • How? = weaving directives CAS architecture: driving aspect AddressDB Calendar DrivingNotifier VoiceChannel Pointcut model Forward Telephony Advice model 16
  • 17. 22/03/2010 Base Model (Mandatory elements) Base + Driving Aspect 17
  • 18. 22/03/2010 Base + Driving + SmartPhone 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 18
  • 19. 22/03/2010 Generating reconfiguration scripts Architecture Metamodel -component, port, binding, etc - invariants Conforms to transfo Source model Target model Introspection listeners Delayed synchro adapts The running system Analyzer Office -> Driving + SmartPhone Reconfiguration Script: automatically generated 19
  • 20. 22/03/2010 Wrap-up • The Need for Hyper-Agility • From Software Product-Lines (SPL) … … to Dynamic Adaptive Systems (DAS) • (Aspect-Oriented) Modeling of DAS • Dynamic Adaption with Aspects & Models 51 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 20
  • 21. 22/03/2010 Models@runtime • Aspect as variability units raised at the model level  No explicit representation of ALL possible configurations  Config r tions obt ined b weaving most adapted aspects on Configurations obtained by e ing d pted spe ts demand at runtime • MDE for automation of model composition  Model Based Validation, Generation of reconfiguration scripts • Applications  DiVA: Airport Crisis Management CRM Management,  Home Automation for Dependent Persons • Spin-off from INRIA/U. Rennes to leverage this technology… – Morin et al., Models@runtime, IEEE Computer 10/2009 – Brice Morin, Olivier Barais, Grégory Nain, and Jean-Marc Jézéquel. -- Taming Dynamically Adaptive Systems with Models and Aspects. -- In 31st International Conference on Software Engineering (ICSE'09), Vancouver, Canada, May 2009. 53 Conclusion • Aspects to model variability in DAS • AOMDE is what MDE is really about • Thanks to Kermeta this is not just meta-bla-bla  A tool for building tools for building software • Eg an aspect weaver – For weaving aspect at runtime to handle safe dynamic adaption of complex system  It works for real! 54 21
  • 22. 22/03/2010 • http://aosd.net/2010 New modularity concepts, methods and techniques for software systems Special keynote by Rod Johnson, co-founder of Spring! 22