SlideShare a Scribd company logo
1 of 42
Download to read offline
S-Cube Learning Package

Designing and migrating Service-Based Applications:
   Techniques for design for adaptation

          Politecnico di Milano (POLIMI),
          Fondazione Bruno Kesler (FBK)


 Elisabetta Di Nitto and Cinzia Cappiello (POLIMI),
            Antonio Bucchiarone (FBK)

                  www.s-cube-network.eu
Learning Package Categorization

                         S-Cube



           Engineering Principles, Techniques
                   & Methodologies



                Designing and migrating
               Service-Based Applications



           Techniques for design for adaptation

                                            © Di Nitto, Cappiello, Bucchiarone
Learning Package Overview



§  Problem Description (changes in the world and self-
    adaptation)
§  Support to self-adaptation during the lifecycle of a SBA
§  Context changes and self-adaptation
§  Conclusions




                                                © Di Nitto, Cappiello, Bucchiarone
The machine and the world




                  Domain
                  properties
                  (assumptions)




 Goals             Specification
 Requirements
Software lifecycle changes



   §  Clear distinction between development and execution
       time


       Design
       Verification         Execution
       Deployment

   §  Every change in the world requires the execution be
       interrupted and a new software be developed and
       deployed
What are the changes we need to care
of?

                             Functional
                Goals/
             Requirements
                            Non-functional


                                                               e.g., moving from
                                                Location        open air to the
                                                                 meeting room
                                User
     World
                                                                e.g., today I do
                                               Preferences       not feel I can
                                                               take phone calls


                                                New SLA

                Domain        Business
              properties
               (context)                     New regulation


                                                               e.g., the service
                                                               I’m using is not
                                                                   working
                                             Changes in used
                                                resources
                                                               e.g., I’ve run out
                               System                          of computational
                                                                   resources
                                              SLA has been
                                                 broken
                                                                                    6
How can software systems
tackle these changes?



                    Reason
                     and
                                        Adapt
                    make
                   decision



                              Monitor




                                                7
IBM Model for autonomic computing




                                    8
Monitoring

§  Monitor all possible data
§  Activate/deactivate various levels of monitoring depending on
    the situation
§  Perform some filtering to limit the amount of monitoring data
    offered to the system
§  Correlate data




                                                                    9
Reasoning on monitoring results (1)

§  Reasoning can be hardcoded in the execution environment
   –  E.g.: always replace a failing service with the first one you find in a
      directory
   –  Advantage: No need to perform specific programming actions to
      achieve self-adaptation
   –  Drawback: Limited to a set of predefined options




                                                                                10
Reasoning on monitoring results (2)

§  Programming mechanisms are made available to define
    adaptation strategies
   –  Usually, rule-based languages. Strategies defined in terms of Event-
      conditions-actions rules
   –  Advantage: good level of flexibility in defining system-dependent
      strategies
   –  Drawback: rule-based programming approach is difficult to use.
      Validation of result is challenging
   –  Examples: SCENE (SeCSE), SOA4All




                                                                             11
Reasoning on monitoring results (3)

§  Modeling languages and approaches are offered to define
    adaptation strategies …
   –  Use of formal methods
   –  Possibility to check the effect of adaptation before enacting it

§  Examples: ASTRO, Service-tiles (see later)…




                                                                         12
Actuating adaptation

§  Many variations
   –  Can be specific of a single system instance or it can apply to all
      running instances
   –  Can impact only on future instances of system
   –  Can be permanent or transitory




                                                                           13
Learning Package Overview



§  Problem Description (changes in the world and self-
    adaptation)
§  Support to self-adaptation during the lifecycle of a SBA
§  Context changes and self-adaptation
§  Conclusions




                                               © Di Nitto, Cappiello, Bucchiarone
Problem we tackle here

§  Design for Adaptation
   –  Adaptation Triggers
   –  Adaptation Strategies
   –  Mechanisms to enable adaptation that associate strategies with
      triggers

§  Today
   –  Existing design methodologies do not take into account the problem of
      SBAs adaptation in a holistic way, but only in a fragmented way

