Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Kensington Oracle Edition: Open Discovery Workflow Meets Oracle 10g Professor Yike Guo.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Workflow utilization in composition of complex applications based.
OASIS Reference Model for Service Oriented Architecture 1.0
Corporate Context: A SOA & BPM Alliance Via Business Data Management Amir Bahmanyari Architect.
CBSE and Service Oriented Computing Simela Topouzidou Thomi Pilioura Stephen Hall Cyprus Workshop 25-26th September 2003.
Object-Oriented Analysis and Design
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Business Process Orchestration
Using Architecture Frameworks
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
CprE 458/558: Real-Time Systems
Reuse Activities Selecting Design Patterns and Components
© 2006 IBM Corporation SOA on your terms and our expertise Discovering the Value of SOA SOA In Action SOA & End-2-End Business Driven Development using.
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
ESB Guidance 2.0 Kevin Gock
An Introduction to Software Architecture
ASG - Towards the Adaptive Semantic Services Enterprise Harald Meyer WWW Service Composition with Semantic Web Services
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
SOFTWARE DESIGN.
AMPol-Q: Adaptive Middleware Policy to support QoS Raja Afandi, Jianqing Zhang, Carl A. Gunter Computer Science Department, University of Illinois Urbana-Champaign.
10 Software Architecture CSCU 411 Software Engineering.
MW4SOC, Middleware 2010 Middleware for Adaptive Service Orientation Nanjangud C Narendra IBM Research India, Bangalore Umesh Bellur.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 3: SOA Reference Model OASIS 2006.
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Service Oriented Architecture (SOA) Dennis Schwarz November 21, 2008.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Repurpose, Compose, Profit— Next Generation SOA Infrastructure William Cox Cox Software Architects LLC Copyright 2008.
Nipissing University, North Bay, Ontario, Canada 1 Challenges to Reusable Services - IBM Eclipse Innovation Grant - IBM Eclipse Innovation Grant - IBM.
Enabling Self-management of Component-based High-performance Scientific Applications Hua (Maria) Liu and Manish Parashar The Applied Software Systems Laboratory.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
© Drexel University Software Engineering Research Group (SERG) 1 The OASIS SOA Reference Model Brian Mitchell.
Behavioral Framework Background & Terminology. Behavioral Framework: Introduction  Background..  What was the goal..
CS223: Software Engineering
The Service in Service Oriented Architecture November 2, 2005 Aderbad Tamboli Petris.
1 SERVICE ORIENTED ARCHITECTURE ANTHONY GACHANGO D61/70547/2008 DIS 601.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 SOA Seminar Seminar on Service Oriented Architecture SOA Reference Model OASIS 2006.
Online | classes| Corporate Training | Technical | Placements| Experts Contact US: Magnific training India USA :
1 Security and Dependability Organizational Patterns - A Proof of Concept Demo for SERENITY A. Saidane, F. Dalpiaz, V.H. Nguyen, F. Massacci.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
A service Oriented Architecture & Web Service Technology.
Modeling of Service Oriented Architecture: From Business Process to Service Realization Petr Weiss and Marek Rychlý Brno University of Technology, Faculty.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
The Role of Reflection in Next Generation Middleware
Policy-oriented Enterprise Management for SAP Business Modeling
Distribution and components
Inventory of Distributed Computing Concepts and Web services
An Introduction to Software Architecture
Chapter 5 Architectural Design.
NextGRID: From Compute Grids to Grid SOAs and beyond
From Use Cases to Implementation
Presentation transcript:

Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT Bombay, Narendra Nanjungud, IBM Research, India

Dagstuhl, May 2009 Umesh Bellur The story so far…. Most adaptive systems have been considered from the perspective of adding self* properties transparently to an existing system.  No efforts to have the developer direct and control adaptation. Enterprise systems are suffering from:  Lack of adaptability  Lack of agility (the ability to sustain a rate of change)  Costs of construction, production and maintenance.

