260 likes | 407 Views
Engineering Self-adaptive Service Mashups. Mahdi Bashari LS3 Colloquium May 7 th 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.
E N D
Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 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.
Self-adaptation • Self-Adaptation is ability of a system to change of propertiesand 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, efficiencyand flexibility. Dynamic Software Product Line is well-suited for development of self-adaptive service mashups. It provide methods and models which allow the non-expertuser with to easily develop reliable and efficient self-adaptive service mashups.
Outline • Background • Motivation • SASEM Framework
Characteristics of SASEM • Is architecture-based • Uses Control Loop • Is non-invasive • Is centralized
Howa SASEM is designed? • Through a three phase process: • Domain Engineering. • Application Engineering. • Runtime Adjustment.
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