§  Our Proposal
   –  Design phase
   –  We suggest a number of design principles and guidelines to enable
      adaptation
   –  We propose an extension of a basic iterative SBAs life-cycle
Motivating Scenarios

§  The life-cycles and frameworks available for SBAs do not
    support adaptation or tend to focus on specific adaptation
    strategies
§  We consider three scenarios from different domains with
    different adaptation aspects.
   –  Automotive
   –  Wine Production
   –  Mobile Users

§  SBAs have to face very different adaptation needs
Automotive Scenario

§  Scenario Description
   –  Supply-chain business processes in the automobile production domain
      -  Ordering and importing automobile body parts from supplier
      -  manufactoring activities
      -  customization of the products according to customers’ needs
   –  Long running processes involving a wide range of enterprise services
      -  Agile Service Network (ASN)

§  Scenario Adaptations
   –  Partner can be chosen at runtime from those belonging to the ASN
   –  SBA needs to recover from some problem and to accomodate some
      change in the business context
Wine Production Scenario

§  Scenario Description
   –  SBA realized on a top of a Wireless Sensor and Actuator Nework
   –  Activities of vineyard cultivation handling, the control of grapes
      maturation, their harvesting and fermentation

§  Scenario Adaptations
   –  Ability of autonomously detect problems
       -  Replace devices that may crash, run out of battery or provide
          incorrect information
       -  Change the topology of network to optimize the load and the
          distribution of the sensors
Mobile Users Scenario

§  Scenario Description
   –  A huge number of applications aims to give end user access to various
      services through mobile devices
      -  Navigation and route planning, services for accessing social
         networking and blogging

§  Scenario Adaptations
   –  Continuously changing context
      -  e.g. Network throughput, user location and time, etc.
   –  Continuously changing user goals and activities
Main Ingredients of an Adaptable SBA
Life-cycle for SBAs
Adaptation Strategies

§  To mantain aligned the application behaviour with the context
    and system requirements
   –  Service substitution
   –  Re-execution
   –  (Re-)negotiation
   –  (Re-)composition
   –  Compensation
   –  Log/Update adaptation Information
   –  Fail
Adaptation Triggers

§  The adaptation may be motivated by variety of triggers
§  Component Services
   –  Service functionality
   –  Service quality

§  SBAs context
   –  Business context
   –  Computational context
   –  User context
Adaptation Strategies & Triggers

§  To re-align the application within the system and/or context
    requirements
§  Each trigger can be associated with a set of adaptation
    strategies
Design Guidelines

§  Design adaptable SBAs implies relate adaptation triggers and
    adaptation strategies together
   –  Modeling adaptation triggers
   –  Realizing adaptation strategies
   –  Associating adaptation strategies to triggers

§  Design approaches
   –  Built-in adaptation
   –  Abstraction-based adaptation
   –  Dynamic adaptation
Discussion – Automotive Scenario

§  Properties
     –  Stable Context and partners
     –  Long-running SBA instances
     –  Diversity of Adaptation needs
     –  Decisions require human involvement
§  Adaptation Triggers
     –  Functional changes
     –  SLA violations
     –  Changes in business context
§  Design Approach
     –  Dynamic Adaptation (human-driven)
     –  Built-in Adaptation (for compensation or process customization)
§  Adaptation Strategy
     –  Service substitution
     –  SLA re-negotiation
     –  Re-composition by ad-hoc changes of process control/data
     –  Trigger evolution
Discussion – Wine Scenario

§  Properties
    –  Fully dynamic and unreliable services
    –  Fully autonomous SBA
§  Adaptation Triggers
    –  Degrade of service (sensor) QoS
§  Design Approach
    –  Abstraction-based adaptation
§  Adaptation Strategy
    –  Re-composition of services
    –  Domain-specific actions
        -  e.g. data transfer frequency changes
Discussion – Mobile User

§  Properties
    –  Strong dependency from context and goals of users
§  Adaptation Triggers
    –  Context changes
    –  Changes of user activities
§  Design Approach
    –  Abstraction-based adaptation (for context changes)
    –  Dynamic adaptation
§  Adaptation Strategy
    –  Service substitution (by dynamic discovery)
    –  Service re-composition
