101
1 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier [email protected]

Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier [email protected]

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

1 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Oriented Programming Introduction to Multi-Agent Systems

Olivier Boissier [email protected]

Page 2: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

2 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Plan

1.  Definitions 2.  Action Domains 3.  Positioning 4.  Multi-Agent Perspective 5.  Multi-Agent Engineering 6.  Perspectives …

Page 3: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

3 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Systems (MAS)

•  Seigneur des Anneaux •  à véhicules / robots •  à systèmes financiers / Smart

Energy

Agent Environment Interaction

Organization

MAS Transport

Definitions

Page 4: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

4 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

A N U C ‘‘Negotiation’’ Agent ‘‘User’’ Agent ‘‘Contract’’ Agent ‘‘Alliance’’ Agent

Workshop Workshop Workshop

Contrat C1 A C N

U

Definitions

Multi-Agent System (MAS) : set of agents, that interact with each other, situated in a common environment, eventually, building or participating to, an organisation

Environment Interaction Organisation

Agent Platform

E-Alliance Multi-Agent Systems

A

U C

N A

U

N C

Print-Shop Alliance

Page 5: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

5 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent (in a Multi-Agent World)

Agent : physical or software, autonomous entity that is pro-active, reactive, social, able to take part to an organised activity, in order to achieve its goals, by interacting with other agents and users.

pro-active,

users

Organisation

organised

Goal: print

Interaction

Definitions

User

action

Environment

perception reactive social

Page 6: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

6 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Systems Principles •  The Agent perspective (micro perspective)

•  Encapsulation of control •  Reactivity, [Pro-activity, Social Ability & Organization awareness] •  Autonomy: agents may exhibit activities that are not the one expected by the other

agents in the system •  Delegation/Adoption: agents may receive some control over their activities

•  The Multi-Agent System perspective (macro perspective) •  Distribution

•  knowledge, of resources, of reasoning/decision capabilities •  Decentralization (loose coupling) of control, authority •  Coordination

•  Agreement technologies, Coordination models and mechanisms to install coordination between the autonomous agents

•  Regulation •  Emergent / Social order / Normative functioning / Regimentation

Definitions

Page 7: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

7 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Autonomous Agent (in a Multi-Agent World)

Organisation

Goal: print

Interaction

Definitions

User

action

Environment

perception

•  An agent X is autonomous with respect to Y for O in situation S

•  Y can be a user, another agent, a group of agents, an organisation, …

•  O can be a goal, a plan, an action, a resource, a norm, a role, …

It means that: •  agent X can decide locally of the

adoption of O in situation S •  And Y has no certainty that X is

going to adopt O in situation S à Loose coupling between agents

Page 8: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

8 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Plan

1.  Definitions 2.  Action Domains 3.  Positioning 4.  Multi-Agent Perspective 5.  Multi-Agent Engineering 6.  Perspectives …

Page 9: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

9 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

MAS Action domains

•  Socio-technical Systems •  Integration of software applications, with humans, organizations and the

physical world •  Making them interoperate, interact, cooperate in a flexible and consistent

manner with each other

•  Problem Solving •  Modeling and solving problems by cooperation between local solvers •  Installing top-down and/or bottom-up (emergent) solving process

•  Simulation •  Modeling and reproducing complex phenomena of interacting entities in the

real world in order to understand or to explain their behavior

Action domains

Page 10: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

10 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Socio-Technical Systems (1)

•  Industries, services, IT applications are getting global •  Placed at the centre of multiple networks •  Developing Knowledge intensive processes •  Based on large scale underlying IT platforms such as Internet, Web, Internet of

Things

•  Industries, services, IT applications are situated in an ever-evolving environment

•  Requiring efficient collaboration processes •  While keeping flexibility and agility

•  Users are more and more at the centre of the cooperation and

collaboration taking place in these socio-technical systems

Action domains

Page 11: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

11 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Socio-Technical Systems (2)

•  Properties of the targeted applications: •  Absence of monolithic vision •  Incremental development, by different teams •  Multi-* (sites, expertise, domains, points of view, decisions, goals,

motivations, …) •  Continuous execution and adaptation •  User-Centred

•  Main requirements: •  Openness, permeability, scalability in size or structure •  Distribution, no central control, control and interaction are local •  Autonomous Interacting entities loosely coupled with others or applications •  Knowledge Intensive processing and sharing •  Users may delegate their decisions to the application

Action domains

Page 12: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

12 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (1/3)

Source CLIMATE Industrial Workshop 26/4/99

Service Personnalisation

Action domains

Page 13: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

13 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (1/3)

Source CLIMATE Industrial Workshop 26/4/99 AgentFournisseurContenuJapon

AgentFournisseurContenuItalie

AgentUtilisateur

AgentProfil

AgentInterface

Agents Médiateurs

Plate Forme Agents (FIPA)

Agents Services

Agents Utilisateurs

Action domains

Page 14: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

14 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (2/3) User-Centred Service Coordination

Source : CASCOM

FP6-IST-2

Action domains

Page 15: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

15 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (2/3)

Source : CASCOM

FP6-IST-2

Service Composition Semantic Services Description Secured Execution and monitoring of services

Semantic Web Agent Technology

Action domains

Page 16: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

16 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (3/3)

Planification, coordination, optimisation along a top-down approach : •  Centralised collect and processing of informations and events •  Propagation of plans & decisions •  No realtime decision.

Planification, coordination, optimisation along a bottom-up approach •  Responsibility Delegation •  Communication between the nodes •  Real time detection & reaction to changes •  Adaptation to changes & continuous optimisation

Source Whitestein Agent Technology Conference 2004

Adaptation & optimisation Action domains

Page 17: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

17 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

MAS Action domains

•  Socio-technical Systems •  Integration of software applications, with humans, organizations and the

physical world •  Making them interoperate, interact, cooperate in a flexible and consistent

manner with each other

•  Problem Solving •  Modeling and solving problems by cooperation between local solvers •  Installing top-down and/or bottom-up (emergent) solving process

•  Simulation •  Modeling and reproducing complex phenomena of interacting entities in the

real world in order to understand or to explain their behavior

Action domains

Page 18: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

18 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Problem Solving •  Properties of the targeted applications:

•  Absence of global strategies, of global solving method •  Interaction between local strategies, between local solving

methods •  Solution is the result of the interaction between local processes

(points of view, decisions, goals, motivations, …) •  Continuous functioning and evolution

•  Main requirements: •  Decentralisation, local control, interactions •  Openness, permeability, scalability in size or structure •  Shared and dynamic environment •  Emergence of the solution

Action domains

Page 19: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

19 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (1/2)

Ferrand 97

Action domains

Page 20: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

20 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

i

i-2 i-1

i+1 i+2

Example (1/2)

Ferrand 97

Action domains

