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

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
SmartER Semantic Cloud Sevices Karuna P Joshi University of Maryland, Baltimore County Advisors: Dr. Tim Finin, Dr. Yelena Yesha.
ICT 1 “Putting Context in Context: The Role and Design of Context Management in a Mobility and Adaptation Enabling Middleware” Marius Mikalsen Research.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Testing and Quality Assurance
Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models Sam Malek Naeem Esfahani Daniel A. Menascé João P. Sousa Hassan Gomaa May.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Course Instructor: Aisha Azeem
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
> API Program Overview. © 2013 Apigee Confidential – All Rights Reserved Welcome to Apigee! In order to prepare for a successful partnership in your API.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Social Computing Networks: A New Paradigm for Engineering Pervasive Software Systems Naeem Esfahani Sam Malek 32th International Conference on Software.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Agenda Motivation on why a “Business Framework” is relevant in the Future Internet Provide insights into possibilities with the framework Catch a glimpse.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software cost estimation Predicting the resources required for a software development process 1.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
SE: CHAPTER 7 Writing The Program
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Testing and Quality Assurance Software Quality Assurance 1.
21-22 May 2004IMPROQ 2004 / Impact of SW Processes on Quality Workshop 1 Quality for Components: Component and Component- Based Software Quality Issues.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
1 CMPT 275 High Level Design Phase Modularization.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Group member: Kai Hu Weili Yin Xingyu Wu Yinhao Nie Xiaoxue Liu Date:2015/10/
Software testing techniques Software testing techniques Software Testability Presentation on the seminar Kaunas University of Technology.
CSE 303 – Software Design and Architecture
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Software Engineering (CSI 321) Project Planning & Estimation 1.
Be.wi-ol.de User-friendly ontology design Nikolai Dahlem Universität Oldenburg.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Project Undertaken By, Anita.K Subalakshmi.S Suseela.J.S Guide: Mrs.M.J.Jeyasheela Rakkini AP/CSE Third Review.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Advanced Software Engineering Dr. Cheng
CompSci 280 S Introduction to Software Development
A Hierarchical Model for Object-Oriented Design Quality Assessment
IS301 – Software Engineering V:
Classifications of Software Requirements
Software Engineering (CSI 321)
Software Quality Engineering
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Tools for Composing and Deploying Grid Middleware Web Services
Software Engineering I
To Brihaspathi. Software Development Services
Presentation transcript:

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.  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!