Learning Package Overview



§  Problem Description (changes in the world and self-
    adaptation)
§  Support to self-adaptation during the lifecycle of a SBA
§  Context changes and self-adaptation
§  Conclusions




                                                © Di Nitto, Cappiello, Bucchiarone
Problem we tackle here



§  Focus on the role of the context in Service Based Applications
   –  How and when the context should be defined
   –  How the context should be exploited
   –  How the context should be evolved
   –  What is the impact of the context on the various adaptation activities
Context and context model

§  Context: any information that can be used to characterize
    persons, places or objects that are considered relevant to the
    interaction between a user and the application
§  Context model: Captures dimensions that can trigger
    adaptation
   –  Six dimensions
      -  TimeContext
      -  AmbientContext: e.g., location of users
      -  UserContext: i.e., user preferences
      -  ServiceContext: i.e., services used by the application
      -  BusinessContext: e.g., conditions in which application runs
      -  ComputationalContext: e.g., device that runs the application
   –  We have an XML representation of the context
A Context-driven Adaptation Process
               Monitored                     Define adaptation and
                Events                       monitoring requirements
                                                                                Design
                                        Context                           Context Dimensions
 Adaptation                            Early Requirement
                                       Properties
                                                                          Design monitoring
Requirements                           Engineering                         And adaptation

                                                       Context
 Adaptation        Identify           Runtime         Requirement
 strategies                                           Properties
                   adaptation        Monitoring       Engineering
                                                       Watchers             Context Modeling
                   requirements                       and Design

                               Operation,                                Design context-driven
      Identify                 management and                                 Reasoners
      adaptation               quality assurance
      strategy                                                   Construction

                                                                        Contextual Monitors
  Strategy                      Deployment                                      And
  Instance     Enact
                                and provisioning                       Adaptation Mechanisms
               adaptation
                                             Deploy        Design monitoring
                        Adaptation    Contextual Monitors   And adaptation
                        Mechanism             And
                                     Adaptation Mechanisms
E-government Scenario
Design Context Dimensions

  §  Decide which context dimensions are relevant for the
      application
                     Application     Time   Ambient   User   Service   Computing   Business


     Design        Health-care        X        X       X       X          X           X
Context Dimensions
                    Administrative    X        X       X       X          X           X
                    Census & Reg               X       X       X          X           X
 Early              Information       X        X       X       X          X           X
 Requirement
 Engineering        Auxiliary                  X               X          X           X
               Requirement
               Engineering
               and Design
Context modeling

 §  Instantiate the domain for context dimensions
            SBA context


                          Ambient    Space                    Zip codes

                                      Citizen,
                           User      Authority…
                                                   Normal,
                          Business                Emergency
Context Modeling
                                                                 Morning,
                                                                afternoon,
                           Time
  Requirement                                                    evening
  Engineering
  and Design
                          Service       Used Services

                                                         Pda, PC, Phone
                      Computing
Design of context-driven adaptation
  reasoner
  §  Changes in dimensions can trigger the corresponding
      strategies
                   Application       Time   Ambient   User   Service   Computing   Business


                  Service             X       X        X       X          X           X
                  substitution
Design of           Re-execution                               X          X           X
context-driven
adaptation reasoner
                    Re-composition                             X          X           X
                  Fail (Abort)                         X       X          X           X
                  Concretization      X       X        X       X          X           X
  Requirement
  Engineering     Re-negotiation                       X                  X           X
  and Design
                  Compensation                                 X          X
                  Evolution                   X        X       X          X           X
Requirement Engineering Outcome
                    Monitored
                     Events                                       Design
                                                            Context Dimensions
 Adaptation                       Early Requirement
Requirements                      Engineering
                                                             Context Modeling
 Adaptation        Identify                 Requirement
 strategies                                 Engineering
                   adaptation
                   requirements             and Design  Design context-driven
                                                                Reasoners

                                                                 Context
      Identify
                                                                Properties
      adaptation
      strategy                                        Construction
Learning Package Overview



§  Problem Description (changes in the world and self-
    adaptation)
