engineering self-adaptive service mashups mahdi bashari ls3 colloquium may 7 th 2014
TRANSCRIPT
![Page 1: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/2.jpg)
Outline
Background Motivation SASEM Framework
![Page 3: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/6.jpg)
Example: Padmapper
![Page 7: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/7.jpg)
Example: Trendsmap
![Page 8: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/12.jpg)
Outline
Background Motivation SASEM Framework
![Page 13: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/18.jpg)
Outline
Background Motivation SASEM Framework
![Page 19: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/19.jpg)
How SASEM works?
![Page 20: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/22.jpg)
SASEM Process
![Page 23: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/23.jpg)
Model Perspective
![Page 24: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/25.jpg)
SASEM Control Loop
![Page 26: Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014](https://reader035.vdocuments.mx/reader035/viewer/2022062805/5697c0051a28abf838cc4e6e/html5/thumbnails/26.jpg)
Thank you!