multi agent oriented programming
play

Multi-Agent Oriented Programming Introduction The JaCaMo Platform - PowerPoint PPT Presentation

Multi-Agent Oriented Programming Introduction The JaCaMo Platform O. Boissier 1 R.H. Bordini 2 J.F. Hbner 3 A. Ricci 4 1. Ecole Nationale Suprieure des Mines (ENSMSE), Saint Etienne, France 2 Pontificia Universidade Catolica do Rio


  1. Multi-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier 1 R.H. Bordini 2 J.F. Hübner 3 A. Ricci 4 1. Ecole Nationale Supérieure des Mines (ENSMSE), Saint Etienne, France 2 Pontificia Universidade Catolica do Rio Grande do Sul (PUCRS), Porto Alegre, Brazil 3. Federal University of Santa Catarina (UFSC), Florianópolis, Brazil 4. University of Bologna (UNIBO), Bologna, Italy September 2015

  2. Introduction MAOP JaCaMo Experiences Conclusion In collaboration with J.S. Sichman , Universidade de São Paulo - LTI-PCS, São Paulo, Brazil (jaime.sichman@poli.usp.br) G. Picard , ENS Mines St-Etienne, France (gauthier.picard@emse.fr) M. Hannoun , B. Gâteau , G. Danoy , R. Kitio , C. Persson , R. Yaich , ENS Mines St-Etienne, France, L. Coutinho Brazil M. Piunti , A. Santi , Università degli studi di Bologna - DEIS, Bologna, Italy (a.ricci@unibo.it) A. Ciortea , A. Sorici , Politehnica University of Bucharest, Romania MAOP 2 / 74

  3. Outline Introduction 1 Multi-Agent Oriented Programming (MAOP) 2 MAOP Perspective: the JaCaMo Platform 3 MAOP Experiences 4 Conclusions and Perspectives 5

  4. Introduction MAOP JaCaMo Experiences Conclusion MAS Conceptual framework / Dimensions A gents: abstractions for the definition of the AGENTS ORGANISATIONS decision/reasoning entities INTERNAL BELIEFS EVENTS GROUPS ROLES GOALS SANCTIONS architectures PLANS MISSIONS REWARDS ACTIONS PERCEPTIONS DEONTIC RELATIONS E nvironment: abstractions for NORMS structuring resources, processing TOOLS SPEECH COMMUNICATION entities shared among the agents RESOURCES ACTS LANGUAGES TOPOLOGY I nteraction: abstractions for INTERACTION PROCOLS SERVICES OBJECTS structuring interactions among INTERACTIONS ENVIRONMENTS entities O rganisation: abstractions for cf. VOWELS [Demazeau, 1995, structuring and ruling the sets of Demazeau, 1997] entities within the MAS ❀ A rich set of abstractions for capturing applications complexity! MAOP 4 / 74

  5. Introduction MAOP JaCaMo Experiences Conclusion MAS Conceptual framework / Dynamics Each dimension has its own AGENTS dynamics ORGANISATIONS INTERNAL BELIEFS EVENTS GROUPS ROLES GOALS Dynamics may be interlaced into SANCTIONS PLANS MISSIONS REWARDS bottom-up / top-down global ACTIONS PERCEPTIONS DEONTIC RELATIONS NORMS cycles Coordination of these dynamics TOOLS SPEECH COMMUNICATION RESOURCES ACTS LANGUAGES may be programmed into one or TOPOLOGY INTERACTION PROCOLS SERVICES OBJECTS several dimensions INTERACTIONS ENVIRONMENTS [Boissier, 2003] ❀ A rich palette of possible dynamics & coordination!! MAOP 5 / 74

  6. Introduction MAOP JaCaMo Experiences Conclusion MAS Programming A gent O riented P rogramming OOP AOP [Shoham, 1993] AGENTS ORGANISATIONS INTERNAL E nvironment O riented BELIEFS EVENTS GROUPS ROLES GOALS SANCTIONS P rogramming [Ricci et al., 2011] PLANS MISSIONS REWARDS ACTIONS PERCEPTIONS DEONTIC RELATIONS NORMS I nteraction O riented P rogramming [Huhns, 2001] TOOLS SPEECH COMMUNICATION ACTS LANGUAGES RESOURCES O rganisation O riented TOPOLOGY INTERACTION PROCOLS SERVICES OBJECTS P rogramming INTERACTIONS ENVIRONMENTS EOP [Pynadath et al., 1999] IOP In these approaches, some dimensions lose their control & visibility! Integrating the dimensions into one programming platform is not so easy! Examples of Multi-Agent Oriented Programming Platforms: Volcano platform [Ricordel and Demazeau, 2002], MASK platform [Occello et al., 2004], MASQ [Stratulat et al., 2009], extending AGRE and AGREEN, Situated E-Institutions [Campos et al., 2009], ... MAOP 6 / 74

  7. Introduction MAOP JaCaMo Experiences Conclusion MAS Programming A gent O riented P rogramming OOP AOP [Shoham, 1993] AGENTS ORGANISATIONS INTERNAL E nvironment O riented BELIEFS EVENTS GROUPS ROLES GOALS SANCTIONS PLANS P rogramming [Ricci et al., 2011] MISSIONS REWARDS ACTIONS PERCEPTIONS DEONTIC RELATIONS NORMS I nteraction O riented P rogramming [Huhns, 2001] TOOLS SPEECH COMMUNICATION ACTS LANGUAGES RESOURCES O rganisation O riented TOPOLOGY INTERACTION PROCOLS SERVICES OBJECTS P rogramming INTERACTIONS ENVIRONMENTS EOP [Pynadath et al., 1999] IOP Challenge Shifting from an A/E/I/O oriented approaches to a Multi-Agent Oriented approach keeping alive the concepts, dynamics and coordinations of the A, E, I and O dimensions MAOP 6 / 74

  8. Outline Introduction 1 Multi-Agent Oriented Programming (MAOP) 2 MAOP Meta-Model Focus on Agent meta-model Focus on Environment meta-model Focus on Organisation meta-model Synthesis MAOP Perspective: the JaCaMo Platform 3 MAOP Experiences 4 Conclusions and Perspectives 5

  9. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis Seamless Integration of A & E & I & O Environment Agent Dimension consult Dimension Manual External Action Internal Action create has dispose link, unlink Action Workspace Artifact use Agent Plan Operation Environment update generate Trigger event Observable Property Observable Event create Belief join focus, focus, quit unfocus unfocus Goal create Interaction adopt create commit delete Dimension leave delete Organisation leave achieve send Message receive Group Social Scheme Norm Link Goal Content SpeechAct Role Mission Organisation Dimension Cardinalities are not represented dimension border composition primitive operations concept mapping dependency association JaCaMo Meta-model [Boissier et al., 2011], based on Cartago [Ricci et al., 2009b], Jason [Bordini et al., 2007], M OISE [Hübner et al., 2009a] meta-models MAOP 8 / 74

  10. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis A gent meta-model External Action Internal Action Action Agent Agent Plan Dimension Trigger event Belief Goal agent's actions composition concept mapping association dependency dimension border Cardinalities are not represented Based on Jason meta-models [Bordini et al., 2007] MAOP 9 / 74

  11. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis Agent example I Example (Giacomo Agent Code) !have_a_house. // Initial Goal /* Plan */ +!have_a_house <- !contract; !execute. Example (companyX Agent Code) my_price(300). // initial belief /* plans for contracting phase */ // there is a new value for current bid +currentBid(V) : not i_am_winning(Art) & // I am not the current winner my_price(P) & P < V // I can offer a better bid <- .bid( P ). // place my bid offering a cheaper service MAOP 10 / 74

  12. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis A gent & A gent Interaction meta-model Agent Interaction Dimension Dimension External Action Internal Action Message Action Content SpeechAct Agent Plan Trigger event Belief Goal MAOP 11 / 74

  13. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis Agent’s dynamics Agent Belief Beliefs Base 5 1 2 Events S Percepts Percepts Plan E perceive BUF BRF Library Selected External External Beliefs Event Events Events Events Relevant 4 7 6 Internal Beliefs to Plans Check Unify Events SocAcc Add and Plans Context Event Delete Applicable Beliefs Plans 3 Messages Messages 8 9 Selected 10 checkMail S Intention Action Actions Intended Execute M S S I act O Means Intention .send Intentions Messages Push New Suspended Intentions Intentions Intention sendMsg New Plan (Actions and Msgs) ... ... Updated New Intention New MAOP 12 / 74

  14. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis E nvironment meta-model Manual has Workspace Artifact Operation Environment update generate Observable Event Observable Property Based on A&A meta-model [Omicini et al., 2008] MAOP 13 / 74

  15. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis Auction Artifact Example public class AuctionArt extends Artifact { @OPERATION void init(String taskDs, int maxValue) { defineObsProperty("task”,taskDs); // task description defineObsProperty("maxValue”, maxValue); // max. value // current best bid (lower service price) defineObsProperty("currentBid”, maxValue); // current winning agent ID defineObsProperty("currentWinner”, "no_winner"); } // places a new bid for doing the service for price p // (used by company agents to bid in a given auction) @OPERATION void bid(double bidValue) { ObsProperty opCurrentValue = getObsProperty("currentBid"); ObsProperty opCurrentWinner = getObsProperty("currentWinner"); if (bidValue < opCurrentValue.intValue()) { opCurrentValue.updateValue(bidValue); opCurrentWinner.updateValue(getOpUserName()); } } } MAOP 14 / 74

  16. Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis A & E Interaction meta-model Environment Agent Dimension Dimension consult Manual External Action Internal Action create has dispose link, unlink Action Workspace Artifact use Operation Agent Plan Environment update generate Trigger event Observable Event Observable Property create Belief join focus, focus, quit unfocus unfocus Goal MAOP 15 / 74

Recommend


More recommend