§  Support to self-adaptation during the lifecycle of a SBA
§  Context changes and self-adaptation
§  Conclusions




                                                © Di Nitto, Cappiello, Bucchiarone
Conclusions

§  We propose a framework to support the design of SBAs that
    targets the adaptation requirements raised by context
    changes
§  We propose a novel life-cycle that emphasizes the relevance
    of the context dimensions in the different facets of adaptation,
    both during the design phase and at run-time.
§  The proposed approach provides guidelines for
   –  The identification of the relevant context dimensions to monitor
   –  The definition of the adaptation triggers able to link context changes
      with suitable adaptation strategies

§  The effectiveness of the approach has been evaluated by
    considering some realistic scenarios
Open issues and challenges

§  How to test self-adaptable software
§  Support to unforeseen changes
§  Preventive adaptation
§  Dependable self-adaptable software
§  …




                                          40
Further S-Cube Reading

§  A. Bucchiarone, C. Cappiello, E. Di Nitto, R. Kazhamiakin, V. Mazza, M.
    Pistore, “Design for Adaptation of Service-Based Applications: Main Issues
    and Requirements”. ICSOC/ServiceWave Workshops 2009: 467-476
§  A. Bucchiarone, C. Cappiello, E. Di Nitto, R. Kazhamiakin, V. Mazza, "A
    Context-driven Adaptation Process for Service-based Applications".
    Proceedings of the PESOS workshop in conjunction with the ICSE
    conference, 2010
§  A. Metzger, E. Schmieders, C. Cappiello, E. Di Nitto, R. Kazhamiakin, B.
    Pernici, et al. (2010). Towards Proactive Adaptation: A Journey along the
    S-Cube Service Life-Cycle. In MESOA: 4th International Workshop on
    Maintenance and Evolution of Service-Oriented Systems.
§  A. Bucchiarone, C. Cappiello, E. Di Nitto, S. Gorlatch, D. Meiländer, A.
    Metzger, “Design for self-adaptation in Service-oriented systems in the
    Cloud”. In: European Research Activities in Cloud Computing, to appear.



                                                        © Di Nitto, Cappiello, Bucchiarone
Acknowledgements




      The research leading to these results has
      received funding from the European
      Community’s Seventh Framework
      Programme [FP7/2007-2013] under grant
      agreement 215483 (S-Cube).




                                        © Di Nitto, Cappiello, Bucchiarone

More Related Content

Viewers also liked

Cxc pob sba template with mark scheme
Cxc pob sba template with mark schemeCxc pob sba template with mark scheme
Cxc pob sba template with mark scheme
superbmars
 

Viewers also liked (11)

POB SBA
POB SBA POB SBA
POB SBA
 
Cxc pob sba template with mark scheme
Cxc pob sba template with mark schemeCxc pob sba template with mark scheme
Cxc pob sba template with mark scheme
 
Principles of Business (POB) SBA
Principles of Business (POB) SBAPrinciples of Business (POB) SBA
Principles of Business (POB) SBA
 
POB SBA
POB SBA POB SBA
POB SBA
 
Principal of business
Principal of businessPrincipal of business
Principal of business
 
principle of accounts sba
principle of accounts sbaprinciple of accounts sba
principle of accounts sba
 
Shaneka pob sba
Shaneka pob sbaShaneka pob sba
Shaneka pob sba
 
Pob sba
Pob sbaPob sba
Pob sba
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to S-CUBE LP: Techniques for design for adaptation

S-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive AdaptationS-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive Adaptation
virtual-campus
 
Learning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain EnvironmentsLearning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain Environments
Pooyan Jamshidi
 
Enterprise performance engineering solutions
Enterprise performance engineering solutionsEnterprise performance engineering solutions
Enterprise performance engineering solutions
Infosys
 

Similar to S-CUBE LP: Techniques for design for adaptation (20)

S-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive AdaptationS-CUBE LP: Online Testing for Proactive Adaptation
S-CUBE LP: Online Testing for Proactive Adaptation
 
