23
September 2008 ESAW 08 1 SMAC - IRIT – UPS Sylvain Rougemaille, TOULOUSE Jean-Paul Arcangeli, FRANCE Marie- Pierre Gleizes, Frédéric Migeon 1 ADELFE Design, AMAS-ML in Action A Case Study

SMAC - IRIT – UPS Sylvain Rougemaille , TOULOUSEJean-Paul Arcangeli,

  • Upload
    elliot

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

ADELFE Design, AMAS-ML in Action A Case Study. SMAC - IRIT – UPS Sylvain Rougemaille , TOULOUSEJean-Paul Arcangeli, FRANCE Marie-Pierre Gleizes, Frédéric Migeon. 1. Case Study: Foraging Ant. Simple but illustrative example - PowerPoint PPT Presentation

Citation preview

Page 1: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008 ESAW 08 1

SMAC - IRIT – UPS Sylvain Rougemaille, TOULOUSE Jean-Paul Arcangeli,

FRANCE Marie-Pierre Gleizes,Frédéric Migeon

1

ADELFE Design, AMAS-ML in Action

A Case Study

Page 2: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 2

Case Study: Foraging AntSimple but illustrative exampleAlready developed in our team [Topin 99]

Adaptive MAS approach adequacyBehaviours entirely specified

Focus on modelling language and transformations

Environment:Nest, Obstacles, Ants, Food, Pheromone

Goal: foraging !

Page 3: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 3

ResultsSimulation tool

3 man/dayBehavior rules

0,5 man/dayFunctional Details

Speed modulationFood editingAnts managingZooming

Page 4: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 4

OutlineProblematicsAdaptive Multi-Agent SystemsFlexible Agent modelADELFE MethodologyModel Driven EngineeringModel Driven ADELFEConclusion and Future Works

Page 5: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 6

ProblematicsAdaptive Multi-Agent Systems

Self-organising systemsSupport system functional adaptation

Flexible Agent model Agent operating mechanisms adaptation

Proposition: Combine AMAS and Flexible agent in the design of complex systems

Aim:Benefit from both levels and both concerns of adaptation

Page 6: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 7

Principles : Global function realized = result of the organizational process between

agents Change the organization: change the global function

To change the organization: self-organization by cooperation

Agents are in a cooperative state = functional adequacy is reached

Agents have to be cooperative

But there are unwanted situations: Non Cooperative Situations No NCS detected nominal behaviour is performed (local function) NC state (exception or anticipation) cooperation failure recovering

AMAS (Adaptive Multi-Agent Systems)

Page 7: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 8

(Domain Specific) Modelling Language

Page 8: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 9

ModularityAgent defined as micro-component assembly

Re-usabilityMicro-components constitute reusable units

Mediator design patternThe mediator gathers services from micro-components

Separation between:Operating mechanismsAgent behaviour

DelegationMediator delegates operating services to behaviour component

Flexible Agent : Implementation Principles

Page 9: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

10

Combining Functional/Operational Adaptation

Functional Adaptation Operational Adaptation

Agent Classical LearningApproaches Flexible Agent

System AMAS approach

different kinds of adaptation, different levels of concerns

Self-adaptation of the system = cooperation of agentsNon Cooperative Situations detectionImplementation with flexible agentAgent oriented specific middleware

Page 10: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

11

OutlineProblematicsAdaptive Multi-Agent SystemsFlexible Agent modelADELFE MethodologyModel Driven EngineeringModel Driven ADELFEExperiments AnalysisConclusion and Future Works

Page 11: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 12

ADELFE MethodologyMain characteristics

Specific agent-based methodology Exploiting the AMAS Principles → cooperation Open systems, adaptive to changes in the environment

For engineers aware of MAS

PrinciplesBased on RUP and standard notations (UML, AUML)Top down approach: Analysis phase - identification of agentsBottom up approach: Design phase – agent design

NeedsPrecise and specific concepts to assist the designer’s task

Specification of cooperation rulesGuidelines for the system implementation

Page 12: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 13

Model Driven EngineeringAim: ease systems designPromote models as “first class citizen”

Models provide abstractionModels define precise concepts for systems designModels are conform to meta-models (defined with MOF (OMG), Ecore (Eclipse))

Automatic treatmentsMeans to assist designers and developersGather and automate good practices or expertiseSupport by model transformations (transformation languages: ATL†, Kermeta‡)Allow code generation

Domain Specific Modelling LanguageDedicated modelling language (concise and specific)Described by a domain meta-model (close to domain experts needs)