Page 21: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

21 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (2/2)

•  Multi-Disciplinary Simulation & optimisation (ID4CS) •  Design of complex system :

•  Multi-level, Multi-disciplinary •  Multi-methods •  Multi-objectives, Multi-attributes •  Uncertainty

•  Cooperation methods between optimisation technics,

•  Management of uncertainty

•  Multi-* problem solving •  Emergence

Design of Complex Systems Action domains

Page 22: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

22 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

MAS Action domains

•  Socio-technical Systems •  Integration of software applications, with humans, organizations and the

physical world •  Making them interoperate, interact, cooperate in a flexible and consistent

manner with each other

•  Problem Solving •  Modeling and solving problems by cooperation between local solvers •  Installing top-down and/or bottom-up (emergent) solving process

•  Simulation •  Modeling and reproducing complex phenomena of interacting entities in the

real world in order to understand or to explain their behavior

Action domains

Page 23: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

23 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (1/2)

In order to:

Understand, Explain Discover, …, Help,

Action domains

Page 24: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

24 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (1/2)

MANTA [Drogoul 93]

Organisation émergente

Action domains

Page 25: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

25 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Example (2/2)

…, Entertainment

The Return of the King (2003) The Two Towers (2002) The Fellowship of the Ring (2001)

Ratatouille (2007)

I, Robot (2004)

Conversational Zeno Robot http://hansonrobotics.com/

http://www.massivesoftware.com/ Action domains

Page 26: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

26 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Plan

1.  Contexte 2.  Definitions 3.  Action Domains 4.  Positioning 5.  Multi-Agent Perspective 6.  Multi-Agent Engineering 7.  Perspectives …

Page 27: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

27 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

History – Major Steps •  1980 : Agents in the Artificial Intelligence (AI) area

•  From AI to Distributed AI … to Multi-Agent Systems

•  1990 : Agents are invading other domains •  Personal Assistants, avatars, •  Mobile Agents, •  Reactive Agents, ….

•  1995 : Agents spread in other domains, Application domains are enlarging •  Artificial Life, Economic Agents, …, •  Web, Ambient Computing, Internet of Things, …

Positioning

Page 28: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

28 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

History – Evolutions •  1973 - 1980:

•  Hearsay II (1973): blackboard architecture for speech recognition •  Actor Languages (1973): messages as control structures •  Beings (1975), Society of Minds (1978)

•  1980 - 1990: •  Contract Net (1980): hierarchical decentralized control •  DVMT (1984): Distributed Interpretation •  Subsumption architecture (1986) : Reactive Robots •  MACE (1987): multi-agent platforms

•  1990 - … : •  Self-organisation, emergence, Interactions, organisations, reputation, trust,

Agent Oriented Software Engineering, … •  In 1995, first international conference ICMAS, •  since 2002, Autonomous Agents + MAS -> AAMAS

Positioning

Page 29: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

29 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Inter-Disciplinary Domain…

•  Direct Links with: •  Programming, Object Oriented Programming ... •  Artificial Intelligence •  Distributed Systems, Parallelism, Concurrent

Programming

•  But also: •  Complex System (physics, …, ethology, ecology, …) •  Artificial Life, Neural networks, … •  Social Psychology, Sociology, Activity Theory,

Economy, ...

Positioning

Page 30: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

30 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Direct Inheritance

•  Object Oriented Programming: •  Encapsulation, modularity : an object encapsulate data and

methods that manage them (ex : C++, Java, Smalltalk), •  Distribution : Distributed objects, CORBA, DCOM •  à Actor Languages Development

•  Artificial Intelligence:

•  Symbolic Reasoning Models (Expert systems, Knowledge Representation), logic, …

•  distribution : Blackboard Architectures

•  Distributed Systems

Positioning

Page 31: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

31 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent vs Objects

•  An agent, as an object, encapsulates a state and behaviors

BUT: •  An agent encapsulates its control over its behaviors; an object

has only control over its state •  Interactions among agents have a broader scope than the

method calls between objects. Interactions consist in goals, plans, actions, hypothesis exchanges

•  An agent may have different control cycles (data-directed, goal-directed, interaction-directed, …)

•  A MAS has several control flows. An Object system has, a priori, only one control flow.

Positioning

Page 32: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

32 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Mono-agent perspective of Artificial Intelligence is pushed away

➨  Knowledge, Goals, Actions gain a social dimension

Positioning Multi-Agent vs Artificial Intelligence (1)

Page 33: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

33 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

C

B A actions : put_on

goals:

goals: actions : clear

B

A C

Ag1 Ag2

Ag3

Ex. dependence networks

Positioning

Multi-Agent vs Artificial Intelligence (2)

Page 34: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

34 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Ag3 external description: goals: on(A,B), actions: clear resources: A, plans: on(A,B):=clear(C), put_on(A,B) Ag1 external description: goals: on(C,Table), actions: put_on resources: B plans: on(C,Table):=clear(C) ...

B

A C

Ag1 Ag2

Ag3

action dép. put_on

Social Knowledge

Positioning Multi-Agent vs Artificial Intelligence (3)

Page 35: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

35 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Hello Ag1, I need your action ‘‘put_on’’ To set A on B, just do it!!!

Command(Ag3,Ag1, put_on(A,B)) B

A C

Ag1 Ag2

Ag3

Social Interaction

Positioning Multi-Agent vs Artificial Intelligence (4)

Page 36: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

36 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent vs Distributed Systems •  Both take into account interconnection and distribution •  In MAS, Interconnection and Distribution are concerned

by: •  The requirement of taking into account the agent autonomy, of

developing synchronization and coordination mechanisms to coordinate their activities

•  The requirement to represent and take into account the user interests

•  The requirement to cooperate and to achieve agreements (or even compete) with other systems aiming at achieving their own interests.

Positioning

Page 37: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

37 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

A Large Domain!!! From Autonomous Agents to Multi-Agent Systems

•  Autonomous Robots •  Personal Assistants •  Desktop Agents •  Softbots, Knowbots •  Mobile Agents •  Reactive Agents •  Intelligent Agents, Cooperative Agents, Conversational

Agents •  Autonomous Agent in a multi-agent world

Positioning

Page 38: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

38 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Plan

1.  Definitions 2.  Action Domains 3.  Positioning 4.  Multi-Agent Perspective 5.  Multi-Agent Engineering 6.  Perspectives …

Page 39: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

39 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Perspective

•  Several multi-agent models and concepts exist in the literature !

•  One possible structuration of these models and concepts: •  Along four dimensions (‘‘Vowels’’ [Demazeau 95]) :

•  Agent, Environment, Interaction, Organisation

•  Taking two main points of view: •  global (System centred), local (Agent centred)

Page 40: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

40 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent Model

•  To define the autonomous entities in the system (internal architectures, knowledge representation, reasoning mechanisms…)