Jee performance tuning existing applications
Jee performance tuning existing applicationsJee performance tuning existing applications
Jee performance tuning existing applications
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Learning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain EnvironmentsLearning Software Performance Models for Dynamic and Uncertain Environments
Learning Software Performance Models for Dynamic and Uncertain Environments
 
Windows azure scalability
Windows azure scalabilityWindows azure scalability
Windows azure scalability
 
The Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenanceThe Essential Guide for Automating CMDB population and maintenance
The Essential Guide for Automating CMDB population and maintenance
 
Kutulu: A Domain-specific Language for Feature-driven Product Derivation
Kutulu: A Domain-specific Language for Feature-driven Product DerivationKutulu: A Domain-specific Language for Feature-driven Product Derivation
Kutulu: A Domain-specific Language for Feature-driven Product Derivation
 
Metadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerMetadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework Manager
 
Dynamic Component Deployment and (Re) Configuration Using a Unified Framework
Dynamic Component Deployment and (Re) Configuration Using a Unified FrameworkDynamic Component Deployment and (Re) Configuration Using a Unified Framework
Dynamic Component Deployment and (Re) Configuration Using a Unified Framework
 
Enterprise performance engineering solutions
Enterprise performance engineering solutionsEnterprise performance engineering solutions
Enterprise performance engineering solutions
 
Example business continuity plan
Example business continuity planExample business continuity plan
Example business continuity plan
 
IoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the CloudIoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the Cloud
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering Process
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is built
 
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Preventing the Next Deployment Issue with Continuous Performance Testing and ...Preventing the Next Deployment Issue with Continuous Performance Testing and ...
Preventing the Next Deployment Issue with Continuous Performance Testing and ...
 
IT Ops Mgmt in the New Virtualized, Software-defined World
IT Ops Mgmt in the New Virtualized, Software-defined WorldIT Ops Mgmt in the New Virtualized, Software-defined World
IT Ops Mgmt in the New Virtualized, Software-defined World
 
BestPractices_SoftwareChangeMgmt
BestPractices_SoftwareChangeMgmtBestPractices_SoftwareChangeMgmt
BestPractices_SoftwareChangeMgmt
 
Design principles & quality factors
Design principles & quality factorsDesign principles & quality factors
Design principles & quality factors
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance cost
 

More from virtual-campus

S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
virtual-campus
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical MetaphorS-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
virtual-campus
 
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
virtual-campus
 
S-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL ProgrammingS-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL Programming
virtual-campus
 
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical InterpreterS-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
virtual-campus
 
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
virtual-campus
 
S-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task ModelsS-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task Models
virtual-campus
 
S-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software DevelopmentS-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software Development
virtual-campus
 
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented SystemsS-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
virtual-campus
 
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
virtual-campus
 
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
virtual-campus
 
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency AnalysisS-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
virtual-campus
 
S-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service CompositionsS-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service Compositions
virtual-campus
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
virtual-campus
 
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event LogsS-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
virtual-campus
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiation
virtual-campus
 
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service SelectionS-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
virtual-campus
 
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services OrchestrationsS-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
virtual-campus
 
S-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive AdaptationS-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive Adaptation
virtual-campus
 
S-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality PredictionS-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality Prediction
virtual-campus
 

More from virtual-campus (20)

S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical MetaphorS-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
 
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
 
S-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL ProgrammingS-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL Programming
 
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical InterpreterS-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
 
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
 
S-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task ModelsS-CUBE LP: Service Discovery and Task Models
S-CUBE LP: Service Discovery and Task Models
 
S-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software DevelopmentS-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software Development
 
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented SystemsS-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
 
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
 
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
 
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency AnalysisS-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
 
S-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service CompositionsS-CUBE LP: Process Performance Monitoring in Service Compositions
S-CUBE LP: Process Performance Monitoring in Service Compositions
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event LogsS-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiation
 
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service SelectionS-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
 
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services OrchestrationsS-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
 
S-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive AdaptationS-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive Adaptation
 
S-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality PredictionS-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality Prediction
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
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
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