(† http://www.eclipse.org/m2m/atl/)(‡ http://www.kermeta.org/)

Page 13: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 14

OutlineProblematicsAdaptive Multi-Agent SystemsFlexible Agent modelADELFE MethodologyModel Driven EngineeringModel Driven ADELFE

Domain Specific Modelling LanguageDesign Implementation

Experiments AnalysisConclusion and Future Works

Page 14: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 15

AMAS-ML : Adaptive Multi-Agent System Modelling LanguageDedicated to the specification of :

System composition (agents, entity) Agent Cooperative properties Agent Cooperative behaviour

µADL : micro-Architecture Description LanguageDedicated to the specification of :

Specific agent middleware Agent operating mechanisms models

Domain Specific Modelling Language

Page 15: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 16

Model Driven ADELFE (1/2)Design

Enhanced Design PhaseUse of UML 2.0Use of AMAS-ML diagrams to specify :

System / environment composition Cooperative agent structure Cooperative agent behaviour:

Cooperation and nominal rulesUse of model transformations :

Link AMAS-ML to UML 2.0 : Get information from requirements model Express interactions thanks to UML Sequence diagrams

Page 16: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 17

Model Driven ADELFE (2/2)Implementation

Implementation phaseWanted result: AMAS Implementation using flexible agent

middleware capabilities.Need: to express concerns separation (operational/behavioural)

between AMAS concepts.

Model transformations are used to:Automate the mapping between AMAS-ML and µADL.Generate agent behaviour code.

Make Agent Yourself (MAY) generation tool:Generate specific flexible agent middleware Use µADL model as input

Page 17: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 18

Transformations Overview

1. AMAS-ML to µADL : ATL Transformation 12 rules, 5 helpers, 380 code lines.Example :-- Transforming AMAS Actuator into homonymic muADL MuComponents.rule Actuators2MuComponent{from actuator : AMAS!Actuator to actuatorCt:muADL!MuComponent( name <- actuator.name, provided <- thisModule.resolveTemp(actuator,'providedActuatorInterface'), privateServices <- actuator.actions->collect(act|thisModule.resolveTemp(act,'service')) ), providedActuatorInterface:muADL!Interface( name <- actuator.name+'I' )}

1. AMAS-ML to µADL : ATL Transformation 12 rules, 5 helpers, 380 code lines.Example :-- Transforming AMAS Actuator into homonymic muADL MuComponents.rule Actuators2MuComponent{from actuator : AMAS!Actuator to actuatorCt:muADL!MuComponent( name <- actuator.name, provided <- thisModule.resolveTemp(actuator,'providedActuatorInterface'), privateServices <- actuator.actions->collect(act|thisModule.resolveTemp(act,'service')) ), providedActuatorInterface:muADL!Interface( name <- actuator.name+'I' )}

2. AMAS-ML to Java : ATL Transformation 2 queries, 10 helpers, 130 code lines.Example :-- Transforming AMAS Actuator into homonymic muADL MuComponents.helper context AMAS!Ruledef : generateIfThenElse(): String ='\t/**\n\t* Generated '+if self.oclIsTypeOf(AMAS!CooperativeRule) then 'cooperative rule : '+self.name+' handles '+self.handledNCSName()+ ' situation :\n\t* '+self.description else 'standard rule : ' + self.name endif+' \n\t*/\n'+'\tif ('+ self.trigger.condition.generateCondition()+'){\n'+self.impliedActions->iterate(a; accA: String=''|accA+'\t\t'+a.generateAction()+'\n\t\t}');

2. AMAS-ML to Java : ATL Transformation 2 queries, 10 helpers, 130 code lines.Example :-- Transforming AMAS Actuator into homonymic muADL MuComponents.helper context AMAS!Ruledef : generateIfThenElse(): String ='\t/**\n\t* Generated '+if self.oclIsTypeOf(AMAS!CooperativeRule) then 'cooperative rule : '+self.name+' handles '+self.handledNCSName()+ ' situation :\n\t* '+self.description else 'standard rule : ' + self.name endif+' \n\t*/\n'+'\tif ('+ self.trigger.condition.generateCondition()+'){\n'+self.impliedActions->iterate(a; accA: String=''|accA+'\t\t'+a.generateAction()+'\n\t\t}');

Page 18: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 19

Developer ConclusionSimple, Efficient, Automated

Prototype in 3 days, Behaviour part 0,5 dayAnt API, 53ko, 17 classes, 9 interfacesEnvironment, 69ko, 29 classesBehaviour and main, 6ko, 2 classes

API DetailsKernel : 4 classes, 1 “markup” interface AgentGenerated micro-components : 1 class per each

Page 19: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 20

AMAS Designer ConclusionNew version of ADELFE :

Using model driven approach: Specific languages (AMAS-ML, µADL) Model transformations

Automations in the development process :Facilitate phases transition (from analysis to design)Allow to bridge generic (UML) and specific (AMAS-ML) modelling Ease the implementation

Developers focus on application dependent concerns

Page 20: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 21

Future WorksImprove behavioural design

AMAS-ML type system to specify instance valuesInvestigate template based language to generate codeProvide a fully integrated tool including :

An assistant guiding users all along the processModel validations and simulation

Provide an adaptive methodological frameworkAssist users by proposing adequate method fragments

Page 21: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008 ESAW 08 22

Questions?

Page 22: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 23

Elsy KaddoumMASC

Trois types d’agents coopératifs• Conteneur

• Opérateur

• Station

ConteneursOpérateurs

Page 23: SMAC - IRIT – UPS     Sylvain Rougemaille ,  TOULOUSEJean-Paul Arcangeli,

September 2008, 24-26th ESAW 08 24

Elsy KaddoumMASC