Multi-Agent Oriented Programming– Introduction –The JaCaMo Platform
O. Boissier1 R.H. Bordini2 J.F. Hübner3 A. Ricci4
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
Introduction MAOP JaCaMo Experiences Conclusion
In collaboration with
J.S. Sichman, Universidade de São Paulo - LTI-PCS, São Paulo, Brazil([email protected])
G. Picard, ENS Mines St-Etienne, France ([email protected])
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 ([email protected])
A. Ciortea, A. Sorici, Politehnica University of Bucharest, Romania
MAOP 2 / 74
Outline
1 Introduction
2 Multi-Agent Oriented Programming (MAOP)
3 MAOP Perspective: the JaCaMo Platform
4 MAOP Experiences
5 Conclusions and Perspectives
Introduction MAOP JaCaMo Experiences Conclusion
MAS Conceptual framework / Dimensions
BELIEFSGOALSPLANS
INTERNALEVENTS
ACTIONSPERCEPTIONS
AGENTS
MISSIONS
ROLES
DEONTIC RELATIONS
GROUPS
NORMS
SANCTIONSREWARDS
ORGANISATIONS
RESOURCES
SERVICES OBJECTS
ENVIRONMENTS
COMMUNICATIONLANGUAGES
INTERACTIONPROCOLS
SPEECH ACTS
INTERACTIONS
TOPOLOGY
TOOLS
cf. VOWELS [Demazeau, 1995,Demazeau, 1997]
Agents: abstractions for thedefinition of thedecision/reasoning entitiesarchitectures
Environment: abstractions forstructuring resources, processingentities shared among the agents
Interaction: abstractions forstructuring interactions amongentities
Organisation: abstractions forstructuring and ruling the sets ofentities within the MAS
; A rich set of abstractions for capturing applications complexity!
MAOP 4 / 74
Introduction MAOP JaCaMo Experiences Conclusion
MAS Conceptual framework / Dynamics
BELIEFSGOALSPLANS
INTERNALEVENTS
ACTIONSPERCEPTIONS
AGENTS
MISSIONS
ROLES
DEONTIC RELATIONS
GROUPS
NORMS
SANCTIONSREWARDS
ORGANISATIONS
RESOURCES
SERVICES OBJECTS
ENVIRONMENTS
COMMUNICATIONLANGUAGES
INTERACTIONPROCOLS
SPEECH ACTS
INTERACTIONS
TOPOLOGY
TOOLS
Each dimension has its owndynamics
Dynamics may be interlaced intobottom-up / top-down globalcycles
Coordination of these dynamicsmay be programmed into one orseveral dimensions[Boissier, 2003]
; A rich palette of possible dynamics & coordination!!
MAOP 5 / 74
Introduction MAOP JaCaMo Experiences Conclusion
MAS Programming
AOP
EOPIOP
OOPBELIEFS
GOALSPLANS
INTERNALEVENTS
ACTIONSPERCEPTIONS
AGENTS
MISSIONS
ROLES
DEONTIC RELATIONS
GROUPS
NORMS
SANCTIONSREWARDS
ORGANISATIONS
RESOURCES
SERVICES OBJECTS
ENVIRONMENTS
COMMUNICATIONLANGUAGES
INTERACTIONPROCOLS
SPEECH ACTS
INTERACTIONS
TOPOLOGY
TOOLS
Agent Oriented Programming[Shoham, 1993]
Environment OrientedProgramming [Ricci et al., 2011]
Interaction OrientedProgramming [Huhns, 2001]
Organisation OrientedProgramming[Pynadath et al., 1999]
In these approaches, some dimensions lose their control & visibility!Integrating the dimensions into one programming platform is not soeasy!
Examples of Multi-Agent Oriented Programming Platforms:Volcano platform [Ricordel and Demazeau, 2002], MASKplatform [Occello et al., 2004], MASQ [Stratulat et al., 2009],extending AGRE and AGREEN, Situated E-Institutions[Campos et al., 2009], ...
MAOP 6 / 74
Introduction MAOP JaCaMo Experiences Conclusion
MAS Programming
AOP
EOPIOP
OOPBELIEFS
GOALSPLANS
INTERNALEVENTS
ACTIONSPERCEPTIONS
AGENTS
MISSIONS
ROLES
DEONTIC RELATIONS
GROUPS
NORMS
SANCTIONSREWARDS
ORGANISATIONS
RESOURCES
SERVICES OBJECTS
ENVIRONMENTS
COMMUNICATIONLANGUAGES
INTERACTIONPROCOLS
SPEECH ACTS
INTERACTIONS
TOPOLOGY
TOOLS
Agent Oriented Programming[Shoham, 1993]
Environment OrientedProgramming [Ricci et al., 2011]
Interaction OrientedProgramming [Huhns, 2001]
Organisation OrientedProgramming[Pynadath et al., 1999]
ChallengeShifting from an A/E/I/O oriented approaches to a Multi-Agent Orientedapproach
keeping alive the concepts, dynamics and coordinations of the A, E, Iand O dimensions
MAOP 6 / 74
Outline
1 Introduction
2 Multi-Agent Oriented Programming (MAOP)MAOP Meta-ModelFocus on Agent meta-modelFocus on Environment meta-modelFocus on Organisation meta-modelSynthesis
3 MAOP Perspective: the JaCaMo Platform
4 MAOP Experiences
5 Conclusions and Perspectives
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Seamless Integration of A & E & I & O
Artifact
Operation Agent
Workspace
Environment
Manual
has
use
generateupdate
createdispose
link, unlink
consult
createjoinquit
Belief
Goal
Plan
External Action Internal Action
createdelete
adoptleave
createdelete
commit leave
focus, unfocus
primitive operationscompositionassociation dependencyconcept mapping
Trigger eventObservable Property
dimension border
Action
Observable Event
achieve
Environment Dimension
Agent Dimension
Organisation Dimension
Cardinalities are not represented
Content
Message
SpeechAct
Interaction Dimension
sendreceive
focus, unfocus
MissionRole
Group Social Scheme
NormGoalLink
Organisation
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-modelsMAOP 8 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Agent meta-model
Agent
Belief
Goal
Plan
External Action Internal Action
agent's actionscompositionassociation
dependencyconcept mapping
Trigger event
dimension border
Action
Agent Dimension
Cardinalities are not represented
Based on Jason meta-models [Bordini et al., 2007]
MAOP 9 / 74
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 winnermy_price(P) & P < V // I can offer a better bid
<- .bid( P ). // place my bid offering a cheaper service
MAOP 10 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Agent & Agent Interaction meta-model
Agent
Belief
Goal
Plan
External Action Internal Action
Trigger event
Action
Agent Dimension
Content
Message
SpeechAct
Interaction Dimension
MAOP 11 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Agent’s dynamics
SI
EventsExternal
EventSelected
SE
Beliefs toAdd and
Delete
RelevantPlans
New PlanPush
IntentionUpdated
OS
Applicable
Plans
Means
Intended
EventsExternal
PlanLibrary
Events
InternalEvents
3
checkMail
Intentions
ExecuteIntention
...NewNew
9
BeliefBase
NewIntention
Percepts
act
SelectedIntention
Intentions
Action
Percepts1 2
BUF
10
Events
Context
Check
Event
Unify
BRF
Beliefs
Agent
sendMsg
Beliefs
8
Messages
Plans
perceive
7
5
6
Actions
Beliefs
Suspended Intentions(Actions and Msgs)
...
.send
SocAcc
4
Messages MessagesSM
MAOP 12 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Environment meta-model
Artifact
Operation
Workspace
Environment
Manual
has
generateupdate
Observable Property Observable Event
Based on A&A meta-model [Omicini et al., 2008]
MAOP 13 / 74
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 descriptiondefineObsProperty("maxValue”, maxValue); // max. value// current best bid (lower service price)defineObsProperty("currentBid”, maxValue);// current winning agent IDdefineObsProperty("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
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
A & E Interaction meta-model
Artifact
Operation Agent
Workspace
Environment
Manual
has
use
generateupdate
createdispose
link, unlink
consult
createjoinquit
Belief
Goal
Plan
External Action Internal Action
focus, unfocus
Trigger eventObservable Property
Action
Observable Event
Environment Dimension
Agent Dimension
focus, unfocus
MAOP 15 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Giacomo Agent Code I
Example
!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).
MAOP 16 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Giacomo Agent Code II
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 forprintln("Winner of task ", Task," is ", Ag, " for ", Price)
}.
MAOP 17 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
companyA Agent Code I
Example
my_price(1500). // initial belief!discover_art("auction_for_Plumbing"). // initial goali_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 winnermy_price(P) & P < V // I can offer a better bid
<- bid(math.max(V-150, P))[artifact_id(Art)]./* plans for execution phase */...
MAOP 18 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Environment’s dynamics
Artifact life-cycle
Creation/Deletion
Activation/Execution/Fail or Success/Deactivation of anOperation
Linking / Unlinking
Workspace life-cycle
Creation/Deletion of a workspace
Creation/Deletion of Artifacts
Creation/Deletion & Entry/Exit of Agents
MAOP 19 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Outcomes of A & E Integration
Agents with dynamic action repertoire, extended/reshaped byagents themselvesUniform implementation of any mechanisms (e.g. coordinationmechanism) in terms of actions/percepts
No need to extend agents with special purpose primitives
Exploiting a new type of agent modularity, based onexternalization [Ricci et al., 2009a]
MAOP 20 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Organisation meta-model
MissionRole
Group
NormGoalLink
Organisation
Social Scheme
Simplified M OISE meta-model [Hübner et al., 2009a]
MAOP 21 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Example: Organisation Structural Specification
Graphical representation of M OISE Struct. Spec.MAOP 22 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Example: Organisation Functional Specification
Graphical representation of M OISE Func. Spec.
MAOP 23 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Example: Organisation Normative Specification
norm modality role mission / goals
n1 Obl house_owner house builtn2 Obl site_prep_contractor site preparedn3 Obl bricklayer floors laid, walls builtn4 Obl roofer roof builtn5 Obl window_fitter windows fittedn6 Obl door_fitter doors fittedn7 Obl plumber plumbing installedn8 Obl electrician electrical system installedn9 Obl painter interior painted, exterior painted
Simplified representation of M OISE Norm. Spec.
MAOP 24 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
A & E & O Interaction meta-model
Artifact
Operation Agent
Workspace
Environment
Manual
has
use
generateupdate
createdispose
link, unlink
consult
createjoinquit
Belief
Goal
Plan
External Action Internal Action
createdelete
adoptleave
createdelete
commit leave
focus, unfocus
primitive operationscompositionassociation dependencyconcept mapping
Trigger eventObservable Property
dimension border
Action
Observable Event
achieve
Environment Dimension
Agent Dimension
Organisation Dimension
Cardinalities are not represented
Content
Message
SpeechAct
Interaction Dimension
sendreceive
focus, unfocus
MissionRole
Group Social Scheme
NormGoalLink
Organisation
Based on Cartago [Ricci et al., 2009b], Jason [Bordini et al., 2007],M OISE [Hübner et al., 2009a] meta-models
MAOP 25 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
A & O Integration
Instrumenting Organisation Management by dedicatedOrganisational Artifacts
Mapping of the organisational state onto artifacts computationalstateEncapsulation of organisational functionalities by suitably designedartifacts providing organisational operations
; Reification of organisation management actions/perceptions byactions/percepts on the artifacts
Extensible set of organisational artifacts:Openness Management Artifact [Kitio, 2011]Reorganisation Artifact [Sorici, 2011]Evaluation Artifact (kind-of reputationartifact) [Hübner et al., 2009b]Communication management Artifact [Ciortea, 2011]
MAOP 26 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
A & O Integration (2)
role missionschemegroup
BeliefBase Intentions
Org. Reasoning
Mechanisms
Plan Library
op2op1
op2op1
op2op1
Org. Artifacts Env.
Artifacts
Exploit the uniform access toartifacts
; Agents may be aware of theOrganisation by the way of:
organisational eventsorganisational actions
; Agents can reason on theorganisation:
to achieve organisational goalsby developing organisationalplans
MAOP 27 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Example
Example (Adoption of Role)
...
+!discover_art(ToolName)<- joinWorkspace("HouseBuildingWsp");
lookupArtifact(ToolName,ToolId);focus(ToolId).
+!contract("SitePreparation",GroupBoardId)<- adoptRole(site_prep_contractor)
focus(GroupBoardId).
+!site_prepared<- ... // actions to prepare the site..
MAOP 28 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
E & O Integration
role missionschemegroup
op2op1
Org. Artifacts Env.Artifacts
count-as
count-as
op2op1
op2op1
enact
Env. Artifacts provide operationson shared resources
Org. Artifacts provideorganisational operations
Both artifacts bound by count-as,enact constitutiverules [Piunti et al., 2009,de Brito et al., 2012]
; Org-agnostic agents mayindirectly act on the organisation
; Environment can act on theorganisation
; Organisation is embodied,situated in the environment
MAOP 29 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Count-as rules [de Brito et al., 2012]
Example
/* If an auction "Art" is finished, its winner ("Winner")plays a role "Role", if it doesn’t adopted it yet */
*auctionStatus(closed)[source(Art)]count-as
play(Winner,Role,hsh_group)[source(hsh_group)]in
currentWinner(Winner)[source(Art)] ¬(Winner==no_winner) &auction_role(Art,Role).
/* The occurrence of the event "prepareSite" means theachievement of organisational goal "site_prepared" */
+ prepareSite[agent_name(Ag),artifact_name(housegui)]count-as
goalState(bhsch,site_prepared,Ag,Ag,satisfied)[source(bhsch)].
MAOP 30 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Organisation’s dynamics (triggered by Agents, Environment)
Organisation life-cycle
Entrance/Exit of an agent
Creation/Deletion of an Organisation entity
Change of Organisation specification
Structural Organisation life-cycle
Creation/Deletion of a group
Adoption/Release of a role
Functional Organisation life-cycle
Creation/End of a schema
Commitment/Release of a mission
Change of a global goal state
Normative Organisation life-cycle
Activation/De-activation of obligation
Fulfilment/Violation/SanctionMAOP 31 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Outcomes of A & E & O Integration
Normative deliberative agentspossibility to define mechanisms for agents to evolve within anorganisation/several organisationspossibility to define proper mechanisms for deliberating on theinternalisation/adoption/violation of norms
Reorganisation, adaptation of the organisationpossibility to define proper mechanisms fordiagnosing/evaluating/refining/defining organisations
“Deliberative” Organisationspossibility to define dedicated organisational strategies for theregulation/adaptation of the organisation behaviour (organisationalagents)
“Embodied” Organisation / Organisation Aware Environmentpossibility to connect organisation to environment
MAOP 32 / 74
Introduction MAOP JaCaMo Experiences Conclusion MAOP Meta-Model A E O Synthesis
Synthesis: MAOP meta-model
Artifact
Operation Agent
Workspace
Environment
Manual
has
use
generateupdate
createdispose
link, unlink
consult
createjoinquit
Belief
Goal
Plan
External Action Internal Action
createdelete
adoptleave
createdelete
commit leave
focus, unfocus
primitive operationscompositionassociation dependencyconcept mapping
Trigger eventObservable Property
dimension border
Action
Observable Event
achieve
Environment Dimension
Agent Dimension
Organisation Dimension
Cardinalities are not represented
Content
Message
SpeechAct
Interaction Dimension
sendreceive
focus, unfocus
MissionRole
Group Social Scheme
NormGoalLink
Organisation
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-modelsMAOP 33 / 74
1 Introduction
2 Multi-Agent Oriented Programming (MAOP)
3 MAOP Perspective: the JaCaMo PlatformOverviewProject definitionDevelopment ToolsTechnologies
4 MAOP Experiences
5 Conclusions and Perspectives
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
JaCaMo Platform http://jacamo.sourceforge.net
Java Platform
CArtAgO, Jason, NOPL engine
Operating System
artifact(SB,SchemeBoard,ID1)artifact(CONS,Console,ID2)...
WorkspaceArtifact
linkArtifactslookupArtifact(make/dispose)ArtifactquitWorkspace
workspace(WspName,ID)...
NodeArtifact
createWorkspacejoinWorkspacejoinRemoteWorkspaceshutdownNode
SpecificationGroupsPlayersGoalsObbligations
SchemeBoard
commintMissionleaveMissionsetGoalAchieved
Console
printprintln
SpecificationSchemesGoals
GroupBoard
leaveRoleaddSchemeremoveScheme
adoptRole
Agent
Plan
......
Agent dimension
Artifact
Operations
......
Environment dimension Organisation dimension
Mission
Goal
......
JaCaMo workspace
Platform level
Execution level
Conceptuallevel
MAOP 35 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Execution Platform
Agent execution and communication management infrastructures canbe:
Centralised: all agents in the same machine,one thread by agent, very fast
Centralised (pool): all agents in the same machine,fixed number of thread,allows thousands of agents
Distributed (jade): distributed agents, use of FIPA-ACL using theJade agent execution and communication platform
.... others defined by the user (e.g. AgentScape)
Environment execution can be:
Centralised: one centralised environment shared by the agents, isautomatically included in case of no other specification
Distributed: multiple environments shared by the agents – specifiedby cartago("infrastructure")
MAOP 36 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
MAS Configuration & Deployment Language
Simple way of defining a multi-agent system within the JaCaMoPlatform
Example (Building House Definition)mas house_building {
agent giacomo // the agent that wants to build a houseagent companyA // builder agents (see their code for details)agent companyBagent companyC {
instances: 5}agent companyD {
instances: 13}agent companyE
asl-path: src/agt, src/agt/inc}
MAOP 37 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Eclipse JaCaMo plugin
MAOP 38 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Agent’s Mind inspector
MAOP 39 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Organization Structure inspector
MAOP 40 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Organization Structure inspector
MAOP 41 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Organization Functioning inspector
MAOP 42 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Organization Functioning inspector
MAOP 43 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Integration of Multi-Agent technologies
Agent: Jason agents [Bordini et al., 2007]
Environment: CArtAgO platform [Ricci et al., 2009b]
Organisation: M OISE framework with the extended/refactoredversion of the M OISE OMI: ORA4MAS [Hübner et al., 2009a]
Interaction: based on tight integration between Jason and KQMLor ACL/FIPA
Dimensions are integrated with dedicated bridges:
A–E (c4Jason, c4Jadex [Ricci et al., 2009b])
E–O (count-as/enact rules [Piunti et al., 2009])
A–O is for free (thanks to ORA4MAS). Strategies and reasoningcapabilities from J -M OISE+ [Hübner et al., 2007] can bereused.
Open to integrate other Multi-Agent Technologies
MAOP 44 / 74
Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies
Integration with other technologies
Web 2.0implementing Web 2.0 applicationshttp://jaca-web.sourceforge.net
Android Platformsimplementing mobile computing applications on top of the Androidplatformhttp://jaca-android.sourceforge.net
Web Servicesbuilding SOA/Web Services applicationshttp://cartagows.sourceforge.net
Arduino Platformsbuilding “Web of Things” Applicationshttp://jacamo.sourceforge.net
Semantic TechnologiesJaSA: Semantically Aware Agentshttp://cartago.sourceforge.net
MAOP 45 / 74
Outline
1 Introduction
2 Multi-Agent Oriented Programming (MAOP)
3 MAOP Perspective: the JaCaMo Platform
4 MAOP ExperiencesMAOP Case: Agile Governance of M2M InfrastructureSharing data, KnowledgePrivacy & Trust
5 Conclusions and Perspectives
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
M2M Infrastructure for Smart Cities (ETSI view)
European Telecommunications Standards Institute (ETSI) view on M2M infrastructure
Device Domain: smart devices (sensors and actuators) for collectingdata and controling the environmentNetwork Domain: shared communication infrastructure (platforms andgateways) to connect applications to devicesApplication Domain: applications providing ubiquitous & added valueservices to citizens
MAOP 47 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
SensCity: Urban M2M Infrastructure
http://www.senscity-grenoble.com
In the context of this industrial project, our objective is to definean agile governance of the Urban M2M Infrastructure
This is an ongoing research project in collaboration withOrangeLabs, France
MAOP 48 / 74
Introduction MAOP JaCaMo Experiences Conclusion 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 severalapplications (e.g. Parking Management, Garbage Collection,Smart Metering, etc); Shifting from “vertical” to “horizontal” M2M infrastructures
where new Stakeholders (i.e. application/sensors/actuators) canbe added/suppressed during the lifetime of the system; Openness
and reacting to the changes of environmental conditions (e.g.increase in the number of collected data, number of messages); Adaptation
; Definition of an agile and decentralized governance layer on top ofthe M2M Infrastructure [Persson et al., 2012]
MAOP 49 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
Legacy System
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Wrapped Component
Hidden Component
controls
interacts
legend
SensCity platform
composed of 47 types ofcomponents
supporting access to physicaldevices
and shared by severalheterogenous Applications
MAOP 50 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
MA Governance Layer: Governance Artifacts
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
Artifact
Wrapped Component
Hidden Component
controls
encapsulates
interacts
legend
Monitoring and controling toolsthat
Compute direct / interpreted /aggregated status of theSensCity Platform’s components.Provide a uniform access of thisstatus to the agents byobservable properties or signals
Offer the agents the possibility toact on the functioning of the M2Minfrastructure by a repertoire ofoperations (Threshold definition,LoadBalancing, (De)activate, ...)
Structured according to the ETSIdomains
MAOP 51 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
MA Governance Layer: Governance Agents
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
Agentop2op1
Artifact
Wrapped Component
Hidden Component
controls
encapsulates
interacts
legend
Take local autonomous decisionsgiven the prescriptions of theorganisation and their own localstrategies
Monitor the M2M infrastructureby focusing on artifacts (e.g.Failures, Overloads) updatingtheir beliefs, goals
Apply their governance policiesand local strategies (goals,beliefs, plans) to control M2Minfrastructure by using theiractions (; artifacts operations)
Interact with the other agents
Adapt the global governancestrategy (; may modify theorganisation)
MAOP 52 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
MA Governance Layer: Governance OrganisationsNormative
FunctionalStructural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
Expressed in terms of structure(groups, roles), functionning(missions, goals, plans) andnorms, and reasoned on by theagents and monitored by theorganisation managementinfrastructure
Horizontal Organisation: definesthe nominal global functioningbased on ETSI standards(Domains, Service Capabilities,Capability functionalities, ...)
Vertical Organisations: based oneach application SLA deployedon the Urban M2M Infrastructure
; agents participate to multipleorganisations
MAOP 53 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
MA Governance Layer: Governance Organisations
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
Expressed in terms of structure(groups, roles), functionning(missions, goals, plans) andnorms, and reasoned on by theagents and monitored by theorganisation managementinfrastructure
Horizontal Organisation: definesthe nominal global functioningbased on ETSI standards(Domains, Service Capabilities,Capability functionalities, ...)
Vertical Organisations: based oneach application SLA deployedon the Urban M2M Infrastructure
; agents participate to multipleorganisations
MAOP 53 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
M2M Agile Governance Example
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
SLA Definition
Service Level Agreement:Translation of Applicationsubscription to Devices interms of Group, Roles,Missions, Norms
Validation: If judged feasible,role adopted Else Rejected orNew proposal
MAOP 54 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
M2M Agile Governance Example
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
Contract Execution
Social Scheme activation:when request is received, newscheme instance started
Execution Monitoring:validation of applicationrequests, monitoring ofdevices’ activity
MAOP 55 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
M2M Agile Governance Example
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
Problem Detection
Detection of possible normviolation, i.e. failure to complywith the SLA
Platform Monitoring: find thesource of the problem with thehelp of the artifacts
MAOP 56 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
M2M Agile Governance Example
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
Infrastructure Adaptation
Fix the problem by acting onthe platform via the artifactsunder their responsibility andtheir governance policies
Coordinate with each other
MAOP 57 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
M2M Agile Governance Example
SLA
NormativeFunctional
App
Subgoal 1 Subgoal 2
Subgoal 2.1 Subgoal 2.2
Structural
translated into
NormativeFunctional
Structural
M2M System
Application Network Devices
Application
Application Enabler
App Security Mngr
History Mngr
Compensation Broker
Transaction Mngr
Net Security Mngr
Remote Entity Mngr
Interworking Proxy
Communication Enabler
Gateway Proxy
Gateway
M2M Area
Device
Sensor Actuator
plugged-in
Application-specific organization
Agile gouvernance organization
platform agents device agentsnetwork agents
Application Workspace
op2op1
op2op1
AppCNX AppConf
Network Workspace
op2op1
NetworkInventory
Devices WorkSpace
op2op1
op2op1
DeviceCNX Store
op2op1
Forward
Organization Workspace
op2op1
op2op1
OrgBoard SchemeBoard
op2op1
GroupBoard
SLAApplication SLA
Orga
nizatio
nA
gen
tsE
nviro
nm
en
tS
en
sCity
Re
al Wo
rld
op2op1
op2op1
op2op1
Service Level Agreement
Group
Agent
Role
op2op1
Artifact
Wrapped Component
Hidden Component
composition
play role
controls
encapsulates
interacts
legend
Governance Strategy Adaptation
Problem with the SLA: SLAmight be too greedy,infrastructure adaptation notsufficient
; SLA redefinition (eg.decrease message frequency,device subscription redefined)
MAOP 58 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
Synthesis
Monitoring and governance of the M2M infrastructure take placeat 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 thereorganisation processCurrent experiments:
Installing complex governance processesRefactoring the Agents layer by making explicit dedicatedcoordination strategies expressed into coordination artifactsDistributing and better managing the deployement
MAOP 59 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
Sharing Data and Knowledge
Smart PlacesSmart places where nomadic users participate to adhoc virtualcommunities (in collaboration with LaHC/UJM, LT2C/UJM-TSE))
MAOP 60 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
Privacias [Ciortea et al., 2012]
Privacy preservation in open and decentralized communities bythe definition of Privacy Enforcing Agent:
Privacy Enforcement Norms checked by the agent PrivacyEnforcement LayerAppropriateness laws (A-Laws) used by the agent Privacy violationdetection layer
MAOP 61 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
Decentralized Trust Management
f
A
D
C
G
E
B
F
H
Frank
George
EliseCarl
Alice
Dave
Bob
Helen
Open Innovation Communities where groups of individualsshare common interests or objectivesinteract and share resources (documents, ideas, etc)
Management of Individual and Collective Trust Policies on behalf of theusers [Yaich et al., 2012]
MAOP 62 / 74
Introduction MAOP JaCaMo Experiences Conclusion Case K-Sharing Trust & Privacy
Decentralized Trust Management
I
F
GB
CA
Adhesion
Association
Interactions
Community
Role
Collective Policies
A AssistantAgent
Individual Policies
ASC-TMA
Private Resource
Public Resource
T
T
T
T
T
TT
Environment
Agents
Organisation
Interaction
Control
Operation
Negotiation
Multi-Agent Architecture
MAOP 63 / 74
Outline
1 Introduction
2 Multi-Agent Oriented Programming (MAOP)
3 MAOP Perspective: the JaCaMo Platform
4 MAOP Experiences
5 Conclusions and Perspectives
Introduction MAOP JaCaMo Experiences Conclusion
Conclusions
MAOP proposes a seamless integration of different abstractions thatbrings interesting features to Intelligent Environments:; separation of concerns
using the best abstraction level and tools to tackle the specificdimensions, avoiding design pitfalls, such as using agents toimplement either non-autonomous entities (e.g., a blackboardagent) or a collection of autonomous entities (group agent)
; openness and heterogeneityE.g., heterogeneous agents working in the same organisation,heterogeneous agents working in the same environment, the sameagent working in different and heterogeneous organisations, thesame agent working in different heterogeneous environments
; programming features:Each of the dimension can be addressed explicitlyModularity, extensibility, reusability is possibleExtensible set of actions and tools provided to Agents(Reorganization Artifact, Organization Management Artifacts, ...)... code is cleaner and more understandable ...
MAOP 65 / 74
Introduction MAOP JaCaMo Experiences Conclusion
MAOP Open Issues & Perspectives
; CoordinationIntegration of Bottom-up AND Top-Down functioning within MAS ;
integration of emergence AND Normative dynamicsManagement of Open Organisations, Multiple Organisations,Organisation of OrganisationsManagement of Situated Organisations (Interactions between Eand O dimensions)
; Shift from MAS to MAOS (Multi-AgentOrganization Systems)
; EngineeringDebugging, Performance, ...Life cycle of MAS (from requirement to maintenance) ; softwareengineering tools and methodsShift from Agent-Oriented Sofware Engineering to Multi-AgentOriented Software Engineering where all the dimensions A, E, I, Omay guide each step of the processEvaluation & Verification of MAO programmed applications,Integrating with other technologiesHandle Scalability, Robustness
MAOP 66 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Multi-Agent Oriented Programming– Introduction –The JaCaMo Platform
O. Boissier1 R.H. Bordini2 J.F. Hübner3 A. Ricci4
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
MAOP 67 / 74
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é JeanMonnet.
Boissier, O., Bordini, R. H., Hübner, J. F., Ricci, A., and Santi, A. (2011).Multi-agent oriented programming with jacamo.Science of Computer Programming, pages –.
Bordini, R. H., Hübner, J. F., and Wooldrige, M. (2007).Programming Multi-Agent Systems in AgentSpeak using Jason.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.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.
MAOP 68 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Bibliography II
Ciortea, A., Krupa, Y., and Vercouter, L. (2012).Designing privacy-aware social networks: a multi-agent approach.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).Programming institutional facts in multi-agent systems.In COIN-12, Proceedings.
Demazeau, Y. (1995).From interactions to collective behaviour in agent-based systems.In Proc. of the 1st European Conf. on Cognitive Science. Saint-Malo, pages117–132.
Demazeau, Y. (1997).Steps towards multi-agent oriented programming.(slides Workshop) 1st International Workshop on Multi-Agent Systems,IWMAS’97, Boston.
MAOP 69 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Bibliography III
Hübner, J. F., Boissier, O., Kitio, R., and Ricci, A. (2009a).Instrumenting Multi-Agent Organisations with Organisational Artifacts andAgents.Journal of Autonomous Agents and Multi-Agent Systems.
Hübner, J. F., Sichman, J. S., and Boissier, O. (2007).Developing Organised Multi-Agent Systems Using the MOISE+ Model:Programming Issues at the System and Agent Levels.Agent-Oriented Software Engineering, 1(3/4):370–395.
Hübner, J. F., Vercouter, L., and Boissier, O. (2009b).Instrumenting Multi-Agent Organisations with reputation artifacts.In Hubner, J. F., Matson, E., Boissier, O., and Dignum, V., editors, Coordination,Organizations, Institutions, and Norms in Agent Systems IV, volume 5428 ofLNAI, pages 96–110. Springer.
Huhns, M. N. (2001).Interaction-oriented programming.In First international workshop, AOSE 2000 on Agent-oriented softwareengineering, pages 29–44, Secaucus, NJ, USA. Springer-Verlag New York, Inc.
MAOP 70 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Bibliography IV
Kitio, R. (2011).Gestion de l’ouverture au sein d’organisations multi-agents. Une approche baséesur des artefacts organisationnels.PhD thesis, ENS Mines Saint-Etienne.
Occello, M., Baeijs, C., Demazeau, Y., and Koning, J.-L. (2004).MASK: An AEIO toolbox to design and build multi-agent systems.In et al., C., editor, Knowledge Engineering and Agent Technology, IOS Series onFrontiers in AI and Applications. IOS press, Amsterdam.
Omicini, A., Ricci, A., and Viroli, M. (2008).Artifacts in the A&A meta-model for multi-agent systems.Autonomous Agents and Multi-Agent Systems, 17(3):432–456.
Persson, C., Picard, G., Ramparany, F., and Boissier, O. (2012).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. ofthe 10th International Conference on Practical Applications of Agents andMulti-Agent Systems (PAAMS 12), volume 155 of Advances in Soft ComputingSeries, pages 161–168. Springer.
MAOP 71 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Bibliography V
Piunti, M., Ricci, A., Boissier, O., and Hubner, J. (2009).Embodying organisations in multi-agent work environments.In IEEE/WIC/ACM International Conference on Web Intelligence and IntelligentAgent Technology (WI-IAT 2009), Milan, Italy.
Pynadath, D. V., Tambe, M., Chauvat, N., and Cavedon, L. (1999).Toward team-oriented programming.In Jennings, N. R. and Lespérance, Y., editors, ATAL, volume 1757 of LNCS,pages 233–247. Springer.
Ricci, A., Piunti, M., and Viroli, M. (2009a).Externalisation and internalization: A new perspective on agent modularisation inmulti-agent system programming.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.
Ricci, A., Piunti, M., and Viroli, M. (2011).Environment programming in multi-agent systems: an artifact-based perspective.Autonomous Agents and Multi-Agent Systems, 23:158–192.
MAOP 72 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Bibliography VI
Ricci, A., Piunti, M., Viroli, M., and Omicini, A. (2009b).Environment programming in CArtAgO.In Multi-Agent Programming: Languages,Platforms and Applications,Vol.2.Springer.
Ricordel, P. and Demazeau, Y. (2002).VOLCANO: a vowels-oriented multi-agent platform.In Dunin-Keplicz and Nawarecki, editors, Proceedings of the InternationalConference of Central Eastern Europe on Multi-Agent Systems (CEEMAS’01),volume 2296 of LNAI, pages 252–262. Springer Verlag.
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.
MAOP 73 / 74
Introduction MAOP JaCaMo Experiences Conclusion
Bibliography VII
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 virtualcommunities.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. ofthe 10th International Conference on Practical Applications of Agents andMulti-Agent Systems (PAAMS 12), volume 155 of Advances in Soft ComputingSeries, pages 217–223. Springer.
MAOP 74 / 74