•  BDI Agents (Belief Desire Intention) [Rao 95] •  Rational Agents [Russel 91] •  Situated Agents [Agre 87], [Maes 90]

•  Sources : Artificial Intelligence, Objects, Robotics, ...

Global point of view

Middleware

MAS Services

Agent Architectures

Page 41: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

41 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Environment Model •  To define the common space shared among the agents

•  Required explicit abstraction so that agents can be part of a MAS (execution space, coordination space, information space, etc)

•  Active entity that mediates the interaction among agents and provides access to resources

•  Sources : Simulation, Physics, …

Global point of view

Environment Simulation/Services

Middleware

OOMAS Services

Agent Architectures

Page 42: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

42 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Reference Model [Weyns 06]

•  Perception & Action Modalities,

•  Resources, Coordination Artifacts

•  Topology •  Proper Dynamic

Global point of view

Page 43: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

43 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

CARTAGO [Ricci 07]

Artefact

http://apice.unibo.it/xwiki/bin/view/CARTAGO/

Global point of view

Page 44: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

44 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Interaction Model •  To define and structure the dynamic relation between two or

several agents through reciprocal actions that may draw patterns of activity (conversations)

•  Agent Communication Languages (ACL FIPA, KQML, …), Content Languages, Ontologies

•  Interaction Protocols, Conversations, …

•  Sources : Speech Acts, Conversations

Propose 10 NB CFP 20 Couleur

Services Interaction

Environment Simulation/Services

Middleware

OO OOMAS Services

Agent Architectures

Global point of view

Page 45: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

45 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent Communication Language •  High level language to share propositional

attitudes, to collaborate, Negotiate, ... •  FIPA-ACL [FIPA 02], KQML [Finin 97], etc.

•  Set of performatives based on mental states •  Inform, request, cfp, agree, understood

•  Content Languages •  Ex: KIF, FIPA-SL, FIPA-CCL, etc. •  To express actions, objects, propositions •  Based on ontologies, i.e. common

vocabularies relative to a domain (weather-ontology, cinema-ontology, etc)

cfp

offer

BDI

ACL

Content Language

ontology

I call for proposal

I offer

BDI

Niveau Global Global point of view

Page 46: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

46 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

ACL FIPA Message Example

(inform communication act :sender A used for routing the message :receiver B used for routing the message :content (price (bid goood02) 150) content :in-reply-to round-4 :reply-with bid04 :encoding 1000 :language fipa-sl1 content language

:ontology hpl-auction :reply-by 10 deadline for answering :protocol offer interaction protocol :conversation-id conv02 conversation id

)

Global point of view

Page 47: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

47 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Interaction Protocol Example Global point of view

Page 48: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

48 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Organization Model •  To define the coordination pattern for achieving a given goal and To

make these coordination patterns accessible to the agents •  Organizational Structures : roles, groups, plans, scenes

•  To control and regulate the autonomous activities of the agents •  RBAC, Norms, Obligations, Permissions, Laws, …

•  Sources : sociology, social psychology, CSCW,

Services Organisation

Services Interaction

Environment Simulation/Services

Middleware

OO OO OOMAS Services

Agent Architectures

Global point of view

Page 49: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

49 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Declarative definition of the agents organization expressing coordination patterns to achieve a common global goal

Ex : AGR [Ferber 98], Teamwork [Tambe 98], Islander [Esteva 01], Moise+ [Hubner 02], …

Services Organisation

Services Interaction

Environment Simulation/Services

Middleware

OO OO OOMAS Services

Agent Architectures

Deontic Specification (DS)

Functional Specification (FS) Structural Specification (SS)

Organization Modeling Language Global point of view

Page 50: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

50 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Organization specification written with the organization modeling language

Management of the organizational entity •  Within the agents ex : Jason-MOISE [Hubner 07], •  Within components accessible to the agents

ex : Madkit [Gutknecht 00], Karma [Pynadath 03], Ameli [Esteva 04], S-Moise+ [Hubner 05], SYNAI [Gateau 06], …

http://moise.sourceforge.net

Services Organisation

Services Interaction

Environment Simulation/Services

Middleware

OO OOMAS Services

Organization Management Platform Global point of view

Page 51: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

51 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Synthesis

Interactions among the agents (ACL, Interaction Protocols, …)

Interaction Agent

Autonomous entities (Internal Architectures, Knowledge, …)

Organisation

Coordination Patterns (Organization Modeling Languages, Norms, …)

Common space shared among the agents (Signals, Influences, Dynamics, …)

Environment

Global point of view

Page 52: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

52 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent : software or hardware encapsulating processing mechanisms and data, which is able to control its decisions and actions (internal & external), to perceive and act on the environment, to interaction with the other agents and to manage and reason on the relations with other agents and norms.

•  Situated Agents •  agents that reason on themselves and on the environment

•  Social Agents •  situated agents that reason also on the other agents

•  Organization Aware Agents •  social agents that also reason on the organizations/norms in which they are involved

Local point of view Agent Model

Page 53: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

53 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent types wrt Control Architecture

•  Strength of the coupling of the decision mechanism with external events (environment, interactions, organisation/normes)

•  Reactive agent

Local point of view

goals

data

Page 54: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

54 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Reactive Agent Model

•  Control Cycle: closed loop involving two operations "execute” and "see" (Stimulus/Response)

•  reaction to the evolutions of the environment •  No explicit representation of the environment, of the other agents,

of its skills, … •  Decision taken using neither some past history nor future (no

planning)

see execute

Environnement

Agent

Local point of view

Page 55: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

55 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Reactive Agent Model (2)

•  Reactive approaches (developed in opposition to AI symbolic reasoning)

•  Different approaches based on : •  behaviours

•  [Brooks 86], [Steels 89], (robotic) •  [Drogoul 93] (ethology)

•  interactions •  [Demazeau 93] (image analysis, cartography, …) •  [Bura 91] (games)

•  situations •  [Agre 87] (games) •  [Wavish 90] (design, manufacturing)

Local point of view

Page 56: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

56 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Reactive Agent Model (3)

Control Cycle Example (implemented using production rules) condition-action rules set of percepts

do { percepts := see();

state := interpret_input(percepts); rule := match(state,rules); execute(rule[action]); } while (1);

Local point of view

Page 57: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

57 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent types wrt Control Architecture

•  Strength of the coupling of the decision mechanism with external events (environment, interactions, organisation/normes)

•  Reactive agent

•  Deliberative agent

goals

data

goals

data

Local point of view

Page 58: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

58 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Deliberative Agent Model

•  Introduction of “deliberate” function in the control cycle between the "see” and "execute" functions in order to reason and choose the proper action

•  Explicit Representation of the environment, of the other agents, of its skills, …

•  History management, planning

see execute

