Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014

Preview:

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!