Upload
norman-maxwell
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
Engineering Self-adaptive Service Mashups
Mahdi BashariLS3 ColloquiumMay 7th 2014
Outline
Background Motivation SASEM Framework
Service Mashup
A service mashup is a new service that uses functionalities or data of more than one service to provide a new functionality.
Service mashups allow rapid development of simple yet efficient customized application for a specific context.
Goal: building the service without having technical knowledge about the constituting services and with the least effort.
Difference with Service Composition
Service mashups can be reused more easily. Service mashups usually use web technologies
and standards. Service mashup are light weight in the sense that
mashup itself usually use external functionality and have minimal functionality-related code.
The service should be possible to build by a non-expert, without using complex development environment.
Why Service Mashup
Popularity online services: more and more companies provide their application
API through online services
Ease of use of services: service can be well-defined interface which allow to
use their functionality at high-level without concerning about the details of how the functionalities are provided
=>Provide user with tools to compose their needed services.
Example: Padmapper
Example: Trendsmap
Self-adaptation
Self-Adaptation is ability of a system to change of properties and behavior of itself at runtime in response to dynamically varying user needs and context.
Example: Your cellphone Goal: maintaining desirable service in a dynamic
context
Why Self-adaptation
To maintain service. To perform optimally. To prevent from failure. …
Software Product Line (SPL)
The Software Product Line Engineering (SPLE) paradigm suggests an effective way to deal with the variability of similar products especially when satisfying requirements of different operating environments and users.
Goal: Mass production and mass customization at the same time
Why Software Product Line?
Reduce effort Increase Quality Decrease time to market Customer customization
How: by managing variability systematically
Outline
Background Motivation SASEM Framework
Problems with Service Mashup
Lack of reliability Unguaranteed quality of service Lack of versatility
Solution: self-adaptation
There are usually alternative services providing same or similar functionality on the web.
Service mashup can adapt to use other available service in order to: Maintain functionality when one of its services fail to
provide its service Maintain quality of service when current service
mashup does not satisfy desirable QoS Maintain service when current service mashup cannot
provide requested service
Problem with self-adaptation
Hard to implement (even for experts) In many cases unreliable In many cases inefficient
Solution: SASEM
SASEM is a process, a runtime engine and a supporting toolkit for building self-adaptive service mashups which adopts the methods and models mostly from DSPL in order to enable easy to implement self-adaptive service mashups by the non-expert user.
Research Statement
Self-adaptation in service-mashup can help their reliability , efficiency and flexibility. Dynamic Software Product Line is well-suited for development of self-adaptive service mashups. It provide methods and models which allow the non-expert user with to easily develop reliable and efficient self-adaptive service mashups.
Outline
Background Motivation SASEM Framework
How SASEM works?
Characteristics of SASEM
Is architecture-based Uses Control Loop Is non-invasive Is centralized
How a SASEM is designed?
Through a three phase process: Domain Engineering. Application Engineering. Runtime Adjustment.
SASEM Process
Model Perspective
How SASEM adapts?
Trigger: Change in user requirements Change in service functionality or performance
Mechanism: By changing used services By changing how services are connected
How Using a control loop
SASEM Control Loop
Thank you!