Environnement

Agent deliberate

state

Local point of view

Page 59: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

59 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Deliberative Agent Model (2)

•  Example of control cycle s : state, eq : event queue s := initialize(); do { options := option_generator(eq,s); selected := deliberate(options, s); s := update_state(selected,s); execute(s); eq := see(); } while(1);

Local point of view

Page 60: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

60 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Deliberative Agent Model (3)

•  BDI Control Cycle

•  b : beliefs, g : desires, i : intentions, eq : event queue (b,g,i) := initialize(); repeat options := option_generator(eq,b,g,i); selected := deliberate(options, b,g,i); i := selected ∪ i; execute(i); eq := see(); b := update_beliefs(b,eq); (g,i) := drop_successful_attitudes(b,g,i); (g,i) := drop_impossible_attitudes(b,g,i); forever

Local point of view

Page 61: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

61 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Agent types wrt Control Architecture

•  Strength of the coupling of the decision mechanism with external events (environment, interactions, organisation/normes)

goals

data •  Reactive agent

goals

data •  Hybrid agent

goals

data •  Deliberative agent

Local point of view

Page 62: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

62 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Situated Agent

•  Action, •  Perception (ex: access to DataBase, internet, …, physical world,

virtual world)

Beliefs Desires, Goals Intentions

Knowledge

Reasoning

Perception

Action

Agent Architecture

Local point of view

Page 63: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

63 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Inte

ract

ion

Social Agent

•  Interpretation of ACL, of interaction protocols •  Reasoning on interactions: interaction strategies •  Conversation management

CFP 20 Color

Propose 10 BW

Beliefs Desires, Goals Intentions

Knowledge

Reasoning

Conv. With C

Conv. With B

Perception

Action

Agent Architecture

Local point of view

Page 64: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

64 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Organization Aware Agent

•  Reasoning on norms, on organizations [Carabelea 04] •  Contracts, Dependence Networks [Sichman 94] •  Reputation, Trust [Muller 06]

Beliefs, Desires, Goals Intentions

Knowledge

Reasoning

Organisation

A

D

B

C A

B C

D

Perception

Action

Inte

ract

ion

Agent Architecture

Local point of view

Page 65: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

65 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Synthesis

Skills Motivations Reasoning

Beliefs Desires, Goals Intentions

Knowledge

Reasoning

Representation& Mngt of Organisations Representation & Mngt of Norms, Social Reasoning

Organisation

Event Perception Action on the environnement Representation of the environment

Perception

Action

ACL interpretation Interaction protocols Conversation Management

Inte

ract

ion

Local point of view

Page 66: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

66 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Synthesis

Mécanismes de traitement

Représentation Connaissances

Flux de données

évaluation décision

engagement

raisonnement

DS possibilités

DS choix RS non évalué

RS évalué KR ind.

CS ind.

Interprétation

capteur récepteur émetteur effecteur

ES PS

Org.

organisation

ACL, Pr

Interprétation Dialogue

ACL, Pr

Exécution Dialogue Exécution CSsoc.

KR soc. KR soc.

KR soc.

évaluation décision

engagement

raisonnement

DS possibilités

DS choix RS non évalué

RS évalué KR ind.

CS ind.

Interprétation

capteur effecteur

ES PS

Exécution

récepteur émetteur

ACL, Pr

Interprétation Dialogue

ACL, Pr

Exécution Dialogue CSsoc.

KR soc. KR soc.

organisation

KR soc. Org.

Page 67: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

67 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Synthesis

Mécanismes de traitement

Représentation Connaissances

Flux de données

évaluation décision

engagement

raisonnement

DS possibilités

DS choix RS non évalué

RS évalué KR ind.

CS ind.

Interprétation

capteur récepteur émetteur effecteur

ES PS

Org.

organisation

ACL, Pr

Interprétation Dialogue

ACL, Pr

Exécution Dialogue Exécution CSsoc.

KR soc. KR soc.

KR soc.

Page 68: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

68 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Synthesis Compiled from AgentCore.java public abstract class mast.core.AgentCore extends java.lang.Thread implements java.io.Serializable { public boolean RUNNING; java.io.File log; java.lang.StringBuffer logString; long timeout; java.lang.String name; mast.facet.Facet facet[]; java.lang.Object facetParams[][]; java.util.Hashtable eventQueue; java.util.Hashtable expectingAnswer; java.util.Vector subscribeList; public mast.core.AgentCore(); public mast.core.AgentCore(java.lang.String); public mast.core.AgentCore(java.lang.String,long); public mast.core.AgentCore(java.lang.ThreadGroup,java.lang.String,long); public void setFacets(mast.facet.Facet[], java.lang.Object[][]) throws java.lang.IllegalThreadStateException; public abstract void start(java.util.Hashtable, java.io.File); public void start(java.io.File); public void run(); public void postEvent(mast.facet.FacetEvent); void forwardEvent(mast.facet.FacetEvent) throws mast.facet.InvalidEventException; mast.facet.FacetDescription getNextReceiver(mast.facet.FacetEvent) throws mast.facet.InvalidEventException; java.util.Vector getReceiversFor(mast.facet.FacetEvent); boolean match(mast.facet.FacetDescription, mast.facet.FacetEvent); public void setAnswerTo(mast.facet.FacetEvent, mast.facet.FacetEvent, boolean); public void setNoAnswerTo(mast.facet.Facet, mast.facet.FacetEvent); public void subscribe(mast.facet.Facet, mast.facet.FacetEventFilter); public void unsubscribe(mast.facet.Facet, mast.facet.FacetEventFilter); public void unsubscribeAll(mast.facet.Facet); public void appendToLog(java.lang.String); public void saveLogFile() throws java.io.IOException; static {}; } Method mast.core.AgentCore() 0 aload_0 1 aconst_null 2 ldc #1 <String "Agent Core"> 4 getstatic #2 <Field long DEFAULT_TIMEOUT> 7 invokespecial #3 <Method mast.core.AgentCore(java.lang.ThreadGroup,java.lang.String,long)> 10 return Method mast.core.AgentCore(java.lang.String) 0 aload_0 1 aconst_null 2 aload_1 3 getstatic #2 <Field long DEFAULT_TIMEOUT> 6 invokespecial #3 <Method mast.core.AgentCore(java.lang.ThreadGroup,java.lang.String,long)> 9 return Method mast.core.AgentCore(java.lang.String,long) 0 aload_0 1 aconst_null 2 aload_1 3 lload_2 4 invokespecial #3 <Method mast.core.AgentCore(java.lang.ThreadGroup,java.lang.String,long)> 7 return

Page 69: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

69 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Synthesis Local point of view

Skills Motivations Reasoning

Knowledge

Reasoning

Organisation

Perception

Action

ACL interpretation Interaction protocols Conversation Management

Inte

