Outline - JaCaMo Project
Transcription
Outline - JaCaMo Project
Introduction MAOP JaCaMo Experiences Conclusion In collaboration with Multi-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier, R.H. Bordini, J.F. Hübner, A. Ricci May 2014 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 May 2014 MAOP 2 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAS Concepts Outline AGENTS BELIEFS 1 GOALS PLANS Introduction PERCEPTIONS INTERNAL EVENTS ORGANISATIONS GROUPS MISSIONS ACTIONS ROLES SANCTIONS REWARDS DEONTIC RELATIONS NORMS 2 3 Multi-Agent Oriented Programming (MAOP) SPEECH ACTS TOOLS COMMUNICATION LANGUAGES RESOURCES TOPOLOGY INTERACTION PROCOLS MAOP Perspective: the JaCaMo Platform SERVICES 4 MAOP Experiences 5 Conclusions and Perspectives OBJECTS ENVIRONMENTS INTERACTIONS Challenges Numerous concepts, models and technologies!!! May 2014 MAOP 4 / 64 Introduction MAOP JaCaMo Experiences Conclusion Introduction MAOP JaCaMo Experiences Conclusion MAS Dynamics & Coordinations AGENTS BELIEFS GOALS PLANS PERCEPTIONS INTERNAL EVENTS MISSIONS ACTIONS Coordination may be programmed into one or several of these dimensions [Boissier, 2003] ORGANISATIONS GROUPS ROLES SANCTIONS REWARDS DEONTIC RELATIONS NORMS SPEECH ACTS COMMUNICATION LANGUAGES TOOLS RESOURCES SERVICES INTERACTIONS AGENTS BELIEFS GOALS PLANS PERCEPTIONS OBJECTS ENVIRONMENTS INTERNAL EVENTS GROUPS MISSIONS ACTIONS Coordination may be programmed into one or several of these dimensions [Boissier, 2003] ORGANISATIONS ROLES SANCTIONS REWARDS DEONTIC RELATIONS NORMS Agent / Environment / Interaction / Organisation Centred coordination depends of the purpose of the domain/problem TOPOLOGY INTERACTION PROCOLS MAS Dynamics & Coordinations SPEECH ACTS COMMUNICATION LANGUAGES Agent / Environment / Interaction / Organisation Centred coordination depends of the purpose of the domain/problem TOOLS RESOURCES TOPOLOGY INTERACTION PROCOLS SERVICES INTERACTIONS OBJECTS ENVIRONMENTS Challenges Numerous concepts, models and technologies!!! Rich scope of possible dynamics and coordinations!!! May 2014 MAOP 5 / 64 May 2014 Introduction MAOP JaCaMo Experiences Conclusion MAS Programming OOP AGENTS BELIEFS GOALS PLANS PERCEPTIONS INTERNAL EVENTS ACTIONS ORGANISATIONS COMMUNICATION LANGUAGES INTERACTION PROCOLS GROUPS ROLES SANCTIONS MISSIONS REWARDS DEONTIC RELATIONS INTERACTIONS TOOLS TOPOLOGY OBJECTS ENVIRONMENTS EOP IOP OOP AOP AGENTS BELIEFS GOALS INTERNAL EVENTS PLANS PERCEPTIONS ORGANISATIONS GROUPS MISSIONS ACTIONS SPEECH ACTS Organisation Oriented Programming [Pynadath et al., 1999] COMMUNICATION LANGUAGES INTERACTION PROCOLS DEONTIC RELATIONS Interaction Oriented Programming [Huhns, 2001] INTERACTIONS TOOLS RESOURCES TOPOLOGY SERVICES OBJECTS ENVIRONMENTS EOP IOP Agent Oriented Programming [Shoham, 1993] Environment Oriented Programming [Ricci et al., 2011] ROLES SANCTIONS REWARDS NORMS Interaction Oriented Programming [Huhns, 2001] RESOURCES SERVICES Agent Oriented Programming [Shoham, 1993] Environment Oriented Programming [Ricci et al., 2011] NORMS SPEECH ACTS 5 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAS Programming AOP MAOP Organisation Oriented Programming [Pynadath et al., 1999] Challenges Numerous concepts, models and technologies!!! Multi-Agent Oriented Programming Platform have been/are proposed: Rich set of possible dynamics and coordinations!!! 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], ... May 2014 MAOP Different programming approaches!!! ; From an AI/Agent Centred to a Multi-Agent/A,E,I,O Centred approach 6 / 64 May 2014 MAOP 6 / 64 Introduction MAOP JaCaMo Experiences Conclusion Seamless Integration of A & E & I & O Outline Environment Dimension Introduction Workspace Multi-Agent Oriented Programming (MAOP) MAOP Meta-Model Focus on Agent meta-model Focus on Environment meta-model Focus on Organisation meta-model Observable Property create join quit Observable Event Organisation create delete adopt leave commit leave MAOP Experiences Goal create delete achieve Norm Role Interaction Dimension send receive Social Scheme Link MAOP Perspective: the JaCaMo Platform Belief focus, unfocus focus, unfocus Goal Content Message SpeechAct Mission Cardinalities are not represented primitive operations concept mapping composition association 5 Plan Trigger event Organisation Dimension 4 Agent generate Group 3 Internal Action Action use Operation update External Action create dispose link, unlink Artifact Environment 2 Agent Dimension consult Manual has 1 MAOP Meta-Model A E O Conclusions and Perspectives dimension border dependency 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 May 2014 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O MAOP Introduction MAOP JaCaMo Experiences Conclusion Agent meta-model 8 / 64 MAOP Meta-Model A E O Agent example I External Action Example (Giacomo Agent Code) Internal Action !have_a_house. // Initial Goal /* Plan */ +!have_a_house <- !contract; !execute. Action Agent Plan Agent Dimension 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 Trigger event Belief Goal agent's actions concept mapping composition association dependency dimension border Cardinalities are not represented Based on Jason meta-models [Bordini et al., 2007] May 2014 MAOP 9 / 64 May 2014 MAOP 10 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion Agent & Agent Interaction meta-model Agent Dimension External Action Agent’s dynamics Beliefs Interaction Dimension Internal Action 1 Percepts perceive Percepts Events 2 BUF SpeechAct External Events 4 Beliefs to Add and Delete SocAcc Plan Trigger event Messages 3 checkMail SE BRF External Events Action Agent Agent Belief Base 5 Message Content MAOP Meta-Model A E O Beliefs Events 7 Internal Events Check Context Plan Library Selected Event Relevant Plans 6 Unify Event Plans Applicable Plans Messages Beliefs 8 SM SO Belief Selected Intention 9 Intended Means SI 10 Execute Intention Action Suspended Intentions Push New Plan Intentions (Actions and Msgs) ... May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 11 / 64 MAOP Meta-Model A E O May 2014 Introduction MAOP JaCaMo Experiences Conclusion Environment meta-model New Intention New New ... Actions .send Intentions Goal act sendMsg Messages Updated Intention MAOP 12 / 64 MAOP Meta-Model A E O 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"); } Manual has Workspace Environment Artifact Operation update Observable Property // 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()); } } } generate Observable Event Based on A&A meta-model [Omicini et al., 2008] May 2014 MAOP 13 / 64 May 2014 MAOP 14 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion A & E Interaction meta-model MAOP Meta-Model A E O Giacomo Agent Code I Example Environment Dimension Manual has Workspace Artifact External Action create dispose link, unlink Agent update generate Observable Property create join quit focus, unfocus Internal Action Action use Operation Environment Agent Dimension consult !have_a_house. // Initial Goal /* Plans */ +!have_a_house <- !contract; !execute. +!contract <- !create_auction_artifacts; !wait_for_bids. +!create_auction_artifacts <- !create_auction_artifact("SitePreparation", 2000); !create_auction_artifact("Floors", 1000); !create_auction_artifact("Walls", 1000); !create_auction_artifact("Roof", 2000); !create_auction_artifact("WindowsDoors", 2500); !create_auction_artifact("Plumbing", 500); !create_auction_artifact("ElectricalSystem", 500); !create_auction_artifact("Painting", 1200). Plan Trigger event Observable Event Belief focus, unfocus May 2014 Introduction MAOP JaCaMo Experiences Conclusion Goal MAOP 15 / 64 MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion Giacomo Agent Code II MAOP 16 / 64 MAOP Meta-Model A E O companyA Agent Code I Example +!create_auction_artifact(Task,MaxPrice) <- .concat("auction_for_",Task,ArtName); makeArtifact(ArtName, "tools.AuctionArt", [Task, MaxPrice], ArtId); focus(ArtId). -!create_auction_artifact(Task,MaxPrice)[error_code(Code)] <- .print("Error creating artifact ", Code). +!wait_for_bids <- println("Waiting the bids for 5 seconds..."); .wait(5000); // use intern deadline of 5 sec to close auctions !show_winners. +!show_winners <- for ( currentWinner(Ag)[artifact_id(ArtId)] ) { ?currentBid(Price)[artifact_id(ArtId)]; // check current bid ?task(Task)[artifact_id(ArtId)]; // and task it is for println("Winner of task ", Task," is ", Ag, " for ", Price) }. May 2014 May 2014 MAOP 17 / 64 Example my_price(1500). // initial belief !discover_art("auction_for_Plumbing"). // initial goal i_am_winning(Art) :- .my_name(Me) & currentWinner(Me)[artifact_id(Art)]. /* plans for contracting phase */ +!discover_art(ToolName) <- joinWorkspace("HouseBuildingWsp"); lookupArtifact(ToolName,ToolId); focus(ToolId). // there is a new value for current bid +currentBid(V)[artifact_id(Art)] : not i_am_winning(Art) & // I am not the current winner my_price(P) & P < V // I can offer a better bid <- bid(math.max(V-150, P))[artifact_id(Art)]. /* plans for execution phase */ ... May 2014 MAOP 18 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion Environment’s dynamics MAOP Meta-Model A E O Outcomes of A & E Integration Artifact life-cycle Creation/Deletion Agents with dynamic action repertoire, extended/reshaped by agents themselves Uniform implementation of any mechanisms (e.g. coordination mechanism) in terms of actions/percepts Activation/Execution/Fail or Success/Deactivation of an Operation Linking / Unlinking No need to extend agents with special purpose primitives Workspace life-cycle Exploiting a new type of agent modularity, based on externalization [Ricci et al., 2009a] Creation/Deletion of a workspace Creation/Deletion of Artifacts Creation/Deletion & Entry/Exit of Agents May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 19 / 64 MAOP Meta-Model A E O May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion Organisation meta-model 20 / 64 MAOP Meta-Model A E O Example: Organisation Structural Specification Organisation Group Social Scheme Norm Link Role Goal Mission Simplified M OISE meta-model [Hübner et al., 2009a] Graphical representation of M OISE Struct. Spec. May 2014 MAOP 21 / 64 May 2014 MAOP 22 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion Example: Organisation Functional Specification MAOP Meta-Model A E O Example: Organisation Normative Specification norm modality n1 n2 n3 n4 n5 n6 n7 n8 n9 Obl Obl Obl Obl Obl Obl Obl Obl Obl role mission / goals house_owner site_prep_contractor bricklayer roofer window_fitter door_fitter plumber electrician painter house built site prepared floors laid, walls built roof built windows fitted doors fitted plumbing installed electrical system installed interior painted, exterior painted Simplified representation of M OISE Norm. Spec. Graphical representation of M OISE Func. Spec. May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 23 / 64 MAOP Meta-Model A E O Artifact update External Action Mapping of the organisational state onto artifacts computational state Encapsulation of organisational functionalities by suitably designed artifacts providing organisational operations Agent Plan ; Reification of organisation management actions/perceptions by actions/percepts on the artifacts generate Trigger event Observable Property create join quit Observable Event Organisation create delete adopt leave commit leave Group Goal create delete achieve Norm Role Goal Extensible set of organisational artifacts: Interaction Dimension send receive Social Scheme Link Organisation Dimension Belief focus, unfocus focus, unfocus MAOP Meta-Model A E O Instrumenting Organisation Management by dedicated Organisational Artifacts Internal Action Action use Operation Environment 24 / 64 A & O Integration create dispose link, unlink has Workspace Agent Dimension consult Manual MAOP Introduction MAOP JaCaMo Experiences Conclusion A & E & O Interaction meta-model Environment Dimension May 2014 Content Openness Management Artifact [Kitio, 2011] Reorganisation Artifact [Sorici, 2011] Evaluation Artifact (kind-of reputation artifact) [Hübner et al., 2009b] Communication management Artifact [Ciortea, 2011] Message SpeechAct Mission Cardinalities are not represented May 2014 composition association MAOP primitive operations concept mapping dimension border dependency Based on Cartago [Ricci et al., 2009b], Jason [Bordini et al., 2007], 25 / 64 May 2014 MAOP 26 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion A & O Integration (2) MAOP Meta-Model A E O Example Example (Adoption of Role) group scheme mission role Plan Library Belief Base +!discover_art(ToolName) <- joinWorkspace("HouseBuildingWsp"); lookupArtifact(ToolName,ToolId); focus(ToolId). organisational events organisational actions Intentions Org. Reasoning Mechanisms ; Agents can reason on the organisation: Org. Artifacts op1 op2 ... Exploit the uniform access to artifacts ; Agents may be aware of the Organisation by the way of: op1 op2 to achieve organisational goals by developing organisational plans op1 Env. op2 Artifacts May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion +!contract("SitePreparation",GroupBoardId) <- adoptRole(site_prep_contractor) focus(GroupBoardId). +!site_prepared <- ... // actions to prepare the site.. 27 / 64 MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion E & O Integration scheme count-as op1 op2 Org. Artifacts op1 op2 enact *auctionStatus(closed)[source(Art)] count-as play(Winner,Role,hsh_group)[source(hsh_group)] in currentWinner(Winner)[source(Art)] & not(Winner==no_winner) & auction_role(Art,Role). Env. Artifacts ; Org-agnostic agents may indirectly act on the organisation /* The occurrence of the event "prepareSite" means the achievement of organisational goal "site_prepared" */ ; Environment can act on the organisation + prepareSite[agent_name(Ag),artifact_name(housegui)] count-as goalState(bhsch,site_prepared,Ag,Ag,satisfied)[source(bhsch)]. ; Organisation is embodied, situated in the environment May 2014 MAOP Meta-Model A E O /* If an auction "Art" is finished, its winner ("Winner") plays a role "Role", if it doesn’t adopted it yet */ Both artifacts bound by count-as, enact constitutive rules [Piunti et al., 2009, de Brito et al., 2012] count-as op1 op2 28 / 64 Example Org. Artifacts provide organisational operations mission role MAOP Count-as rules [de Brito et al., 2012] Env. Artifacts provide operations on shared resources group May 2014 MAOP 29 / 64 May 2014 MAOP 30 / 64 Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Introduction MAOP JaCaMo Experiences Conclusion Organisation’s dynamics (triggered by Agents, Environment) MAOP Meta-Model A E O Outcomes of A & E & O Integration Organisation life-cycle Entrance/Exit of an agent Normative deliberative agents Creation/Deletion of an Organisation entity possibility to define mechanisms for agents to evolve within an organisation/several organisations possibility to define proper mechanisms for deliberating on the internalisation/adoption/violation of norms Change of Organisation specification Structural Organisation life-cycle Reorganisation, adaptation of the organisation Creation/Deletion of a group possibility to define proper mechanisms for diagnosing/evaluating/refining/defining organisations Adoption/Release of a role “Deliberative” Organisations Functional Organisation life-cycle possibility to define dedicated organisational strategies for the regulation/adaptation of the organisation behaviour (organisational agents) Creation/End of a schema Commitment/Release of a mission Change of a global goal state “Embodied” Organisation / Organisation Aware Environment possibility to connect organisation to environment Normative Organisation life-cycle Activation/De-activation of obligation Fulfilment/Violation/Sanction May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 31 / 64 MAOP Meta-Model A E O Workspace Artifact update External Action Internal Action Agent dimension ... Action use Operation Environment Agent Dimension create dispose link, unlink has Agent create join quit create delete ... Goal Agent Artifact Mission commit leave create delete achieve Conceptual level Norm Goal SchemeBoard Specification Groups Players Goals Obbligations adoptRole leaveRole addScheme removeScheme commintMission leaveMission setGoalAchieved NodeArtifact Interaction Dimension send receive GroupBoard Specification Schemes Goals linkArtifacts lookupArtifact (make/dispose)Artifact quitWorkspace Goal Social Scheme Role ... Operations artifact(SB,SchemeBoard,ID1) artifact(CONS,Console,ID2) ... Belief focus, unfocus Group Organisation Dimension Organisation dimension ... Plan WorkspaceArtifact Observable Event adopt leave Link ... generate focus, unfocus Organisation Environment dimension ... Plan Trigger event Observable Property 32 / 64 JaCaMo Platform http://jacamo.sourceforge.net consult Manual MAOP Introduction MAOP JaCaMo Experiences Conclusion A MAOP meta-model Environment Dimension May 2014 workspace(WspName,ID) ... Console Message createWorkspace joinWorkspace joinRemoteWorkspace shutdownNode print println JaCaMo workspace Content Execution level SpeechAct CArtAgO, Jason, NOPL engine Mission Java Platform Platform level Operating System Cardinalities are not represented composition association primitive operations concept mapping dimension border dependency MAOPbased on Cartago [Ricci et al., 2009b], JaCaMo Meta-model [Boissier et al., 2011], May 2014 Jason [Bordini et al., 2007], M OISE [Hübner et al., 2009a] meta-models 33 / 64 May 2014 MAOP 34 / 64 Introduction MAOP JaCaMo Experiences Conclusion Introduction MAOP JaCaMo Experiences Conclusion Integration of Multi-Agent technologies Integration with other technologies Web 2.0 Agent: Jason agents [Bordini et al., 2007] implementing Web 2.0 applications http://jaca-web.sourceforge.net Environment: CArtAgO platform [Ricci et al., 2009b] Organisation: M OISE framework with the extended/refactored version of the M OISE OMI: ORA4MAS [Hübner et al., 2009a] Android Platforms implementing mobile computing applications on top of the Android platform http://jaca-android.sourceforge.net Interaction: based on tight integration between Jason and KQML or ACL/FIPA Web Services building SOA/Web Services applications http://cartagows.sourceforge.net Dimensions are integrated with dedicated bridges: A–E (c4Jason, c4Jadex [Ricci et al., 2009b]) Arduino Platforms E–O (count-as/enact rules [Piunti et al., 2009]) building “Web of Things” Applications http://jacamo.sourceforge.net A–O is for free (thanks to ORA4MAS). Strategies and reasoning capabilities from J -M OISE+ [Hübner et al., 2007] can be reused. Semantic Technologies JaSA: Semantically Aware Agents http://cartago.sourceforge.net Open to integrate other Multi-Agent Technologies May 2014 MAOP 35 / 64 May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 36 / 64 Case K-Sharing Trust & Privacy M2M Infrastructure for Smart Cities (ETSI view) Outline 1 Introduction 2 Multi-Agent Oriented Programming (MAOP) 3 MAOP Perspective: the JaCaMo Platform 4 MAOP Experiences MAOP Case: Agile Governance of M2M Infrastructure Sharing data, Knowledge Privacy & Trust 5 Conclusions and Perspectives European Telecommunications Standards Institute (ETSI) view on M2M infrastructure Device Domain: smart devices (sensors and actuators) for collecting data and controling the environment Network Domain: shared communication infrastructure (platforms and gateways) to connect applications to devices Application Domain: applications providing ubiquitous & added value services to citizens May 2014 MAOP 38 / 64 Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy Introduction MAOP JaCaMo Experiences Conclusion SensCity: Urban M2M Infrastructure Case K-Sharing Trust & Privacy Agile Governance Requirements To get a urban M2M infrastructure for smart city: where costs and resources can be shared between several applications (e.g. Parking Management, Garbage Collection, Smart Metering, etc) ; Shifting from “vertical” to “horizontal” M2M infrastructures where new Stakeholders (i.e. application/sensors/actuators) can be added/suppressed during the lifetime of the system http://www.senscity-grenoble.com ; Openness and reacting to the changes of environmental conditions (e.g. increase in the number of collected data, number of messages) ; Adaptation In the context of this industrial project, our objective is to define an agile governance of the Urban M2M Infrastructure ; Definition of an agile and decentralized governance layer on top of the M2M Infrastructure [Persson et al., 2012] This is an ongoing research project in collaboration with OrangeLabs, France May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 39 / 64 May 2014 Case K-Sharing Trust & Privacy MAOP Introduction MAOP JaCaMo Experiences Conclusion Legacy System Agile gouvernance organization Normative Normative Functional Functional Structural Structural SLA SLA Application M2M System Normative Functional plugged-in Structural Application Transaction Mngr Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Subgoal 1 Subgoal 2 Application Devices Remote Entity Mngr Normative Device Sensor translated into Application-specific organization SensCity platform Actuator Subgoal 2.1 Subgoal 2.2 Gateway Proxy AppCNX op1 op2 AppConf op1 op2 NetworkInventory op1 op2 DeviceCNX op1 op2 Store op1 op2 Forward plugged-in Application Transaction Mngr Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Subgoal 1 Subgoal 2 Remote Entity Mngr Device Sensor Actuator Subgoal 2.1 Subgoal 2.2 composed of 47 types of components Gateway Proxy platform agents supporting access to physical devices network agents Application Workspace op1 op2 AppCNX AppConf Devices WorkSpace Network Workspace op1 op2 NetworkInventory op1 op2 DeviceCNX op1 op2 Store op1 op2 Forward SensCity SensCity and shared by several heterogenous Applications op1 op2 device agents Environment OrgBoard SchemeBoard GroupBoard op1 op2 Devices WorkSpace Network Workspace Structural Devices Agents op1 op1 op2 op2 op1 op1 op2 op2 Application Workspace device agents Environment Organization Workspace network agents Agents platform agents Functional App Network Organization translated into Application-specific organization Network Organization Application op1 op1 op2 op2 M2M System SLA SLA App Case K-Sharing Trust & Privacy MA Governance Layer: Governance Artifacts Agile gouvernance organization SLA SLA Application op1 op2 Artifact Hidden Component Real World Wrapped Component Hidden Component Real World Wrapped Component controls controls encapsulates interacts interacts Monitoring and controling tools that Compute direct / interpreted / aggregated status of the SensCity Platform’s components. Provide a uniform access of this status to the agents by observable properties or signals Offer the agents the possibility to act on the functioning of the M2M infrastructure by a repertoire of operations (Threshold definition, LoadBalancing, (De)activate, ...) Structured according to the ETSI domains legend legend May 2014 40 / 64 MAOP 41 / 64 May 2014 MAOP 42 / 64 Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy Introduction MAOP JaCaMo Experiences Conclusion MA Governance Layer: Governance Agents Take local autonomous decisions given the prescriptions of the organisation and their own local strategies Normative Functional Structural M2M System SLA Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Normative Functional plugged-in Structural App Subgoal 1 Subgoal 2 Devices Transaction Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Actuator Subgoal 2.1 Subgoal 2.2 Gateway Proxy op1 op2 op1 op2 DeviceCNX NetworkInventory AppConf op1 op2 op1 op2 Store Forward Agent Artifact controls encapsulates Organization Workspace op1 op1 op2 op2 legend May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion M2M System Normative Functional App plugged-in Structural Subgoal 1 Subgoal 2 Transaction Mngr Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Device Sensor Actuator Subgoal 2.1 Subgoal 2.2 Gateway Proxy OrgBoard SchemeBoard GroupBoard AppCNX op1 op2 AppConf Devices WorkSpace Network Workspace op1 op2 NetworkInventory op1 op2 DeviceCNX op1 op2 Store op1 op2 Forward op1 op2 Agent Artifact Wrapped Component composition play role controls encapsulates interacts Forward Role Agent Artifact Wrapped Component Hidden Component composition play role controls encapsulates interacts legend 43 / 64 May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 44 / 64 Case K-Sharing Trust & Privacy M2M Agile Governance Example Expressed in terms of structure (groups, roles), functionning (missions, goals, plans) and norms, and reasoned on by the agents and monitored by the organisation management infrastructure Normative Functional Structural SLA SLA Application MAOP M2M System SLA Application translated into Application-specific organization Normative Functional App plugged-in Structural Subgoal 1 Subgoal 2 Network Devices Application Transaction Mngr Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Device Sensor SLA Definition Actuator Subgoal 2.1 Subgoal 2.2 Gateway Proxy Horizontal Organisation: defines the nominal global functioning based on ETSI standards (Domains, Service Capabilities, Capability functionalities, ...) platform agents Organization Workspace op1 op1 op2 op2 op1 op1 op2 op2 op1 op1 op2 op2 OrgBoard SchemeBoard GroupBoard Service Level Agreement Role Group Vertical Organisations: based on each application SLA deployed on the Urban M2M Infrastructure network agents Application Workspace op1 op2 AppCNX op1 op2 AppConf device agents Devices WorkSpace Network Workspace op1 op2 NetworkInventory op1 op2 DeviceCNX op1 op2 Store op1 op2 Forward Service Level Agreement: Translation of Application subscription to Devices in terms of Group, Roles, Missions, Norms Validation: If judged feasible, role adopted Else Rejected or New proposal op1 op2 Agent Artifact Wrapped Component Hidden Component composition play role ; agents participate to multiple controls encapsulates interacts organisations legend May 2014 Store Real World Real World Hidden Component op1 op2 op1 op2 DeviceCNX NetworkInventory AppConf SensCity Role Group op1 op2 SensCity Service Level Agreement Application Workspace op1 op2 op1 op2 Environment op1 op1 op2 op2 AppCNX Devices WorkSpace Network Workspace op1 op2 Horizontal Organisation: defines the nominal global functioning based on ETSI standards (Domains, Service Capabilities, Capability functionalities, ...) Agents op1 op1 op2 op2 device agents Environment Organization Workspace op1 op1 op2 op2 network agents Agents platform agents op1 op2 device agents Organization Application-specific organization Application Organization translated into Devices network agents Agile gouvernance organization Normative Functional Structural Network Actuator op1 op2 Case K-Sharing Trust & Privacy Agile gouvernance organization Application Device Sensor Service Level Agreement Group MA Governance Layer: Governance Organisations SLA SLA Application SLA Interworking Proxy Remote Entity Mngr Application Workspace op1 op1 op2 op2 op1 op1 op2 op2 OrgBoard SchemeBoard GroupBoard Adapt the global governance strategy (; may modify the organisation) interacts History Mngr Compensation Broker Real World Real World Hidden Component M2M Area Net Security Mngr platform agents Interact with the other agents Wrapped Component Communication Enabler SensCity SensCity op1 op2 Gateway Application Enabler App Security Mngr Environment op1 op2 Transaction Mngr Gateway Proxy Apply their governance policies and local strategies (goals, beliefs, plans) to control M2M infrastructure by using their actions (; artifacts operations) Environment AppCNX Devices WorkSpace Network Workspace Application Workspace op1 op2 device agents Devices Application Agents network agents Agents platform agents Network Application Monitor the M2M infrastructure by focusing on artifacts (e.g. Failures, Overloads) updating their beliefs, goals Device Sensor Expressed in terms of structure (groups, roles), functionning (missions, goals, plans) and norms, and reasoned on by the agents and monitored by the organisation management infrastructure Normative Functional Structural M2M System Organization Application-specific organization Network Application Organization Application translated into MA Governance Layer: Governance Organisations Agile gouvernance organization Agile gouvernance organization SLA SLA Application Case K-Sharing Trust & Privacy legend 44 / 64 May 2014 MAOP 45 / 64 Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy Introduction MAOP JaCaMo Experiences Conclusion M2M Agile Governance Example M2M Agile Governance Example Agile gouvernance organization Agile gouvernance organization Normative Normative Functional Functional Structural SLA SLA Application Structural SLA SLA Application M2M System SLA Normative Functional plugged-in Structural Subgoal 1 Subgoal 2 Devices Application Transaction Mngr Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Application-specific organization Contract Execution Device Sensor Application translated into Social Scheme activation: when request is received, new scheme instance started Subgoal 2.1 Subgoal 2.2 Gateway Proxy AppCNX op1 op2 op1 op2 op1 op2 DeviceCNX NetworkInventory AppConf op1 op2 op1 op2 Store Forward Role Communication Enabler M2M Area Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Device Sensor Problem Detection Actuator Subgoal 2.1 Subgoal 2.2 Gateway Proxy platform agents Organization Workspace op1 op1 op2 op2 op1 op1 op2 op2 op1 op2 AppCNX device agents Devices WorkSpace Network Workspace Application Workspace op1 op1 op2 op2 OrgBoard SchemeBoard GroupBoard network agents op1 op2 op1 op2 op1 op2 op1 op2 DeviceCNX NetworkInventory AppConf op1 op2 Store Forward Service Level Agreement Role Group op1 op2 Detection of possible norm violation, i.e. failure to comply with the SLA Platform Monitoring: find the source of the problem with the help of the artifacts SensCity SensCity Service Level Agreement Group Execution Monitoring: validation of application requests, monitoring of devices’ activity Gateway Application Enabler App Security Mngr Environment OrgBoard SchemeBoard GroupBoard op1 op2 Devices WorkSpace Network Workspace Application Workspace op1 op1 op2 op2 plugged-in Structural Devices Transaction Mngr Agents op1 op1 op2 op2 device agents Environment Organization Workspace network agents Agents platform agents Normative Functional App Subgoal 1 Subgoal 2 Actuator Network Application Organization Application-specific organization Network Organization translated into op1 op1 op2 op2 M2M System SLA Application App Case K-Sharing Trust & Privacy op1 op2 Agent Artifact Agent Artifact Hidden Component composition play role controls encapsulates Real World Wrapped Component Hidden Component Real World Wrapped Component composition play role controls encapsulates interacts interacts legend legend May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion 46 / 64 May 2014 Case K-Sharing Trust & Privacy MAOP Introduction MAOP JaCaMo Experiences Conclusion M2M Agile Governance Example Agile gouvernance organization Normative Normative Functional Functional Structural Structural SLA SLA Application M2M System SLA Normative Functional plugged-in Structural Subgoal 1 Subgoal 2 Devices Application Transaction Mngr Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Normative Functional AppConf Devices WorkSpace Network Workspace op1 op2 NetworkInventory op1 op2 DeviceCNX op1 op2 Store op1 op2 Forward Gateway Application Enabler Communication Enabler M2M Area App Security Mngr Net Security Mngr History Mngr Interworking Proxy Compensation Broker Remote Entity Mngr Governance Strategy Adaptation Device Sensor Actuator Subgoal 2.1 Subgoal 2.2 Gateway Proxy Fix the problem by acting on the platform via the artifacts under their responsibility and their governance policies platform agents Organization Workspace op1 op1 op2 op2 op1 op1 op2 op2 op1 op1 op2 op2 OrgBoard SchemeBoard GroupBoard Coordinate with each other Service Level Agreement Role Group op1 op2 network agents Application Workspace op1 op2 AppCNX op1 op2 AppConf device agents Devices WorkSpace Network Workspace op1 op2 NetworkInventory op1 op2 DeviceCNX op1 op2 Store op1 op2 Forward SensCity Role AppCNX op1 op2 SensCity Service Level Agreement Group op1 op2 Devices Transaction Mngr Environment OrgBoard SchemeBoard GroupBoard Application Workspace Network Application Agents op1 op1 op2 op2 Environment op1 op1 op2 op2 device agents plugged-in Structural Subgoal 1 Subgoal 2 Infrastructure Adaptation Agents Organization Workspace Application-specific organization App Actuator Gateway Proxy network agents translated into Device Sensor Subgoal 2.1 Subgoal 2.2 platform agents Application Organization Application-specific organization Network Organization translated into op1 op1 op2 op2 M2M System SLA Application App Case K-Sharing Trust & Privacy M2M Agile Governance Example Agile gouvernance organization SLA SLA Application 47 / 64 Problem with the SLA: SLA might be too greedy, infrastructure adaptation not sufficient ; SLA redefinition (eg. decrease message frequency, device subscription redefined) op1 op2 Agent Artifact Agent Artifact Hidden Component composition play role controls encapsulates Real World Wrapped Component Hidden Component Real World Wrapped Component composition play role controls encapsulates interacts interacts legend May 2014 legend MAOP 48 / 64 May 2014 MAOP 49 / 64 Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy Introduction MAOP JaCaMo Experiences Conclusion Synthesis Case K-Sharing Trust & Privacy Sharing Data and Knowledge Monitoring and governance of the M2M infrastructure take place at different levels embracing an increasing broader view: Artifacts < Agents & Interactions < Organisations ; Modularity / Lisibility of the Governance Layer Coordination mechanisms installing Top-Down - Bottom-up loops (Synergie between Macro/Micro levels) Agents are in charge of the governance but also of the reorganisation process Current experiments: Installing complex governance processes Refactoring the Agents layer by making explicit dedicated coordination strategies expressed into coordination artifacts Distributing and better managing the deployement May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion Smart Places Smart places where nomadic users participate to adhoc virtual communities (in collaboration with LaHC/UJM, LT2C/UJM-TSE)) 50 / 64 Case K-Sharing Trust & Privacy May 2014 MAOP Introduction MAOP JaCaMo Experiences Conclusion Privacias [Ciortea et al., 2012] 51 / 64 Case K-Sharing Trust & Privacy Decentralized Trust Management Dave Helen Bob H D A G B George Alice E C Carl F f Elise Frank Open Innovation Communities where groups of individuals share common interests or objectives interact and share resources (documents, ideas, etc) Privacy preservation in open and decentralized communities by the definition of Privacy Enforcing Agent: Privacy Enforcement Norms checked by the agent Privacy Enforcement Layer Appropriateness laws (A-Laws) used by the agent Privacy violation detection layer May 2014 MAOP Management of Individual and Collective Trust Policies on behalf of the users [Yaich et al., 2012] 52 / 64 May 2014 MAOP 53 / 64 Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy Decentralized Trust Management Outline Organisation Community Role Collective Policies Assistant Agent A A C Interaction ASC-TMA T G T T Agents T Association Introduction 2 Multi-Agent Oriented Programming (MAOP) 3 MAOP Perspective: the JaCaMo Platform 4 MAOP Experiences 5 Conclusions and Perspectives Negotiation T T 1 F B I Individual Policies Adhesion Control T Environment Private Resource Public Resource Operation Interactions Multi-Agent Architecture May 2014 MAOP 54 / 64 Introduction MAOP JaCaMo Experiences Conclusion Introduction MAOP JaCaMo Experiences Conclusion Conclusions MAOP Open Issues & Perspectives MAOP proposes a seamless integration of different abstractions that brings interesting features to Intelligent Environments: ; separation of concerns ; Coordination Integration of Bottom-up AND Top-Down functioning within MAS ; integration of emergence AND Normative dynamics Management of Open Organisations, Multiple Organisations, Organisation of Organisations Management of Situated Organisations (Interactions between E and O dimensions) ; Shift from MAS to MAOS (Multi-AgentOrganization Systems) using the best abstraction level and tools to tackle the specific dimensions, avoiding design pitfalls, such as using agents to implement either non-autonomous entities (e.g., a blackboard agent) or a collection of autonomous entities (group agent) ; openness and heterogeneity ; Engineering E.g., heterogeneous agents working in the same organisation, heterogeneous agents working in the same environment, the same agent working in different and heterogeneous organisations, the same agent working in different heterogeneous environments Debugging, Performance, ... Life cycle of MAS (from requirement to maintenance) ; software engineering tools and methods Shift from Agent-Oriented Sofware Engineering to Multi-Agent Oriented Software Engineering where all the dimensions A, E, I, O may guide each step of the process Evaluation & Verification of MAO programmed applications, Integrating with other technologies Handle Scalability, Robustness ; programming features: Each of the dimension can be addressed explicitly Modularity, extensibility, reusability is possible Extensible set of actions and tools provided to Agents (Reorganization Artifact, Organization Management Artifacts, ...) ... code is cleaner and more understandable ... May 2014 MAOP 56 / 64 May 2014 MAOP 57 / 64 Introduction MAOP JaCaMo Experiences Conclusion Introduction MAOP JaCaMo Experiences Conclusion Bibliography I Boissier, O. (2003). Contrôle et coordination orientés multi-agents. Habilitation à diriger des recherches, ENS Mines Saint-Etienne et Université Jean Monnet. Multi-Agent Oriented Programming – Introduction – Boissier, O., Bordini, R. H., Hübner, J. F., Ricci, A., and Santi, A. (2011). The JaCaMo Platform Science of Computer Programming, pages –. Multi-agent oriented programming with jacamo. Bordini, R. H., Hübner, J. F., and Wooldrige, M. (2007). Programming Multi-Agent Systems in AgentSpeak using Jason. O. Boissier, R.H. Bordini, J.F. Hübner, A. Ricci Wiley Series in Agent Technology. John Wiley & Sons. Campos, J., López-Sánchez, M., Rodriguez-Aguilar, J. A., and Esteva, M. (2009). Formalising situatedness and adaptation in electronic institutions. May 2014 In Coordination, Organizations, Institutions and Norms in Agent Systems IV, volume 5428/2009 of LNCS. Springer Berlin / Heidelberg. Ciortea, A. (2011). Modeling relationships for privacy preservation in virtual communities. Master’s thesis, University Politehnica of Bucharest. May 2014 MAOP 58 / 64 Introduction MAOP JaCaMo Experiences Conclusion May 2014 MAOP 59 / 64 Introduction MAOP JaCaMo Experiences Conclusion Bibliography II Bibliography III Hübner, J. F., Vercouter, L., and Boissier, O. (2009b). Ciortea, A., Krupa, Y., and Vercouter, L. (2012). Instrumenting Multi-Agent Organisations with reputation artifacts. Designing privacy-aware social networks: a multi-agent approach. In Hubner, J. F., Matson, E., Boissier, O., and Dignum, V., editors, Coordination, Organizations, Institutions, and Norms in Agent Systems IV, volume 5428 of LNAI, pages 96–110. Springer. In Burdescu, D. D., Akerkar, R., and Badica, C., editors, WIMS, page 8. ACM. de Brito, M., Hübner, J. F., and Bordini, R. H. (2012). Huhns, M. N. (2001). Programming institutional facts in multi-agent systems. Interaction-oriented programming. In COIN-12, Proceedings. Hübner, J. F., Boissier, O., Kitio, R., and Ricci, A. (2009a). In First international workshop, AOSE 2000 on Agent-oriented software engineering, pages 29–44, Secaucus, NJ, USA. Springer-Verlag New York, Inc. Instrumenting Multi-Agent Organisations with Organisational Artifacts and Agents. Kitio, R. (2011). Journal of Autonomous Agents and Multi-Agent Systems. Gestion de l’ouverture au sein d’organisations multi-agents. Une approche basée sur des artefacts organisationnels. Hübner, J. F., Sichman, J. S., and Boissier, O. (2007). PhD thesis, ENS Mines Saint-Etienne. Developing Organised Multi-Agent Systems Using the MOISE+ Model: Programming Issues at the System and Agent Levels. Occello, M., Baeijs, C., Demazeau, Y., and Koning, J.-L. (2004). MASK: An AEIO toolbox to design and build multi-agent systems. Agent-Oriented Software Engineering, 1(3/4):370–395. May 2014 MAOP In et al., C., editor, Knowledge Engineering and Agent Technology, IOS Series on Frontiers in AI and Applications. IOS press, Amsterdam. 60 / 64 May 2014 MAOP 61 / 64 Introduction MAOP JaCaMo Experiences Conclusion Introduction MAOP JaCaMo Experiences Conclusion Bibliography IV Bibliography V Omicini, A., Ricci, A., and Viroli, M. (2008). Ricci, A., Piunti, M., and Viroli, M. (2009a). Artifacts in the A&A meta-model for multi-agent systems. Autonomous Agents and Multi-Agent Systems, 17(3):432–456. Externalisation and internalization: A new perspective on agent modularisation in multi-agent system programming. Persson, C., Picard, G., Ramparany, F., and Boissier, O. (2012). In Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors, LADS, volume 6039 of Lecture Notes in Computer Science, pages 35–54. Springer. A jacamo-based governance of machine-to-machine systems. In Demazeau, Y., Müller, J. P., Rodríguez, J. M. C., and Pérez, J. B., editors, Advances on Practical Applications of Agents and Multiagent Systems, Proc. of the 10th International Conference on Practical Applications of Agents and Multi-Agent Systems (PAAMS 12), volume 155 of Advances in Soft Computing Series, pages 161–168. Springer. Ricci, A., Piunti, M., and Viroli, M. (2011). Piunti, M., Ricci, A., Boissier, O., and Hubner, J. (2009). Environment programming in CArtAgO. Environment programming in multi-agent systems: an artifact-based perspective. Autonomous Agents and Multi-Agent Systems, 23:158–192. Ricci, A., Piunti, M., Viroli, M., and Omicini, A. (2009b). In Multi-Agent Programming: Languages,Platforms and Applications,Vol.2. Springer. Embodying organisations in multi-agent work environments. In IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology (WI-IAT 2009), Milan, Italy. Ricordel, P. and Demazeau, Y. (2002). VOLCANO: a vowels-oriented multi-agent platform. Pynadath, D. V., Tambe, M., Chauvat, N., and Cavedon, L. (1999). In Dunin-Keplicz and Nawarecki, editors, Proceedings of the International Conference of Central Eastern Europe on Multi-Agent Systems (CEEMAS’01), volume 2296 of LNAI, pages 252–262. Springer Verlag. Toward team-oriented programming. In Jennings, N. R. and Lespérance, Y., editors, ATAL, volume 1757 of LNCS, pages 233–247. Springer. May 2014 MAOP 62 / 64 Introduction MAOP JaCaMo Experiences Conclusion Bibliography VI Shoham, Y. (1993). Agent-oriented programming. Artif. Intell., 60(1):51–92. Sorici, A. (2011). Agile governance in an ambient intelligence environment. Master’s thesis, University Politehnica of Bucharest. Stratulat, T., Ferber, J., and Tranier, J. (2009). MASQ: towards an integral approach to interaction. In AAMAS (2), pages 813–820. Yaich, R., Boissier, O., Jaillon, P., and Picard, G. (2012). An agent based trust management system for multi-agent based virtual communities. In Demazeau, Y., Müller, J. P., Rodríguez, J. M. C., and Pérez, J. B., editors, Advances on Practical Applications of Agents and Multiagent Systems, Proc. of the 10th International Conference on Practical Applications of Agents and Multi-Agent Systems (PAAMS 12), volume 155 of Advances in Soft Computing Series, pages 217–223. Springer. May 2014 MAOP 64 / 64 May 2014 MAOP 63 / 64