230 likes | 394 Views
ADELFE Design, AMAS-ML in Action A Case Study. SMAC - IRIT – UPS Sylvain Rougemaille , TOULOUSE Jean-Paul Arcangeli, FRANCE Marie-Pierre Gleizes, Frédéric Migeon. 1. Case Study: Foraging Ant. Simple but illustrative example
E N D
ADELFE Design, AMAS-ML in Action A Case Study SMAC - IRIT – UPS Sylvain Rougemaille, TOULOUSE Jean-Paul Arcangeli, FRANCE Marie-Pierre Gleizes, Frédéric Migeon ESAW 08 1
Case Study: Foraging Ant • Simple but illustrative example • Already developed in our team [Topin 99] • Adaptive MAS approach adequacy • Behaviours entirely specified • Focus on modelling language and transformations • Environment: • Nest, Obstacles, Ants, Food, Pheromone • Goal: foraging ! ESAW 08
Results • Simulation tool • 3 man/day • Behavior rules • 0,5 man/day • Functional Details • Speed modulation • Food editing • Ants managing • Zooming ESAW 08
Outline • Problematics • Adaptive Multi-Agent Systems • Flexible Agentmodel • ADELFE Methodology • Model Driven Engineering • Model Driven ADELFE • Conclusion and Future Works ESAW 08
Problematics • Adaptive Multi-Agent Systems • Self-organising systems • Support system functional adaptation • Flexible Agentmodel • Agent operating mechanisms adaptation • Proposition: Combine AMAS and Flexible agent inthe design of complex systems • Aim: Benefit from both levels and bothconcerns ofadaptation ESAW 08
AMAS (Adaptive Multi-Agent Systems) • 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 nominalbehaviour is performed (local function) • NC state (exception or anticipation) cooperationfailure recovering ESAW 08
Flexible Agent : ImplementationPrinciples • Modularity • Agent defined as micro-componentassembly • Re-usability • Micro-components constitute reusableunits • Mediator design pattern • The mediator gathers services from micro-components • Separation between: • Operating mechanisms • Agent behaviour • Delegation • Mediator delegates operating services to behaviour component ESAW 08
Combining Functional/Operational Adaptation • Self-adaptation of the system = cooperation of agents • Non Cooperative Situations detection • Implementation with flexibleagent • Agent oriented specificmiddleware different kinds of adaptation, different levels of concerns
Outline Problematics Adaptive Multi-Agent Systems Flexible Agentmodel ADELFE Methodology Model Driven Engineering Model Driven ADELFE Experiments Analysis Conclusion and Future Works
ADELFE Methodology • Main characteristics • Specific agent-based methodology Exploiting the AMAS Principles →cooperation Opensystems, adaptive to changes in the environment • For engineers aware of MAS • Principles • Based onRUP and standard notations (UML, AUML) • Topdown approach: Analysis phase - identification of agents • Bottomup approach: Design phase – agent design • Needs • Precise and specific concepts to assist the designer’s task • Specification of cooperationrules • Guidelines forthe system implementation ESAW 08
Model Driven Engineering • Aim: ease systems design • Promote models as “first class citizen” • Models provide abstraction • Models define precise concepts for systems design • Models are conform to meta-models (defined with MOF (OMG), Ecore (Eclipse)) • Automatic treatments • Means to assist designers and developers • Gather and automate goodpractices or expertise • Support by modeltransformations (transformation languages: ATL†, Kermeta‡) • Allow code generation • Domain Specific Modelling Language • Dedicated 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/) ESAW 08
Outline Problematics Adaptive Multi-Agent Systems Flexible Agentmodel ADELFE Methodology Model Driven Engineering Model Driven ADELFE Domain Specific Modelling Language Design Implementation Experiments Analysis Conclusion and Future Works ESAW 08
Domain Specific Modelling Language • AMAS-ML : Adaptive Multi-Agent System Modelling Language • Dedicated to the specification of : • System composition (agents, entity) • Agent Cooperative properties • Agent Cooperative behaviour • µADL : micro-Architecture Description Language • Dedicated to the specification of : • Specific agent middleware • Agent operating mechanisms models ESAW 08
Model Driven ADELFE (1/2)Design • EnhancedDesignPhase • Use of UML 2.0 • Use of AMAS-MLdiagrams to specify : • System / environment composition • Cooperative agent structure • Cooperative agent behaviour: • Cooperation and nominal rules • Use of modeltransformations : • Link AMAS-ML to UML2.0 : • Get information from requirements model • Express interactions thanks to UML Sequencediagrams ESAW 08
Model Driven ADELFE (2/2)Implementation • Implementation phase • Wanted result: AMAS Implementation using flexible agent middleware capabilities. • Need: to express concernsseparation (operational/behavioural) between AMAS concepts. • Modeltransformations are used to: • Automate the mapping between AMAS-ML and µADL. • Generate agent behaviour code. • Make Agent Yourself (MAY) generation tool: • Generate specific flexibleagentmiddleware • Use µADL model as input ESAW 08
Transformations Overview 2. AMAS-ML to Java : ATL Transformation 2 queries, 10 helpers, 130 code lines. Example : -- Transforming AMAS Actuator into homonymic muADLMuComponents. helper contextAMAS!Rule def : generateIfThenElse(): String = '\t/**\n\t* Generated '+ if self.oclIsTypeOf(AMAS!CooperativeRule) then 'cooperative rule : ' +self.name+' handles '+self.handledNCSName()+ ' situation :\n\t* ' +self.descriptionelse '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}'); 1. AMAS-ML to µADL : ATL Transformation 12 rules, 5 helpers, 380 code lines. Example : -- Transforming AMAS Actuator into homonymic muADLMuComponents. ruleActuators2MuComponent{ fromactuator : AMAS!Actuatorto 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' ) } ESAW 08
Developer Conclusion • Simple, Efficient, Automated • Prototype in 3 days, Behaviour part 0,5 day • Ant API, 53ko, 17 classes, 9 interfaces • Environment, 69ko, 29 classes • Behaviour and main, 6ko, 2 classes • API Details • Kernel : 4 classes, 1 “markup” interface Agent • Generated micro-components : 1 class per each ESAW 08
AMAS Designer Conclusion • New 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 ESAW 08
Future Works • Improve behavioural design • AMAS-ML typesystem to specify instancevalues • Investigate templatebasedlanguage to generate code • Provide a fullyintegrated tool including : • An assistant guiding users all along the process • Model validations and simulation • Provide an adaptivemethodologicalframework • Assist users by proposing adequatemethodfragments ESAW 08
Thank you for your attention Questions? ESAW 08
Elsy KaddoumMASC Opérateurs Conteneurs Trois types d’agents coopératifs • Conteneur • Opérateur • Station ESAW 08
Elsy KaddoumMASC ESAW 08