ract

ion Representation

& Mngt of Organisations Representation & Mngt of Norms, Social Reasoning

Event Perception Action on the environnement Representation of the environment

, , , , X

Beliefs Desires, Goals Intentions

Page 70: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

70 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Plan

1.  Definitions 2.  Action Domains 3.  Positioning 4.  Multi-Agent Perspective 5.  Multi-Agent Engineering 6.  Perspectives …

Page 71: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

71 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Engineering •  Developing multi-agent applications is often a difficult task

•  implementation, distribution, communications, …

•  There exists •  Multiple technologies focused on particular points of a MAS •  Multiple agent programming languages, dedicated or general purpose based

on existing programming languages •  Multiple multi-agent programming platforms, involving often a specific agent

architecture, proposing or not, first order abstractions for the environment, the organisation, the interaction.

•  Multiple standards •  Multiple software engineering methods for the analysis and design of MAS.

à  Multiple languages, platforms, methods are available … à  But often limited to a very focused set of applicative domains.

à Which one to choose? How to choose? How to compare?

Page 72: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

72 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Technologies •  Agent Architectures and Theories •  Coalition formation mechanisms •  Multi-Agent Planning •  Agent Communication Languages, Interaction Protocols •  Auction mechanisms •  Negotiation strategies and mechanisms, Argumentation •  Electronic Institutions, Organisations, Norms •  Reputation, Trust •  Mono & multi-agent Learning •  Self-organisation, emergence, …

Technologies

Page 73: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

73 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Declarative Approach •  CLAIM (Computational Language for Autonomous

Intelligent and Mobile Agents) •  Cognitive Agent Programming Language •  Belonging to Himalaya Framework (Hierarchical Intelligent

Mobile Agents for building Large-scale and Adaptive sYstems based on Ambients)

•  Based on process algebra in order to represent concurrency and agent mobility

•  Based on SyMPA platform implemented in JAVA respecting the MASIF standard

•  FLUX : •  Cognitive Agent Programming Language •  Fluent Calculus implementation (Action representation

formalism) •  http://www.fluxagent.org

Languages

Page 74: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

74 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Imperative Approach

•  JACK Agent Language (JAL) •  Developed by Agent Oriented Software •  Based on PRS, BDI model (similar to hybrid languages

such as Jason, 3APL, Jadex) •  JAL is an extension of Java allowing to create plans,

beliefs base, … •  Possibility to use team of agents, organisation of

agents •  http://www.agent-software.com

Languages

Page 75: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

75 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Hybrid Approach •  3APL (An Abstract Agent Programming Language « triple-a-p-I »)

•  Programming language for the development of cognitive agents: •  By defining structures for beliefs, goals, plans, actions (internal, external or communication)

and reasoning rules (modification of plan bases), •  By reasoning methods to generate plans, revise plans, to achieve goals •  Integration of Prolog and Java •  http://www.cs.uu.nl/3apl

•  Jason : extended version of AgentSpeak(L) interpreter, agent oriented programming language based on logic. Introduced by Rao.

•  Communication between agents based on Speech-act (beliefs and goals annotated by the information sources)

•  Plans annotations •  Functions for selecting, for trust computation, •  Functions and agent architecture may be adapted (perception, belief-revision, inter-

agent communication, acting) •  Integration by the user of existing code by the way of internal •  Implemented in java, bound to the organisational language MOISE, interfaced with

the CARTAGO platform •  http://jason.sourceforge.net

Languages

Page 76: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

76 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Existing Platforms •  Platforms

