A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.

Slides:



Advertisements
Similar presentations
3° Workshop Nazionale del Gruppo di Interesse in Ingegneria del Software Genova, 2-3 ottobre 2006 CASE – Libera Università di Bolzano-Bozen RCOST – Università
Advertisements

Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Architecture Representation
A Component Based Programming Framework for Autonomic Applications Hua Liu, Manish Parashar, and Salim Hariri ICAC ‘04 John Otto Wi06 CS 395/495 Autonomic.
Nadia Ranaldo - Eugenio Zimeo Department of Engineering University of Sannio – Benevento – Italy 2008 ProActive and GCM User Group Orchestrating.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
 Copyright 2004 Digital Enterprise Research Institute. All rights reserved. Towards Dynamic Execution Semantics in Semantic Web Services.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
1 Ivan Lanese Computer Science Department University of Bologna Italy From services to ABS With input from Davide Sangiorgi, Fabrizio Montesi, …
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Evolution of Code through Asynchronous Services Manuel Oriol Workshop on Unanticipated Software Evolution - USE ’2002.
A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Optimisation of behaviour of component-based distributed systems INRIA - I3S - CNRS – University of Nice Sophia-Antipolis EPC SCALE Galyna Zholtkevych.
UNIT-V The MVC architecture and Struts Framework.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
Safe composition of distributed adaptable components A distributed component model Behavioural specification and verification Ludovic Henrio and Eric Madelaine.
An Introduction to Software Architecture
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
A Framework for the Reconfiguration of Ubicomp Systems Pau Giner, Carlos Cetina, Joan Fons, Vicente Pelechano.
A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
Asynchronous Components with Futures: Semantics, Specification, and Proofs in a Theorem Prover Components (Distributed) Futures Formalisations (and proofs)
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
Repurpose, Compose, Profit— Next Generation SOA Infrastructure William Cox Cox Software Architects LLC Copyright 2008.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Mastère RSD - TC4 2005/20061 Distributed Components –ProActive-Fractal : main concepts –Behaviour models for components –Deployment, management, transformations.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Unified Modeling Language, Version 2.0 Chapter 2.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Transparent First-class Futures and Distributed Components Introduction: components, futures, and challenges Statically Representing Futures An Example.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Advanced Component Models ULCM & HLCM Julien Bigot, Hinde Bouziane, Christian Perez COOP Project Lyon, 9-10 mars 2010.
Aspect Security - RaviShekhar Gopalan - Prof. Lieberherr Software Security (CSG379)
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Distributed Components and Futures: Models and Challenges A Distributed Component Model Distributed Reconfiguration Calculi for Components and Futures.
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
The Service in Service Oriented Architecture November 2, 2005 Aderbad Tamboli Petris.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
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.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Asynchronous Distributed Components: Concurrency and Determinacy I. Context: Distributed Components and Active Objects II. Asynchronous Distributed Components.
Distributed Components and Futures: Models and Challenges
An Introduction to Software Architecture
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
The Grid Component Model and its Implementation in ProActive
From Use Cases to Implementation
ONAP Architecture Principle Review
End-to-End Reconfigurability (E2R)
Presentation transcript:

A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired composition Programming models and software point of view Autonomic service adaptation (e.g. to context) Françoise Baude, Ludovic Henrio, and Paul Naoumenko

A Component Platform for Experimenting with Autonomic Composition Platform Requirements  Software/services structure and representation for composition and adaptation of services  Interaction framework: supporting and implementing autonomic services Resource/service discovery (only support) Algorithm/strategy (only support)

A Component Platform for Experimenting with Autonomic Composition Agenda Programming models for autonomic systems Our proposal: GCM components Deploying bio-inspired autonomic systems with the GCM  GCM component model  Adaptation by reconfiguration  Decoupling components

A Component Platform for Experimenting with Autonomic Composition Programming Models as a basis for Autonomic frameworks (1/4) SOA / simple Workflow  Easy to invoke services  Composition in time  Adapted to service discovery or simple compositions  Weak structure  Simple data-flow dependencies: (typed) input / output More complex workflows exist, but closer to components

A Component Platform for Experimenting with Autonomic Composition Programming Models as a basis for Autonomic frameworks (2/4) Aspect oriented programming  Efficiently plug non-functional concerns  Good separation of aspects  Dependencies insufficiently specified, incomplete dynamic adaptation (functional) Functional code + Aspects Application

A Component Platform for Experimenting with Autonomic Composition Programming Models as a basis for Autonomic frameworks (3/4) Rule-based adaptation  Rich evolution expressivity  Generally designed for planned evolutions,  Which underlying structure? Which actions? If condition then action