S-CUBE LP: Techniques for design for adaptation

  • 1. S-Cube Learning Package Designing and migrating Service-Based Applications: Techniques for design for adaptation Politecnico di Milano (POLIMI), Fondazione Bruno Kesler (FBK) Elisabetta Di Nitto and Cinzia Cappiello (POLIMI), Antonio Bucchiarone (FBK) www.s-cube-network.eu
  • 2. Learning Package Categorization S-Cube Engineering Principles, Techniques & Methodologies Designing and migrating Service-Based Applications Techniques for design for adaptation © Di Nitto, Cappiello, Bucchiarone
  • 3. Learning Package Overview §  Problem Description (changes in the world and self- adaptation) §  Support to self-adaptation during the lifecycle of a SBA §  Context changes and self-adaptation §  Conclusions © Di Nitto, Cappiello, Bucchiarone
  • 4. The machine and the world Domain properties (assumptions) Goals Specification Requirements
  • 5. Software lifecycle changes §  Clear distinction between development and execution time Design Verification Execution Deployment §  Every change in the world requires the execution be interrupted and a new software be developed and deployed
  • 6. What are the changes we need to care of? Functional Goals/ Requirements Non-functional e.g., moving from Location open air to the meeting room User World e.g., today I do Preferences not feel I can take phone calls New SLA Domain Business properties (context) New regulation e.g., the service I’m using is not working Changes in used resources e.g., I’ve run out System of computational resources SLA has been broken 6
  • 7. How can software systems tackle these changes? Reason and Adapt make decision Monitor 7
  • 8. IBM Model for autonomic computing 8
  • 9. Monitoring §  Monitor all possible data §  Activate/deactivate various levels of monitoring depending on the situation §  Perform some filtering to limit the amount of monitoring data offered to the system §  Correlate data 9
  • 10. Reasoning on monitoring results (1) §  Reasoning can be hardcoded in the execution environment –  E.g.: always replace a failing service with the first one you find in a directory –  Advantage: No need to perform specific programming actions to achieve self-adaptation –  Drawback: Limited to a set of predefined options 10
  • 11. Reasoning on monitoring results (2) §  Programming mechanisms are made available to define adaptation strategies –  Usually, rule-based languages. Strategies defined in terms of Event- conditions-actions rules –  Advantage: good level of flexibility in defining system-dependent strategies –  Drawback: rule-based programming approach is difficult to use. Validation of result is challenging –  Examples: SCENE (SeCSE), SOA4All 11
  • 12. Reasoning on monitoring results (3) §  Modeling languages and approaches are offered to define adaptation strategies … –  Use of formal methods –  Possibility to check the effect of adaptation before enacting it §  Examples: ASTRO, Service-tiles (see later)… 12
  • 13. Actuating adaptation §  Many variations –  Can be specific of a single system instance or it can apply to all running instances –  Can impact only on future instances of system –  Can be permanent or transitory 13
  • 14. Learning Package Overview §  Problem Description (changes in the world and self- adaptation) §  Support to self-adaptation during the lifecycle of a SBA §  Context changes and self-adaptation §  Conclusions © Di Nitto, Cappiello, Bucchiarone
  • 15. Problem we tackle here §  Design for Adaptation –  Adaptation Triggers –  Adaptation Strategies –  Mechanisms to enable adaptation that associate strategies with triggers §  Today –  Existing design methodologies do not take into account the problem of SBAs adaptation in a holistic way, but only in a fragmented way §  Our Proposal –  Design phase –  We suggest a number of design principles and guidelines to enable adaptation –  We propose an extension of a basic iterative SBAs life-cycle
  • 16. Motivating Scenarios §  The life-cycles and frameworks available for SBAs do not support adaptation or tend to focus on specific adaptation strategies §  We consider three scenarios from different domains with different adaptation aspects. –  Automotive –  Wine Production –  Mobile Users §  SBAs have to face very different adaptation needs
  • 17. Automotive Scenario §  Scenario Description –  Supply-chain business processes in the automobile production domain -  Ordering and importing automobile body parts from supplier -  manufactoring activities -  customization of the products according to customers’ needs –  Long running processes involving a wide range of enterprise services -  Agile Service Network (ASN) §  Scenario Adaptations –  Partner can be chosen at runtime from those belonging to the ASN –  SBA needs to recover from some problem and to accomodate some change in the business context
  • 18. Wine Production Scenario §  Scenario Description –  SBA realized on a top of a Wireless Sensor and Actuator Nework –  Activities of vineyard cultivation handling, the control of grapes maturation, their harvesting and fermentation §  Scenario Adaptations –  Ability of autonomously detect problems -  Replace devices that may crash, run out of battery or provide incorrect information -  Change the topology of network to optimize the load and the distribution of the sensors
  • 19. Mobile Users Scenario §  Scenario Description –  A huge number of applications aims to give end user access to various services through mobile devices -  Navigation and route planning, services for accessing social networking and blogging §  Scenario Adaptations –  Continuously changing context -  e.g. Network throughput, user location and time, etc. –  Continuously changing user goals and activities
  • 20. Main Ingredients of an Adaptable SBA
  • 22. Adaptation Strategies §  To mantain aligned the application behaviour with the context and system requirements –  Service substitution –  Re-execution –  (Re-)negotiation –  (Re-)composition –  Compensation –  Log/Update adaptation Information –  Fail
  • 23. Adaptation Triggers §  The adaptation may be motivated by variety of triggers §  Component Services –  Service functionality –  Service quality §  SBAs context –  Business context –  Computational context –  User context
  • 24. Adaptation Strategies & Triggers §  To re-align the application within the system and/or context requirements §  Each trigger can be associated with a set of adaptation strategies
  • 25. Design Guidelines §  Design adaptable SBAs implies relate adaptation triggers and adaptation strategies together –  Modeling adaptation triggers –  Realizing adaptation strategies –  Associating adaptation strategies to triggers §  Design approaches –  Built-in adaptation –  Abstraction-based adaptation –  Dynamic adaptation
  • 26. Discussion – Automotive Scenario §  Properties –  Stable Context and partners –  Long-running SBA instances –  Diversity of Adaptation needs –  Decisions require human involvement §  Adaptation Triggers –  Functional changes –  SLA violations –  Changes in business context §  Design Approach –  Dynamic Adaptation (human-driven) –  Built-in Adaptation (for compensation or process customization) §  Adaptation Strategy –  Service substitution –  SLA re-negotiation –  Re-composition by ad-hoc changes of process control/data –  Trigger evolution
  • 27. Discussion – Wine Scenario §  Properties –  Fully dynamic and unreliable services –  Fully autonomous SBA §  Adaptation Triggers –  Degrade of service (sensor) QoS §  Design Approach –  Abstraction-based adaptation §  Adaptation Strategy –  Re-composition of services –  Domain-specific actions -  e.g. data transfer frequency changes
  • 28. Discussion – Mobile User §  Properties –  Strong dependency from context and goals of users §  Adaptation Triggers –  Context changes –  Changes of user activities §  Design Approach –  Abstraction-based adaptation (for context changes) –  Dynamic adaptation §  Adaptation Strategy –  Service substitution (by dynamic discovery) –  Service re-composition
  • 29. Learning Package Overview §  Problem Description (changes in the world and self- adaptation) §  Support to self-adaptation during the lifecycle of a SBA §  Context changes and self-adaptation §  Conclusions © Di Nitto, Cappiello, Bucchiarone
  • 30. Problem we tackle here §  Focus on the role of the context in Service Based Applications –  How and when the context should be defined –  How the context should be exploited –  How the context should be evolved –  What is the impact of the context on the various adaptation activities
  • 31. Context and context model §  Context: any information that can be used to characterize persons, places or objects that are considered relevant to the interaction between a user and the application §  Context model: Captures dimensions that can trigger adaptation –  Six dimensions -  TimeContext -  AmbientContext: e.g., location of users -  UserContext: i.e., user preferences -  ServiceContext: i.e., services used by the application -  BusinessContext: e.g., conditions in which application runs -  ComputationalContext: e.g., device that runs the application –  We have an XML representation of the context
  • 32. A Context-driven Adaptation Process Monitored Define adaptation and Events monitoring requirements Design Context Context Dimensions Adaptation Early Requirement Properties Design monitoring Requirements Engineering And adaptation Context Adaptation Identify Runtime Requirement strategies Properties adaptation Monitoring Engineering Watchers Context Modeling requirements and Design Operation, Design context-driven Identify management and Reasoners adaptation quality assurance strategy Construction Contextual Monitors Strategy Deployment And Instance Enact and provisioning Adaptation Mechanisms adaptation Deploy Design monitoring Adaptation Contextual Monitors And adaptation Mechanism And Adaptation Mechanisms
  • 34. Design Context Dimensions §  Decide which context dimensions are relevant for the application Application Time Ambient User Service Computing Business Design Health-care X X X X X X Context Dimensions Administrative X X X X X X Census & Reg X X X X X Early Information X X X X X X Requirement Engineering Auxiliary X X X X Requirement Engineering and Design
  • 35. Context modeling §  Instantiate the domain for context dimensions SBA context Ambient Space Zip codes Citizen, User Authority… Normal, Business Emergency Context Modeling Morning, afternoon, Time Requirement evening Engineering and Design Service Used Services Pda, PC, Phone Computing
  • 36. Design of context-driven adaptation reasoner §  Changes in dimensions can trigger the corresponding strategies Application Time Ambient User Service Computing Business Service X X X X X X substitution Design of Re-execution X X X context-driven adaptation reasoner Re-composition X X X Fail (Abort) X X X X Concretization X X X X X X Requirement Engineering Re-negotiation X X X and Design Compensation X X Evolution X X X X X
  • 37. Requirement Engineering Outcome Monitored Events Design Context Dimensions Adaptation Early Requirement Requirements Engineering Context Modeling Adaptation Identify Requirement strategies Engineering adaptation requirements and Design Design context-driven Reasoners Context Identify Properties adaptation strategy Construction
  • 38. Learning Package Overview §  Problem Description (changes in the world and self- adaptation) §  Support to self-adaptation during the lifecycle of a SBA §  Context changes and self-adaptation §  Conclusions © Di Nitto, Cappiello, Bucchiarone
  • 39. Conclusions §  We propose a framework to support the design of SBAs that targets the adaptation requirements raised by context changes §  We propose a novel life-cycle that emphasizes the relevance of the context dimensions in the different facets of adaptation, both during the design phase and at run-time. §  The proposed approach provides guidelines for –  The identification of the relevant context dimensions to monitor –  The definition of the adaptation triggers able to link context changes with suitable adaptation strategies §  The effectiveness of the approach has been evaluated by considering some realistic scenarios
  • 40. Open issues and challenges §  How to test self-adaptable software §  Support to unforeseen changes §  Preventive adaptation §  Dependable self-adaptable software §  … 40
  • 41. Further S-Cube Reading §  A. Bucchiarone, C. Cappiello, E. Di Nitto, R. Kazhamiakin, V. Mazza, M. Pistore, “Design for Adaptation of Service-Based Applications: Main Issues and Requirements”. ICSOC/ServiceWave Workshops 2009: 467-476 §  A. Bucchiarone, C. Cappiello, E. Di Nitto, R. Kazhamiakin, V. Mazza, "A Context-driven Adaptation Process for Service-based Applications". Proceedings of the PESOS workshop in conjunction with the ICSE conference, 2010 §  A. Metzger, E. Schmieders, C. Cappiello, E. Di Nitto, R. Kazhamiakin, B. Pernici, et al. (2010). Towards Proactive Adaptation: A Journey along the S-Cube Service Life-Cycle. In MESOA: 4th International Workshop on Maintenance and Evolution of Service-Oriented Systems. §  A. Bucchiarone, C. Cappiello, E. Di Nitto, S. Gorlatch, D. Meiländer, A. Metzger, “Design for self-adaptation in Service-oriented systems in the Cloud”. In: European Research Activities in Cloud Computing, to appear. © Di Nitto, Cappiello, Bucchiarone
  • 42. Acknowledgements The research leading to these results has received funding from the European Community’s Seventh Framework Programme [FP7/2007-2013] under grant agreement 215483 (S-Cube). © Di Nitto, Cappiello, Bucchiarone