•  FIPA compliant •  FIPA-OS (http://sourceforge.net/projects/fipa-os/) •  Jade/LEAP (http://jade.tilab.com/)

•  Others : •  SACI Simple Agent Communication Infrastructure (http://www.lti.pcs.usp.br/saci/)

•  Developping Environments •  Madkit (www.madkit.org) •  JADEX, BDI agent model based on JADE (http://sourceforge.net/projects/jadex) •  JACK execution environment, compiler, BDI agent model based on

Procedural Reasoning System (PRS) (http://www.agent-software.com) •  AgentBuilder based on Agent Oriented Program (AOP) (http://

www.agentbuilder.com/) •  AgentTool (http://macr.cis.ksu.edu/projects/agentTool/agentool.htm) •  ADELFE (http://www.irit.fr/ADELFE/)

•  Have a look at Software Products for MAS, AgentLink, June 2002

Platforms

Page 77: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

77 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Standards •  Knowledge Sharing Effort The DARPA Knowledge Sharing

Effort •  http://www-ksl.stanford.edu/knowledge-sharing/

•  MASIF - OMG (Object Management Group) : OMG effort to standardize mobile agents - middleware services and internal middleware interfaces

•  www.omg.org

•  IEEE Computer Society FIPA Standards Committee (Foundation for Intelligent Physical Agents)

•  www.fipa.org

Standards

Page 78: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

78 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

FIPA Plateform

Application

Agent

Agent Management System (AMS)

Directory Facilitator (DF)

Message Transport Service

Plateforme Agent FIPA

HTTP IIOP SMTP etc.

ACL + CL

ACL

Non agent software

Agent Structure Specification ACL Message Library of communication acts

Interaction Protocols Specification

Agent Message Transport Specification

Agent Management Specification

Content Language Specification SL

ACL = Agent Communication Language

Standards

Page 79: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

79 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

JADE (Java Agent DEvelopment Framework)

•  Middleware for developing agent-based P2P application •  On fixed platforms, smart phones, …

•  Two main products : •  Agent Platform compliant to

FIPA specifications •  API to develop agents in Java

•  Open Source Project, LGPL License •  Controlled by Telecom Italia Lab, who owns the project •  Result of the joint effort of multiple actors belonging to the JADE Board (founded in

2003) which missions concern the promotion, the governance and implementation of the changes of the JADE platform

•  Project portal : http://jade.tilab.com

Page 80: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

80 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Conteneurs AMS : Agent Management System DF : Directory Facilitator

•  Tout agent s’exécute dans un conteneur •  Un conteneur est un environnement

d’exécution JADE : •  Environnement complet d’exécution pour un

agent •  Exécution concurrente de plusieurs agents •  Contrôle le cycle de vie des agents •  Assure la communication entre agents

•  Un seul conteneur héberge l’AMS, le DF, c’est le conteneur principal (main container)

•  AMS (Agent Management System) §  Service de Pages Blanches : référence

automatiquement les agents suivant leur nom dès leur entrée dans le système.

•  DF (Directory Facilitator) §  Service de Pages Jaunes : référence à leur

demande les agents suivant leur(s) service(s). •  Le conteneur principal peut être répliqué via

des services de réplication

Page 81: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

81 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Caractéristiques •  Support à l’envoi de messages, transparent et multi-protocoles

•  Diffusion d’événements en local •  Java RMI pour la diffusion interne à une plateforme •  FIPA 2000 Message Transport Protocol

•  Protocole IIOP pour la diffusion inter-plateforme •  Protocole HTTP et encodage des ACL en XML

•  Modèle de concurrence à deux niveaux •  Entre agents (pre-emptif, Threads Java) •  Interne aux agents (co-opératif, classes de comportements ‘‘behaviour’’)

•  Mobilité des agents •  entre plateforme, mobilité faible

•  Framework orienté objet implémentant en Java les spécifications FIPA •  De nombreuses extensions :

•  WSIG : Web Service Integration Gateway •  Semantics, Persistence, Sécurité, … •  WADE : Workflows and Agents Development Environment

Page 82: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

82 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Caractéristiques •  JADE encapsule les spécifications de la FIPA :

•  La plateforme fournit : AMS, DF, MTS (ACC) •  agent-management-ontology, contructeur d’un agent l’enregistre dans la plateforme

(nom, adresse), classe DFService permet un accès au DF •  Transport et traitement des messages •  Extension des protocoles standards d’interaction par les méthodes handle

•  Système de gestion d’événements dans le noyau de la plateforme •  Permet l’observation de la plateforme, des messages, du transport des messages,

des agents •  Outils de gestion basés sur des agents

•  Agents spéciaux (RMA, Sniffer, Introspector) qui communiquent avec FIPA ACL •  Extensions à l’ontologie fipa-management-ontology pour y inclure des actions

spécifiques •  Ontologie particulière pour l’observation

jade-introspection •  Agents utilitaires

•  DummyAgent tool permet à des utilisateurs d’interagir avec les agents déployés sur la plateforme

•  Sniffer Agent agent utilisé pour observer les messages

Page 83: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

83 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Standards & Multi-Agent Systems

•  Ontologies : DAML, OIL, OWL, … •  http://www.daml.org •  http://www.ontoknowledge.org/oil/ •  http://www.w3.org/

•  Other standards (De Facto) •  Jini (www.sun.com/jini), •  UPnP (www.upnp.org), •  UDDI (www.uddi.org), •  Salutation (www.salutation.org) •  mobility : Aglets (www.trl.ibm.com/aglets/) •  Web Services (http://www.w3.org/) •  …

Standards

Page 84: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

84 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Methodologies The engineering of Multi-Agent Systems needs to take into account two levels: •  Multi-Agent System level (System-Centred)

•  Number of agents, Agent Heterogeneity? •  What is the common medium shared by the agents (Environment)? •  What are the communication mechanisms between agents? •  What are the communication languages, the ontologies, the interaction protocols used by the

agents? •  What is the organisation regulating the actions of the agents? How is it established? •  How do the agents coordinate their actions? How to ensure a consistent behavior?

•  Agent level (Agent-Centred) •  What does an agent represent? What are the kinds of actions encapsulated into an agent? •  How do the agents represent the environment, the organisation in which they are situated? •  How do the agents process the interaction with other agents? •  What is the agent architecture?

Methods

Page 85: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

85 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Tools supporting methods •  Software Engineering Tools supporting methodologies:

•  MASE AgentTool : macr.cis.ksu.edu/projects/agentTool/agentool.htm •  ZEUS : sourceforge.net/projects/zeusagent •  Prometheus PDT : http://www.cs.rmit.edu.au/agents/pdt/ •  PASSI ToolKit : mozart.csai.unipa.it/passi/ptk.htm •  INGENIAS : grasia.fdi.ucm.es/ingenias/ •  OPM : www.objectprocess.org

•  Different ways to model applications: •  Agent Oriented Software Engineering •  Environment Oriented Software Engineering •  Interaction Oriented Software Engineering •  Organization Oriented Software Engineering

Methods

Page 86: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

86 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Plan

1.  Definitions 2.  Action Domains 3.  Positioning 4.  Multi-Agent Perspective 5.  Multi-Agent Engineering 6.  Perspectives …

Page 87: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

87 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

To continue … •  General references

•  Pitfalls of Agent-Oriented Development, M. Wooldridge, N.R. Jennings, Agents ’98, 1998. •  Foundations of Distributed Artificial Intelligence, G.M.P. Hoare, N.R. Jennings, Wiley & Sons,

1996 •  Les systèmes multi-agents, J. Ferber, InterEditions, 1995 •  Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence,

edited by Gerhard Weiss, MIT Press, 1999. ISBN 0-262-23203-0 •  Principes et architectures des Systèmes Multi-Agents, J.P. Briot, Y. Demazeau, IC2, Hermès,

2001

•  Some standards •  Knowledge Sharing Effort http://www.cs.umbc.edu/kse/ •  OMG Agent Working Group http://www.objs.com/isig/agent.html •  FIPA http://www.fipa.org •  W3C http://www.w3.org

•  Some general adresses •  Collège SMA de l’AFIA : http://sma.lip6.fr •  AgentLink : http://www.agentlink.org •  AgentCities : http://www.agentcities.org

Page 88: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

88 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Modeling

•  Multi-model : •  Articulation of different formalisms

•  Multi-viewpoints : •  Extern/intern, system centred/agent centred •  Multiple views on a shared world

•  Multi-levels •  Via organisations, via the environment (MAS)

•  Multi-scales •  temporal, spatial, …

Page 89: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

89 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Multi-Agent Features

Autonomy

Decentralisation

Interaction

Organisation

Situated in Environment Openness

Emergence

Knowledge Sharing

Adaptation

Delegation

Distribution

Personnalisation

Intelligibility

Artificial Intelligence

Artificial Life

Software Agent

Distributed Systems

Human Machine

Interaction

Software Engineering

Page 90: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

90 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Scientific Challenges

“closed” MAS

“inter-Organisation-nal” MAS

“open” MAS

“massive” MAS

•  a “same” goal •  adhoc coordination mechanisms •  Ad-hoc design •  Scalability in si-mulation

•  different goals •  coordination mechanisms •  Multi-Agent Design •  Important number of agents, scalability

•  generic coordination mechanisms •  Standards for the design of MAS •  Scalability in domains, • Robustness, • Openness

•  Learning of coordination mechanisms •  Emergent Coordination

• Scalability

Short-term Middle-term Middle-term Long-term

Complexity Applications

Source : AgentLink Roadmap

Page 91: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

91 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Applicative Challenges

Page 92: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

92 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Domain Overview (1/2) •  International Conferences

–  International Conference on Multi-Agent System (ICMAS) de 1995 à 2000, –  International Conference on Autonomous Agents and MultiAgent Systems

(AAMAS) depuis 2002. (http://www.aamas-conference.org/) •  French Conferences

–  Journées Francophones SMA (http://www.cerv.fr/jfsma08/) –  Collège SMA de l’AFIA (http://sma.lip6.fr/)

•  European Projects –  AgentLink (réseau d’excellence www.agentlink.org), Roadmap (www.agentlink.org/

roadmap) •  Some ‘‘Success Stories’’

–  Brahms (agentsolutions http://agentsolutions.com/home.htm) @ NASA Ames Research Center

–  Living Systems (Whitestein technologies http://www.whitestein.com) @ ABX Logistics

–  eSTAR (http://www.estar.org.uk/) intelligent robotic telescope network –  CalicoJack (http://www.calicojack.co.uk/) –  Review of Industrial Deployment of Multi-Agent Systems http://agents.felk.cvut.cz/

teaching/33ui2/on-aplications.pdf

Page 93: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

93 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Domain Overview (2/2)

•  Standards •  FIPA (Foundation for Intelligent Physical Agents)

(http://www.fipa.org/) •  Competitions

•  http://www.robocup.org/

•  http://www.rescuesystem.org/robocuprescue/

•  http://tac.eecs.umich.edu/association.html

•  http://www.lips.utexas.edu/art-testbed/

Page 94: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

94 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Domain Overview (3/3) •  Journals

•  Autonomous Agents and Multi-Agent Systems •  Artificial Intelligence •  Knowledge Engineering Review •  International Journal of Agent-Oriented

Software Engineering (IJAOSE) •  Web Intelligence and Agent Systems

An International Journal •  News

•  Agent List •  http://www.cs.umbc.edu/agentslist/

•  Distributed Artificial Intelligence List •  [email protected]

•  French list •  [email protected] •  http://sma.lip6.fr/

Panorama

Page 95: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

95 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Agre 87] Agre, P. E. and D. Chapman (1987). " Pengi: An Implementation of a Theory of Activity" .

AAAI-87. The Sixth National Conference on Artificial Intelligence, Menlo Park, CA., Morgan Kaufman, Los Altos, CA

•  [Bayardo 97] R.J. Bayardo et al.. InfoSleuth: Agent-Based semantic integration of information in open and dynamic environments. Proc. ACM SIGMOD Intern. Conf. on Management of Data, 1997.

•  [Brooks 86] R. Brooks, J.H. Connel: Asynchronous Distributed Control System for a mobile robot, SPIE 727 Mobile Robots, 1986

•  [Bura 91] "Eco-Résolution: un Modèle de Résolution par Interactions" Bura S., Drogoul A., Ferber J. & Jacopin E. Actes de RFIA, Lyon, 1991.

•  [Carabelea 04] Cosmin Carabelea, Olivier Boissier, Cristiano Castelfranchi: Using Social Power to Enable Agents to Reason About Being Part of a Group. ESAW 2004: 166-177

•  [Casare & Sichman, 05] S. J. Casare and J. S. Sichman, Towards a functional ontology of reputation, Proceedings of AAMAS’05, 2005.

•  [Castelfranchi & Falcone, 98] C. Castelfranchi and R. Falcone, Principles of trust for MAS: Cognitive anatomy, social importance and quantification. Proc of ICMAS’98, pages 72-79, 1998.

•  [Chavez 96] K. Chavez, P. Maes, Kasbah: an agent marketplace for buying and selling goods. Proceedings of PAAM'96, Practical Application

•  [Conte & Paolucci, 02] R. Conte and M. Paolucci, Reputation in Artificial Societies. Social Beliefs for Social Order, Kluwer Academic Publishers, G. Weiss (eds), Dordrecht, The Netherlands, 2002.

Page 96: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

96 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Demazeau 95] Y.Demazeau: From interactions to collective behaviour in agent-based systems. In

Proc. of the 1st European Conf. on Cognitive Science, Saint Malo, France, April, 1995, p. 117-132. •  [Demolombe & Lorini, 08] R. Demolombe and E. Lorini, Trust and norms in the context of computer

security: a logical formalization. Proc of DEON’08, LNAI, 1998. •  [Durfee 97] Durfee, E. H., Kiskis, D. L., and Birmingham, W.P., "The Agent Architecture of the

University of Michigan Digital Library", IEE/British Computer Society Proceedings on Software Engineering (Special Issue on Intelligent Agents) 144(1), February 1997.

•  [Esteva 01] Marc Esteva, Julian A. Padget, Carles Sierra: Formalizing a Language for Institutions and Norms. ATAL 2001: 348-366

•  [Esteva 04] Marc Esteva, Bruno Rosell, Juan A. Rodríguez-Aguilar, Josep Lluís Arcos: AMELI: An Agent-Based Middleware for Electronic Institutions. AAMAS 2004: 236-243

•  [Fasli 04] : M. Fasli et M. Michalakopoulos, « e-Game: a generic auction platform supporting customizable market games », IAT 2004.

•  [Ferber 98] Jacques Ferber, Olivier Gutknecht: A Meta-Model for the Analysis and Design of Organizations in Multi-Agent Systems. ICMAS 1998: 128-135

•  [Finin 97] KQML as an agent communication language Tim Finin, Yannis Labrou, and James Mayfield, in Jeff Bradshaw (Ed.), ``Software Agents'', MIT Press, Cambridge, to appear, (1997)

•  [FIPA 02] http://www.fipa.org/repository/aclspecs.html

Page 97: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

97 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Fullam et al, 05] K. Fullam, T. Klos, G. Muller, J. Sabater-Mir, A. Schlosser, Z. Topol, S. Barber, J.

Rosenschein, L. Vercouter and M. Voss, A Specification of the Agent Reputation and Trust (ART) Testbed: Experimentation and Competition for Trust in Agent Societies, Proceedings of AAMAS’05, 2005.

•  [Gandon 02] Fabien Gandon, Laurent Berthelot, Rose Dieng-Kuntz, A Multi-Agent Platform for a Corporate Semantic Web, AAMAS 2002, 6th International Conference on Autonomous Agents, 5th International Conference on Multi-Agents Systems, 9th International Workshop on Agent Theories Architectures and Languages, Eds Castelfranchi C., Johnson W.L., p. 1025-1032, July 15-19, 2002, Bologna, Italy.

•  [Gateau 06] Benjamin Gâteau: Using a Normative Organisational Model to Specify and Manage an Institution for Multi-agent Systems. EUMAS 2006

•  [Gutknecht 00] Olivier Gutknecht, Jacques Ferber: MadKit: a generic multi-agent platform. Agents 2000: 78-79

•  [Herzig et al, 08] A. Herzig, E. Lorini, J. F. Hubner, J. Ben-Naim, C. Castelfranchi, R. Demolombe, D. Longin and L. Vercouyter. Prolegomena for a logic of trust and reputation, submitted to Normas 08.

•  [Hubner 02] Jomi Fred Hübner, Jaime Simão Sichman, Olivier Boissier: A Model for the Structural, Functional, and Deontic Specification of Organizations in Multiagent Systems. SBIA 2002: 118-128

•  [Hubner 05] Jomi Fred Hübner, Jaime Simão Sichman, Olivier Boissier: S-MOISE+: A Middleware for Developing Organised Multi-agent Systems. AAMAS Workshops 2005: 64-78

•  [Hubner 07] Jomi Fred Hübner, Jaime Simão Sichman, Olivier Boissier: Developing organised multiagent systems using the MOISE. IJAOSE 1(3/4): 370-395 (2007)

Page 98: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

98 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Klusch 00] M. Klusch: Information Agent Technology for the Internet: A Survey. Journal Data &

Knowledge Engineering, Kluwer Academic, 36(3), 2000 •  [Klusch 96] Klusch, M., Shehory, O., 1996, Coalition Formation Among Rational Information Agents,

1996, Proc. of MAAMAW, Eindhoven, LNAI Series Vol. 1038:204-217, Springer-Verlag •  [Klusch 99] M. Klusch (ed.): Intelligent Information Agents. Springer, 1999 •  [Klush 01] M. Klusch (ed.) Special issue on Intelligent Information Agents: Theory and Applications,

Intelligent Cooperative Information Systems, vol. 10(1&2), March 2001 •  [Léger 99] Alain Léger, Marie-Pierre Gleizes, Hans Joachim Einsiedler. ABROSE : A Co-operative

Multi-Agent Based Framework for Electronic Marketplace. Dans : InfoWin, ACTS Project Infowin (AC113), Vol. -, p. 21-36, 1999.

•  [Maes 04] P. Maes, Agents that reduce work and information overload, Communications of the ACM, Vol. 37, no. 7, July 1994, special issue on Intelligent Agents.

•  [Maes 90] Maes, P. (1990). "Situated Agents Can have Goals." Designing Autonomous Agents . Maes, P. (Ed.). Cambridge, MA., MIT Press: 49-70.

•  [McBurney 03] P. McBurney et S. Parsons, « Dialogue Game Protocols », Communication in Multiagent Systems, M.-P. Huget (ed.), LNCS 2650, 2003.

•  [Mui et al., 02] L. Mui and M. Mohtashemi and A. Halberstadt, Notions of Reputation in Multi-agent Systems: A Review, Proceedings of Autonomous Agents and Multi-Agent Systems (AAMAS'02), p. 280-287, 2002, C. Castelfranchi and W.L. Johnson (eds), Bologna, Italy, July, ACM Press, New York, NY, United States of America.

Page 99: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

99 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Muller & Vercouter, 05] G. Muller and L. Vercouter, Decentralized Monitoring of Agent

Communication with a Reputation Model, Trusting Agents for trusting Electronic Societies, LNCS 3577, 2005.

•  [Muller 08] G. Muller, L. Vercouter, Trust and Reputation, cours EASSS 08 •  [Nodine 99] M. Nodine and J. Fowler. An overview of active information gathering in Infosleuth. Proc.

Intern. Conference on Autonomous Agents, USA, 1999. •  [Parsons 03] S. Parsons et P. McBurney, « Argumentation-based Communication between Agents »,

Communication in Multiagent Systems, M.-P. Huget (ed.), LNCS 2650, 2003. •  [Pynadath 03] David V. Pynadath, Milind Tambe: An Automated Teamwork Infrastructure for

Heterogeneous Software Agents and Humans. Autonomous Agents and Multi-Agent Systems 7(1-2): 71-100 (2003)

•  [Rao 95] A. S. Rao and M. P. Georgeff, BDI-agents: from theory to practice, Proceedings of the First Intl. Conference on Multiagent Systems, 1995

•  [Ricci 07] Alessandro Ricci, Mirko Viroli, Andrea Omicini. "Give Agents their Artifacts": The A&A Approach for Engineering Working Environments in MAS. 6th International Joint Conference "Autonomous Agents & Multi-Agent Systems" (AAMAS 2007)

•  [Russel 91] Stuart Russell and Eric Wefald. Do The Right Thing. The MIT Press, Cambridge, Massachusetts, 1991

•  [Shardanand 95] U. Shardanand, P. Maes (1995): Social Information Filtering: Algorithms for Automating ``Word of Mouth'', In: Proceedings of the CHI '95

Page 100: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

100 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Sichman 94] Jaime Simão Sichman, Rosaria Conte, Cristiano Castelfranchi, Yves Demazeau: A

Social Reasoning Mechanism Based On Dependence Networks. ECAI 1994: 188-192 •  [Smith 80] : R.G. Smith, « The contract net protocol: High-level communication and control in a

distributed problem solver », IEEE Transactions on Computers, C29 (12), 1980. •  [Sycara 00] K. Sycara, S. Widoff, M. Klusch, J. Lu: LARKS: Dynamic Matchmaking Among

Heterogeneous Software Agents in Cyberspace. Journal on Autonomous Agents and Multi- Agent Systems, Kluwer, 2000

•  [Sycara 99] K. Sycara: In-context information management through adaptive collaboration of intelligent agents. In M. Klusch (ed.), Intelligent Information Agents, Springer, 1999.

•  [Tambe 98] Milind Tambe: Implementing Agent Teams in Dynamic Multiagent Environments. Applied Artificial Intelligence 12(2-3): 189-210 (1998)

•  [Terziyan 07] Vagan Terziyan, MIT Department, University of Jyvaskyla, AI Department, Kharkov National University of Radioelectronics http://www.cs.jyu.fi/ai/vagan/index.html

•  [Van Elst 01] Ludger van Elst and Andreas Abecker: Ontology-Related Services in Agent-Based Distributed Information Infrastructures. In: Proceedings of the Thirteenth International Conference on Software Engineering & Knowledge Engineering, June 13-15, 2001, Buenos Aires, Argentina, pp. 79-85.

•  [Walton 07] Christopher Walton. Agency and the Semantic Web. Oxford University Press, 2007. •  [Weyns 06] Danny Weyns, Tom Holvoet: A Reference Architecture for Situated Multiagent Systems.

E4MAS 2006: 1-40

Page 101: Multi-Agent Oriented Programming - Accueilboissier/enseignement/maop17... · Multi-Agent Oriented Programming Introduction to Multi-Agent Systems Olivier Boissier Olivier.Boissier@emse.fr

101 Introduction to multi-agent systems © O. Boissier MINES Saint-Etienne

Bibliography •  [Wurman 98] : P. Wurman, M. Wellman et W. Walsh, « The Michigan Internet AuctionBot: a

configurable auction server for human and software agents », Autonomous Agents 1998. •  [Zeng 97] Zeng, D. and Sycara, K. (1997). Benefits of Learning in Negotiation, In: Proceedings of

AAAI-97 •  E-Game : http://csres43.essex.ac.uk:8080/elearn/eg/