smac - irit – ups sylvain rougemaille , toulousejean-paul arcangeli,
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 PresentationTRANSCRIPT
![Page 1: SMAC - IRIT – UPS Sylvain Rougemaille , TOULOUSEJean-Paul Arcangeli,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/1.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/2.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/3.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/4.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/5.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/6.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/7.jpg)
September 2008, 24-26th ESAW 08 8
(Domain Specific) Modelling Language
![Page 8: SMAC - IRIT – UPS Sylvain Rougemaille , TOULOUSEJean-Paul Arcangeli,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/8.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/9.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/10.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/11.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/12.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/13.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/14.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/15.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/16.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/17.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/18.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/19.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/20.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/21.jpg)
September 2008 ESAW 08 22
Questions?
![Page 22: SMAC - IRIT – UPS Sylvain Rougemaille , TOULOUSEJean-Paul Arcangeli,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/22.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022062309/56815acb550346895dc89c07/html5/thumbnails/23.jpg)
September 2008, 24-26th ESAW 08 24
Elsy KaddoumMASC