Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach1.

Slides:



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

ETSI/MOCCA Workshop, Nice, April 6, 2005 © - PauWare Research Administration of.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Thesis defense presented by Cyril Ballagny Monday, March 8th 2010 Advisor: Franck Barbier Co-Advisor: Nabil Hameurlain MOCAS: a state-based component model.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Architecture Representation
KAIS T The Vision of Autonomic Computing Jeffrey O. Kephart, David M Chess IBM Watson research Center IEEE Computer, Jan 발표자 : 이승학.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Welcome to DEAS 2005 Design and Evolution of Autonomic Application Software David Garlan, CMU Marin Litoiu, IBM CAS Hausi A. Müller, UVic John Mylopoulos,
A Component Based Programming Framework for Autonomic Applications Hua Liu, Manish Parashar, and Salim Hariri ICAC ‘04 John Otto Wi06 CS 395/495 Autonomic.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Improving Software Quality with Generic Autonomics Support Richard Anthony The University of Greenwich.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
14/06/ A Data-Model for Context-Aware Deployment of Component-based Applications onto Distributed Systems Dhouha Ayed, Chantal Taconet, and Guy Bernard.
Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
JAAF+T: A Framework to Implement Self- Adaptive Agents that Apply Self-Test Andrew Diniz da Costa
Requirements vs. Design vs. Runtime UC San Diego CSE 294 Fall Quarter 2007 Barry Demchak.
1 Autonomic Computing An Introduction Guenter Kickinger.
An Approach to Test Autonomic Containers Ronald Stevens (IEEE Computer Society & ACM Student Member) August 1, 2006 REU Sponsored by NSF.
WELCOME. AUTONOMIC COMPUTING PRESENTED BY: NIKHIL P S7 IT ROLL NO: 33.
RUP Implementation and Testing
Automating service management Tiina Niklander Faculty of Science Department of Computer Science In AMICT 2008 Petrozavodsk, May 2008.
Integrated Management 2007, Munich, Germany LIUPPA – Self-* Université de Pau (FRANCE) Autonomic Management of Component-Based Embedded Software J.-M.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Christian Heinzemann 11. Oktober 2015 Modeling Behavior of Self-Adaptive Systems Seminar Software Quality and Safety.
Designing Persistency Delos NoE, Preservation Cluster Workshop: Persistency in Digital Libraries 14. February 2006, Oxford Internet Institute.
SelfCon Foil no 1 Design of Self-Adaptive Systems Course introduction 2013 Rolv Bræk, ITEM.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Self-configuring of the User-centric Communication Middleware for the Communication Virtual Machine Sean Leslie Ricardo Tirado.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Enabling Self-management Of Component Based Distributed Applications Ahmad Al-Shishtawy 1, Joel Höglund 2, Konstantin Popov 2, Nikos Parlavantzas 3, Vladimir.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
02/04/2008 A Concrete Syntax for UML 2.1 Action Semantics Using +CAL 13th IEEE International Conference on Engineering of Complex Computer Systems – ICECCS.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
1 Unified Modeling Language, Version 2.0 Chapter 2.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Meeting Structure EBU, Geneva 9am Tuesday 21 February pm Wednesday 22 February Rev3 EBU-AMWA FIMS February 2012.
The Vision of Autonomic Computing Self-Management Unit 7-2 Managing the Digital Enterprise Kephart, and Chess.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
03/03/051 Performance Engineering of Software and Distributed Systems Research Activities at IIT Bombay Varsha Apte March 3 rd, 2005.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Basic Concepts and Definitions
Hossein Tajalli & Joshua Garcia. Motivation Self-* or autonomic systems Self-configuration, self-adaptation, and self-healing Why we might want self-adaptive.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
TTCN-3 Testing and Test Control Notation Version 3.
Industrial Group Project Introduction to Object Oriented Programming Adelina Basholli, February, 2016.
Cisco Public 1 Behringer (ed) – Autonomic Networking © 2012 Cisco and/or its affiliates. All rights reserved. Managing Network Complexity Through Autonomic.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Self-Managing Computer Systems An Introduction. Giving credit where it is due: Most slides are from Mark Jelasity, University of Bologna, Italy I have.
Systems Analysis and Design With UML 2
Unified Modeling Language
State Machine Diagrams
Service-centric Software Engineering
Chapter 20 Object-Oriented Analysis and Design
Jigar.B.Katariya (08291A0531) E.Mahesh (08291A0542)
John D. McGregor Module 6 Session 1 More Design
Self-Managed Systems: an Architectural Challenge
Presentation transcript:

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach1 Dynamic Adaptive Software Components: the MOCAS Approach Cyril Ballagny, Nabil Hameurlain, Franck Barbier Self-* Project, Liuppa, University of Pau, France

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach2 Context : Autonomic Computing IBM initiative in 2001 To tackle complexity of IT systems Self-management through Self-Configuration Self-Healing Self-Optimization Self-Protection

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach3 Outline Definition: Dynamic Adaptation of Open Software Component Systems Main issues: How to adapt the behavior of a software component while it is running? Our proposition: MOCAS (Model Of Component for Adaptive Systems) Future work: Self-adaptation and adaptive coordination Conclusion: the MOCAS characteristics

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach4 Definition: Dynamic Software Adaptation Software adaptation is an activity which consists in making a software evolve by modifying it. is necessary « when the system is not accomplishing what it is intended to do, or when better functionality or performance is possible » [DARPA, 1997] is dynamic when the modifications are done while the system is running

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach5 Definition: Open Software Component Systems Are extendable while running So that new materials can be introduced into the system Involve two levels of adaptation: At the assembly one (e.g. by breaking the links between components, introducing new components, migrating some ones, …); At the component level (e.g. by tuning its properties, modifying its implementation, …) We focus here on the dynamic adaptation of the inside of software components in an open system

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach6 Dynamic Software Adaptation: Main Issues Adaptation must be done when the component is in a quiescent state The state of the component must be transferred during the adaptation process Adaptation must preserve the component integrity

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach7 The MOCAS Component Model: Background Behavior Is made discrete by the different states of the component Defines the admissible sequence of the incoming component messages PauWare Principles [RBB06]: A UML state machine model describes the component behavior The behavior is separated from the algorithms The component embeds at runtime its state machine model to realize its behavior

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach8 UML Profile of the MOCAS Component Model

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach9 Example : Car Component Model

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach10 Supported operations of adaptation Refining simple states Reorganizing the protocol of the component Replacing the functional context Hiding/Showing properties Extending business properties Forward First Gear Second Gear Up Down « MOCASFunctionalContext » CarContext Version 1 moveForward() setSpeedValue(value:float) Version 2 « MOCASProperties » CarProperties speedValue : float noiseLevel : integer

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach11 The MOCAS Component Model: a state- based container for adaptation The submachine state holds the component behavior The AdaptMOCASComponent signal triggers the adaptation process in an atomic way The guard insures that adaptation is possible Adaptation is deferred if conditions are not fair The historic state enables the state transfer

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach12 The MOCAS Component Model: Insuring adaptation The last active state configuration must exist in the new state machine The new functional context must conform to the action interface The new business properties must be an extension of the old ones State invariants must be true after adaptation

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach13 Future work Endowing each MOCAS component with a control loop (Autonomic Computing) Using coordination protocol to insure the stability of the component assemblies

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach14 Conclusion MOCAS Is a state based component model enabling to build open dynamic adaptive component based systems A MOCAS Component Makes the separation between its behavior, its functional context and its business properties Embeds at runtime a UML state machine model Is installed in a state-based container to perform the adaptation process

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach15 References [RBB06] Fabien Romeo, Cyril Ballagny, Franck Barbier. PauWare : a state based component model, Actes des Journées Composants, Canet en Roussillon, France, 4-6 octobre, pp. 1-10, [BHB07] Cyril Ballagny, Nabil Hameurlain, Franck Barbier. Endowing software components with autonomic capabilities based on modeling language executability. In Proc. of 1st Workshop on Model-driven Software Adaptation M-ADAPT’07 at ECOOP 2007, pages 55–60, Berlin, Germany, July [BHB08] Cyril Ballagny, Nabil Hameurlain, and Franck Barbier. Dynamic Adaptive Software Components: the MOCAS Approach. In ASBS'08: Proceedings of The First IEEE International Workshop on Autonomous and Autonomic Software-Based Systems, pages 517–524, Cergy-Pontoise, France, ACM. MOCAS Engine

Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach16 Thank you for your attention! Any Questions?