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

Action ADAPT / IDM, November 13th, 2008 [email protected]@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Embed Size (px)

Citation preview

Page 1: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 1

Dynamic Adaptive Software Dynamic Adaptive Software Components: the MOCAS ApproachComponents: the MOCAS Approach

Cyril Ballagny, Nabil Hameurlain, Franck BarbierCyril Ballagny, Nabil Hameurlain, Franck Barbier

Self-* Project, Liuppa, University of Pau, FranceSelf-* Project, Liuppa, University of Pau, France

Page 2: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 2

Context : Autonomic ComputingContext : Autonomic Computing

IBM initiative in 2001IBM initiative in 2001

To tackle complexity of IT systemsTo tackle complexity of IT systems

Self-management throughSelf-management throughSelf-Configuration

Self-Healing

Self-Optimization

Self-Protection

Page 3: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 3

OutlineOutline

Definition: Definition: Dynamic Adaptation of Open Software Dynamic Adaptation of Open Software Component SystemsComponent SystemsMain issuesMain issues: How to adapt the behavior of a : How to adapt the behavior of a software component while it is running?software component while it is running?Our proposition: Our proposition: MOCAS (Model Of Component MOCAS (Model Of Component for Adaptive Systems)for Adaptive Systems)Future workFuture work: Self-adaptation and adaptive : Self-adaptation and adaptive coordinationcoordinationConclusionConclusion: the MOCAS characteristics: the MOCAS characteristics

Page 4: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 4

Definition: Dynamic Software AdaptationDefinition: Dynamic Software Adaptation

Software adaptationSoftware adaptationis 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

Page 5: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 5

Definition: Open Software Component Definition: Open Software Component SystemsSystems

Are extendable while runningSo that new materials can be introduced into the system

Involve two levels of adaptation: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

Page 6: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 6

Dynamic Software Adaptation: Main Dynamic Software Adaptation: Main IssuesIssues

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

Page 7: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 7

The MOCAS Component Model: The MOCAS Component Model: BackgroundBackground

BehaviorBehaviorIs made discrete by the different states of the componentDefines the admissible sequence of the incoming component messages

PauWare Principles [RBB06]:PauWare Principles [RBB06]:A UML state machine model describes the component behaviorThe behavior is separated from the algorithmsThe component embeds at runtime its state machine model to realize its behavior

Page 8: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 8

UML Profile of the MOCAS Component UML Profile of the MOCAS Component ModelModel

Page 9: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 9

Example : Car Component ModelExample : Car Component Model

Page 10: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 10

Supported operations of adaptationSupported operations of adaptation

Refining simple statesRefining simple statesReorganizing the Reorganizing the protocolprotocol of the of the componentcomponentReplacing the Replacing the functional contextfunctional contextHiding/Showing Hiding/Showing propertiespropertiesExtending business Extending business propertiesproperties

Forward

First

Gear

Second

Gear

Up

Down

« MOCASFunctionalContext »

CarContext Version 1moveForward()

setSpeedValue(value:float)

Version 2

« MOCASProperties »CarProperties

speedValue : float

noiseLevel : integer

Page 11: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 11

The MOCAS Component Model: a state-The MOCAS Component Model: a state-based container for adaptationbased container for adaptation

The submachine state holds The submachine state holds the component behaviorthe component behavior

The AdaptMOCASComponent The AdaptMOCASComponent signal triggers the adaptation signal triggers the adaptation process in an atomic wayprocess in an atomic way

The guard insures that The guard insures that adaptation is possibleadaptation is possible

Adaptation is deferred if Adaptation is deferred if conditions are not fairconditions are not fair

The historic state enables the The historic state enables the state transferstate transfer

Page 12: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 12

The MOCAS Component Model: Insuring The MOCAS Component Model: Insuring adaptationadaptation

The last active state configuration must exist The last active state configuration must exist in the new state machinein the new state machine

The new functional context must conform to The new functional context must conform to the action interfacethe action interface

The new business properties must be an The new business properties must be an extension of the old onesextension of the old ones

State invariants must be true after State invariants must be true after adaptationadaptation

Page 13: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 13

Future workFuture work

Endowing each MOCAS component with a Endowing each MOCAS component with a control loop (Autonomic Computing)control loop (Autonomic Computing)

Using coordination protocol to insure the Using coordination protocol to insure the stability of the component assembliesstability of the component assemblies

Page 14: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 14

ConclusionConclusion

MOCAS MOCAS Is a state based component model enabling to build open dynamic adaptive component based systems

A MOCAS ComponentA MOCAS ComponentMakes the separation between its behavior, its functional context and its business propertiesEmbeds at runtime a UML state machine modelIs installed in a state-based container to perform the adaptation process

Page 15: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 15

ReferencesReferences

[RBB06] Fabien Romeo, Cyril Ballagny, Franck Barbier. PauWare : a [RBB06] Fabien Romeo, Cyril Ballagny, Franck Barbier. PauWare : a state based component model, Actes des Journées Composants, state based component model, Actes des Journées Composants, Canet en Roussillon, France, 4-6 octobre, pp. 1-10, 2006.Canet en Roussillon, France, 4-6 octobre, pp. 1-10, 2006.

[BHB07] Cyril Ballagny, Nabil Hameurlain, Franck Barbier. Endowing [BHB07] Cyril Ballagny, Nabil Hameurlain, Franck Barbier. Endowing software components with autonomic capabilities based on modeling software components with autonomic capabilities based on modeling language executability. In Proc. of 1st Workshop on Model-driven language executability. In Proc. of 1st Workshop on Model-driven Software Adaptation M-ADAPT’07 at ECOOP 2007, pages 55–60, Software Adaptation M-ADAPT’07 at ECOOP 2007, pages 55–60, Berlin, Germany, July 2007.Berlin, Germany, July 2007.

[BHB08] Cyril Ballagny, Nabil Hameurlain, and Franck Barbier. [BHB08] Cyril Ballagny, Nabil Hameurlain, and Franck Barbier. Dynamic Adaptive Software Components: the MOCAS Approach. Dynamic Adaptive Software Components: the MOCAS Approach. In ASBS'08: Proceedings of The First IEEE International Workshop In ASBS'08: Proceedings of The First IEEE International Workshop on Autonomous and Autonomic Software-Based Systems, on Autonomous and Autonomic Software-Based Systems, pages 517–524, Cergy-Pontoise, France, 2008. ACM.pages 517–524, Cergy-Pontoise, France, 2008. ACM.

MOCAS Engine http://mocasengine.sourceforge.net/MOCAS Engine http://mocasengine.sourceforge.net/

Page 16: Action ADAPT / IDM, November 13th, 2008 cyril.ballagny@univ-pau.frcyril.ballagny@univ-pau.fr Dynamic Adaptive Software Components: The MOCAS Approach1

Action ADAPT / IDM, November 13th, 2008

[email protected] Dynamic Adaptive Software Components: The MOCAS Approach 16

Thank you for your attention!Thank you for your attention!Any Questions?Any Questions?