Multi-Agent Oriented Programming -...

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

Transcript of Multi-Agent Oriented Programming -...

Page 1: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 2: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 3: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Outline

1 Introduction

2 Multi-Agent Oriented Programming (MAOP)

3 MAOP Perspective: the JaCaMo Platform

4 MAOP Experiences

5 Conclusions and Perspectives

Page 4: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 5: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 6: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 7: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 8: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 9: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 10: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 11: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 12: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 13: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 14: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 15: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 16: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 17: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 18: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 19: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 20: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 21: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 22: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 23: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 24: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 25: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 26: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 27: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 28: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 29: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 30: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 31: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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)] &not(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

Page 32: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 33: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 34: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 35: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

1 Introduction

2 Multi-Agent Oriented Programming (MAOP)

3 MAOP Perspective: the JaCaMo PlatformOverviewProject definitionDevelopment ToolsTechnologies

4 MAOP Experiences

5 Conclusions and Perspectives

Page 36: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 37: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 38: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 39: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies

Eclipse JaCaMo plugin

MAOP 38 / 74

Page 40: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies

Agent’s Mind inspector

MAOP 39 / 74

Page 41: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies

Organization Structure inspector

MAOP 40 / 74

Page 42: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies

Organization Structure inspector

MAOP 41 / 74

Page 43: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies

Organization Functioning inspector

MAOP 42 / 74

Page 44: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Introduction MAOP JaCaMo Experiences Conclusion Overview Project definition Development Tools Technologies

Organization Functioning inspector

MAOP 43 / 74

Page 45: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 46: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 47: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 48: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 49: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 50: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 51: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 52: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 53: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 54: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 55: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 56: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 57: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 58: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 59: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 60: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 61: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 62: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 63: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 64: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 65: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 66: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

Outline

1 Introduction

2 Multi-Agent Oriented Programming (MAOP)

3 MAOP Perspective: the JaCaMo Platform

4 MAOP Experiences

5 Conclusions and Perspectives

Page 67: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 68: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 69: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 70: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 71: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 72: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 73: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 74: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 75: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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

Page 76: Multi-Agent Oriented Programming - SourceForgejacamo.sourceforge.net/tutorial/hello-world/slides.pdfMulti-Agent Oriented Programming – Introduction – The JaCaMo Platform O. Boissier1

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