Dagstuhl, May 2009 Umesh Bellur Analysis The lack of agility stems from:  Tight coupling and the static hardwired nature of the distributed object paradigm.  Integration leading to compile time reuse. High costs result from:  Integration instead of runtime composition  Having to host everything

Dagstuhl, May 2009 Umesh Bellur Elements of the solution A development paradigm based on:  Loose coupling  Dynamic discovery and invocation  Run time composition  Software as a utility or a service With the appropriate runtime time support. In other words, an architecture for adaptable computing.

Dagstuhl, May 2009 Umesh Bellur Genesis - SOA Key SOA principles:  Loose coupling  Dynamic discovery  Workflow like composition  Software as a Service However, this is only an architectural style – there are NO infrastructure implementations that truly deliver any of these except SaaS.

Dagstuhl, May 2009 Umesh Bellur Elements of Adaptability in SOA Variability points - where should we look to adapt? Adaptability triggers – when should we look to adapt? Variability policy – how should we look to adapt? What other support do we need?

Dagstuhl, May 2009 Umesh Bellur Where in an SOA environment? At service call out points – functional or QoS adaptation. At service provisioning points – resource adaptation. Perhaps adaptive workflows that go to make up complex services as well? Others???

Dagstuhl, May 2009 Umesh Bellur Conceptual Model of a Service Each service consists of:  Service description  Task descriptions  Execution sequence of tasks  Variability Points Each task consists of :  Data Types  Operational Signature  Preconditions  Effects Service Task Resource Component 1 > N

Dagstuhl, May 2009 Umesh Bellur Triggers of Change Resource availability or unavailability  Hard resources  Soft resources or services Should we differentiate between a hard resource such as a CPU and a soft resource such as a software service? How does one capture these triggers? Is just standardization the answer?  Context specification and observer patterns are usually the solution in pervasive environments.

Dagstuhl, May 2009 Umesh Bellur Variability Policy ECA type action rules How complex should we allow this to get? How does a programmer constrain this?  For example: restricting the domain of a service discovery? What if there are policy conflicts – perhaps leading to deadlocks.

Dagstuhl, May 2009 Umesh Bellur Other support Context descriptions to capture availability of resources. Software engineering methodologies for adaptable programming???  Variability Oriented Software Engineering  Program conformance with variability descriptions – a calculus of variations??

Dagstuhl, May 2009 Umesh Bellur One possible structuring of Context TaskServiceComponent E-ContextRestrictions on resource- based characteristics of the resource this task is to be bound to - such as no images in reply, etc. E-Context in case of service includes execution environment (i.e. both software/hardware) as well as physical properties gathered as via context like location of service Technology environment needed for the component to execute, e.g., J2EE container S-ContextQoS requirement of the task, e.g., response time and cost QoS capability ranges and associated costs for invoking service QoS capability ranges R-ContextN/A Resources needed to supply a given QoS; typically expressed as compute units, memory etc.

Dagstuhl, May 2009 Umesh Bellur Infrastructure Compiler support  To describe variability at variability points  To check semantic correctness and applicability of these solutions Run time (Middleware)  Semantic discovery  Context awareness and resource discovery.  ECA type policy execution.

Dagstuhl, May 2009 Umesh Bellur Prototype Implementation Adaptive Runtime  Component in the Resource Allocation Engine that provides the basic runtime environment and deployment support for applications (both client and services). Responsible for maintaining bindings with context providers and enforcing restrictions/preconditions. Policy  Defines the policy specifying behavioral adaptation on context changes Policy Engine  Responsible for inspecting client and server policies for context types and registering for notifications with appropriate context providers Notification Handler  Created for every notification request. Registers to monitor context changes and generate notifications every time the condition is satisfied Service Discovery Agent  Implements context matching and evaluation. Context matching carried out via bipartite graph matching algorithm. Context evaluation and ranking is done by collecting contextual information from respective context providers and executing evaluation and ranking functions provided by the client in the query.