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

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

Embed Size (px)

Citation preview

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

Engineering Self-adaptive Service Mashups

Mahdi BashariLS3 ColloquiumMay 7th 2014

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

Outline

Background Motivation SASEM Framework

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

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.

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

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.

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

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.

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

Example: Padmapper

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

Example: Trendsmap

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

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

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

Why Self-adaptation

To maintain service. To perform optimally. To prevent from failure. …

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

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

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

Why Software Product Line?

Reduce effort Increase Quality Decrease time to market Customer customization

How: by managing variability systematically

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

Outline

Background Motivation SASEM Framework

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

Problems with Service Mashup

Lack of reliability Unguaranteed quality of service Lack of versatility

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

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

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

Problem with self-adaptation

Hard to implement (even for experts) In many cases unreliable In many cases inefficient

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

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. 

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

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.

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

Outline

Background Motivation SASEM Framework

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

How SASEM works?

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

Characteristics of SASEM

Is architecture-based Uses Control Loop Is non-invasive Is centralized

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

How a SASEM is designed?

Through a three phase process: Domain Engineering. Application Engineering. Runtime Adjustment.

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

SASEM Process

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

Model Perspective

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

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

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

SASEM Control Loop

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

Thank you!