A Component Platform for Experimenting with Autonomic Composition Our Proposal GCM (Grid Component Model) as a basic programming model + features from preceding frameworks  Components  structured  Autonomous entities  Separation of concerns  Adaptation = reconfiguration (of the composition)  Easy to implement autonomic behaviors, e.g. rule based acting on the components Our goal: adapt the GCM component model to autonomic adaptation of component/service composition

A Component Platform for Experimenting with Autonomic Composition Global Component Structure in the GCM Non-functional interfaces Functional interfaces Bindings Sub- component Components are distributed autonomous entities A composite component Primitive component

A Component Platform for Experimenting with Autonomic Composition Short Summary of the GCM Hierarchical and extensible component model Support for distribution and extended communication patterns - Especially asynchronous method calls Multicast/Gathercast specification + implementation: collective communications: 1 to N and N to 1, MxN « Component Oriented SPMD » Deployment of components Components in the membrane Autonomicity as a non-functional concern GCM = component model spec. ProActive/GCM = one implementation (reference) GCM = component model spec. ProActive/GCM = one implementation (reference)

A Component Platform for Experimenting with Autonomic Composition Functional reconfiguration

A Component Platform for Experimenting with Autonomic Composition Functional reconfiguration

A Component Platform for Experimenting with Autonomic Composition Functional reconfiguration

A Component Platform for Experimenting with Autonomic Composition Functional reconfiguration

A Component Platform for Experimenting with Autonomic Composition What is Reconfiguration in GCM? Adding/removing a component inside a composite (content controller) Binding/unbinding two components (binding controller) Involves compatibility checks (type-checking,…) Higher level reconfiguration primitives can be designed (e.g. replace) Generally it is mandatory to stop a component before reconfiguring it. Start/stop primitives (lifecycle controller)

A Component Platform for Experimenting with Autonomic Composition Adaptation in the GCM Functional adaptation: adapt the architecture+behaviour of the application to new requirements/objectives  Modify the architecture (applicative) Non-functional adaptation: adapt the architecture of the container+middleware to changing environment/NF requirements (QoS …)  Change communication protocol  Update security policy  … Objective: Adaptation expressed as component reconfiguration Can be triggered by a rule engine

A Component Platform for Experimenting with Autonomic Composition Non-functional Component Structure Non-functional aspects as a composition of components (inside a membrane)  A component structure for the membrane  New kind of interfaces and bindings  An API for reconfiguring the membrane  Non-functional code is l components or objects l distributed or not Both functional and non-functional adaptation are expressed as reconfigurations

A Component Platform for Experimenting with Autonomic Composition This is still too static! There is no composition in time in the GCM GCM applications are generally deployed at once from an ADL Strong constraints on connectivity for better guaranteed properties For autonomic systems, loose coupling is necessary  Communications  Composition Objective: suppress some of the constraints related to components But keeping its properties: safety / programmability

A Component Platform for Experimenting with Autonomic Composition Decoupling Communications [ProActive, AmbientTalk] Asynchronous communications with futures in GCM/ProActive Can be improved by a sending queue (disconnected mode)

A Component Platform for Experimenting with Autonomic Composition Loosely Coupled Composition Composition plan (similar to workflow, but for components) Composition (ADL) is not instantiated, just stored, and used when needed Depending on components/conditions, components can be:  Discovered, or  Instantiated, or  Instantiated if no corresponding service already exist Relies on:  Service discovery at runtime (based on composition plan)  Composition plan repository or creation (upon need) of composition plans  Mediators to solve type/interfaces mismatch (cf. well- known works on component adaptation)

A Component Platform for Experimenting with Autonomic Composition Programming Models as a basis for Autonomic frameworks (4/4) GCM Component-model (a hierarchical component model with strong and structured separation of concerns)  Distributed component model  autonomous entities  Good structure, hierarchical  Interaction model: well-defined interfaces  good separation of concerns  Support for reconfiguration (adaptation)  Can export services  Supports autonomic evolution  take into account rule-based evolution  Composition in time  Composition plan / workflow

A Component Platform for Experimenting with Autonomic Composition Where is Biology?  in Adaptation Consider the composition plan as a genotype: (valid) genes are component descriptions (e.g. in a repository) The rule engine can express bio-inspired kind of reconfiguration  Mutation as replacement, or evolution inside the component  Crossover as 2 replacements Requires compatibility checks (typing) Autonomicity is programmed in the membrane and controls both the membrane and the content

A Component Platform for Experimenting with Autonomic Composition Why GCM Components for Bio-inspired Autonomous Systems? Component structure  well defined interfaces/interactions Components are autonomous self-manageable entities Hierarchical structure for better managing autonomicity (top- down / bottom-up) Evolution strategy as a Non-functional component  Pluggable/evolvable evolution strategy  Experiment with coexistence of several evolution strategies Thank you! Questions?