Introduction 4pp
Introduction 4pp
1. Definitions
Multi-Agent Systems 2. Action Domains
3. Positioning
Introduction 4. “Vowels” Dimensions
5. Multi-Agent Engineering
Olivier Boissier 6. Perspectives …
Olivier.Boissier@emse.fr
• Socio-technical Systems
1. Definitions • Integration of software applications, with humans, organizations and the
physical world
2. Action Domains • Making them interoperate, interact, cooperate in a flexible and consistent
manner with each other
3. Positioning
4. “Vowels” Dimensions • Problem Solving
Modeling and solving problems by cooperation between local solvers
5. Multi-Agent Engineering •
• Installing top-down and/or bottom-up (emergent) solving process
6. Perspectives …
• Simulation
• Modeling and reproducing complex phenomena of interacting entities in the
real world in order to understand or to explain their behavior
• Industries, services, IT applications are getting global • Properties of the targeted applications:
• Placed at the centre of multiple networks • Absence of monolithic vision
• Developing Knowledge intensive processes • Incremental development, by different teams
• Based on large scale underlying IT platforms such as Internet, Web, Internet of • Multi-* (sites, expertise, domains, points of view, decisions, goals,
Things motivations, …)
• Continuous execution and adaptation
• Industries, services, IT applications are situated in an ever-evolving • User-Centred
environment
• Main requirements:
• Requiring efficient collaboration processes
• Openness, permeability, scalability in size or structure
• While keeping flexibility and agility
• Distribution, no central control, control and interaction are local
• Autonomous Interacting entities loosely coupled with others or applications
• Users are more and more at the centre of the cooperation and
• Knowledge Intensive processing and sharing
collaboration taking place in these socio-technical systems
• Users may delegate their decisions to the application
Service Personnalisation
Agents
Médiateurs
Agents Utilisateurs
Agents Services Agent Agent
Utilisateur Profil
• Problem Solving
• Modeling and solving problems by cooperation between local solvers
• Installing top-down and/or bottom-up (emergent) solving process
Planification, coordination, optimisation along
a top-down approach :
• Centralised collect and processing of
• Simulation
informations and events • Modeling and reproducing complex phenomena of interacting entities in the
• Propagation of plans & decisions real world in order to understand or to explain their behavior
• No realtime decision.
Source Whitestein Agent Technology Conference 2004
© O. Boissier ENSM Saint-Etienne
15 © O. Boissier ENSM Saint-Etienne
16
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Problem Solving Action domains
Example (1/2) Action domains
• Main requirements:
• Decentralisation, local control, interactions
• Openness, permeability, scalability in size or structure
Ferrand 97
• Shared and dynamic environment
• Emergence of the solution
© O. Boissier ENSM Saint-Etienne
17 © O. Boissier ENSM Saint-Etienne
18
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
• Socio-technical Systems
• Integration of software applications, with humans, organizations and the
physical world In order to:
• 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 Understand, Explain
real world in order to understand or to explain their behavior
Discover, …, Help,
© O. Boissier ENSM Saint-Etienne
21 © O. Boissier ENSM Saint-Etienne
22
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
http://www.massivesoftware.com/
MANTA [Drogoul 93]
The Return of the King (2003)
The Two Towers (2002)
The Fellowship of the Ring (2001) I, Robot (2004)
Ratatouille
Organisation émergente (2007)
…, Entertainment
Conversational Zeno Robot
http://hansonrobotics.com/
© O. Boissier ENSM Saint-Etienne
23 © O. Boissier ENSM Saint-Etienne
24
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Plan History – Major Steps Positioning
• 1973 - 1980:
• Hearsay II (1973): blackboard architecture for speech recognition • Direct Links with:
• Actor Languages (1973): messages as control structures
• Beings (1975), Society of Minds (1978)
• Programming, Objects...
• Artificial Intelligence,
• 1980 - 1990:
• Contract Net (1980): hierarchical decentralized control
• Distributed Systems, Parallelism,
• DVMT (1984): Distributed Interpretation
• Subsumption architecture (1986) : Reactive Robots
• MACE (1987): multi-agent platforms • But also:
• 1990 - … :
• Complex System (physics, …, ethology, ecology, …)
• Self-organisation, emergence, Interactions, organisations, reputation, trust, • Artificial Life, Neural networks, …
Agent Oriented Software Engineering, …
• In 1995, first international conference ICMAS, • Social Psychology, Sociology, Activity Theory,
• since 2002, Autonomous Agents + MAS -> AAMAS Economy, ...
© O. Boissier ENSM Saint-Etienne
27 © O. Boissier ENSM Saint-Etienne
28
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Direct Inheritance Positioning
Multi-Agent vs Objects Positioning
goals:
➨ Knowledge, Goals, C
A
C
B Ag3
Ag1
Ag2
• Both take into account interconnection and distribution From Autonomous Agents to Multi-Agent Systems
• Autonomous Robots
• In MAS, Interconnection and Distribution are concerned • Personal Assistants
by: • Desktop Agents
• The requirement of taking into account the agent autonomy, of
developing synchronization and coordination mechanisms to
• Softbots, Knowbots
coordinate their activities • Mobile Agents
• The requirement to represent and take into account the user • Reactive Agents
interests
• Intelligent Agents, Cooperative Agents, Conversational
• The requirement to cooperate and to achieve agreements (or Agents
even compete) with other systems aiming at achieving their own
interests. • Autonomous Agent in a multi-agent world
6. Perspectives …
• Taking two main points of view:
• global (System centred), local (Agent centred)
Agent Model Global point of view Environment Model Global point of view
http://apice.unibo.it/xwiki/bin/view/CARTAGO/
• Perception &
Action Modalities,
• Resources,
Coordination
Artifacts
• Topology
• Proper Dynamic Artefact
• To define and structure the dynamic relation between two or I call for
• High level language to share propositional BDI proposal
several agents through reciprocal actions that may draw patterns of attitudes, to collaborate, Negotiate, ...
activity (conversations) • FIPA-ACL [FIPA 02], KQML [Finin 97], etc. cfp
BDI
• Agent Communication Languages (ACL FIPA, KQML, …), Content Languages,
Ontologies I offer
• Set of performatives based on mental states
• Interaction Protocols, Conversations, … offer
• Inform, request, cfp, agree, understood
• Sources : Speech Acts, Conversations
Agent • Content Languages ACL
Architectures
• Ex: KIF, FIPA-SL, FIPA-CCL, etc.
• To express actions, objects, propositions Content Language
MAS Services Environment • Based on ontologies, i.e. common
Services O
O Interaction OSimulation/Services
O vocabularies relative to a domain (weather- ontology
Middleware ontology, cinema-ontology, etc)
Propose 10 NB
CFP 20 Couleur
© O. Boissier ENSM Saint-Etienne
43 © O. Boissier ENSM Saint-Etienne
44
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
ACL FIPA Message Example Interaction Protocol Example
Global point of view Global point of view
Agent Agent
Architectures Architectures
• Social Agents
• situated agents that reason also on the other agents
• Control Cycle: closed loop involving two operations "execute” and • Reactive approaches (developed in opposition to
"see" (Stimulus/Response) AI symbolic reasoning)
• reaction to the evolutions of the environment
• Different approaches based on :
• No explicit representation of the environment, of the other agents,
of its skills, …
• behaviours
• [Brooks 86], [Steels 89], (robotic)
• Decision taken using neither some past history nor future (no
• [Drogoul 93] (ethology)
planning)
• interactions
• [Demazeau 93] (image analysis, cartography, …)
see execute
Agent
• [Bura 91] (games)
• situations
• [Agre 87] (games)
Environnement • [Wavish 90] (design, manufacturing)
© O. Boissier ENSM Saint-Etienne
53 © O. Boissier ENSM Saint-Etienne
54
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Agent Agent
Architecture Architecture
Interaction
CFP 20 Color
Beliefs Beliefs
Reasoning Desires, Goals Reasoning Desires, Goals
Intentions Intentions
Propose 10 BW
Action Action
Organization Aware Agent Local point of view Synthesis Local point of view
Interaction
Agent Beliefs
Architecture Reasoning Desires, Goals
Intentions
A Organisation
Perception Action
Knowledge
D
Interaction
Interaction
public void start(java.io.File);
public void run();
public void postEvent(mast.facet.FacetEvent); Beliefs
void forwardEvent(mast.facet.FacetEvent) throws mast.facet.InvalidEventException; & Mngt of Reasoning Desires, Goals
mast.facet.FacetDescription getNextReceiver(mast.facet.FacetEvent) throws
mast.facet.InvalidEventException; Event Perception
java.util.Vector getReceiversFor(mast.facet.FacetEvent); Organisations Intentions
boolean match(mast.facet.FacetDescription, mast.facet.FacetEvent);
public void setAnswerTo(mast.facet.FacetEvent, mast.facet.FacetEvent, boolean); Action on the
public void setNoAnswerTo(mast.facet.Facet, mast.facet.FacetEvent);
public void subscribe(mast.facet.Facet, mast.facet.FacetEventFilter); Representation Organisation
public void unsubscribe(mast.facet.Facet, mast.facet.FacetEventFilter);
public void unsubscribeAll(mast.facet.Facet); Action environnement
public void appendToLog(java.lang.String); & Mngt of
public void saveLogFile() throws java.io.IOException;
static {}; Representation of
} Norms,
Method mast.core.AgentCore() the environment
0 aload_0
1 aconst_null
2 ldc #1 <String "Agent Core">
Social
4 getstatic #2 <Field long DEFAULT_TIMEOUT>
7 invokespecial #3 <Method mast.core.AgentCore(java.lang.ThreadGroup,java.lang.String,long)>
10 return
Reasoning
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
X
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 © O. Boissier ENSM Saint-Etienne
67 © O. Boissier ENSM Saint-Etienne
68
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Plan Multi-Agent Engineering
• Developing multi-agent applications is often a difficult task
implementation, distribution, communications, …
Definitions
•
1.
2. Action Domains • There exists
• Multiple technologies focused on particular points of a MAS
3. Positioning • Multiple agent programming languages, dedicated or general purpose based
on existing programming languages
4. “Vowels” Dimensions • Multiple multi-agent programming platforms, involving often a specific agent
architecture, proposing or not, first order abstractions for the environment, the
organisation, the interaction.
5. Multi-Agent Engineering • Multiple standards
• Multiple software engineering methods for the analysis and design of MAS.
6. Perspectives … ! Multiple languages, platforms, methods are available …
! But often limited to a very focused set of applicative domains.
Application Non agent software • Middleware for developing agent-based P2P application
Agent
• On fixed platforms, smart phones, …
Structure • Two main products :
Specification ACL
ACL Message Agent Agent Management
• Agent Platform compliant to
Specification
Library of FIPA specifications
communication
acts • API to develop agents in Java
Interaction ACL Agent Management Directory • Open Source Project, LGPL License
Protocols
+ System (AMS) Facilitator (DF)
Specification • Controlled by Telecom Italia Lab, who owns the project
CL
Content • Result of the joint effort of multiple actors belonging to the JADE Board (founded in
Language 2003) which missions concern the promotion, the governance and implementation
Specification SL HTTP
Message Transport Service IIOP of the changes of the JADE platform
Agent Message SMTP
Transport
etc.
Specification Plateforme Agent FIPA
• Project portal : http://jade.tilab.com
ACL = Agent Communication Language
• Ontologies : DAML, OIL, OWL, … The engineering of Multi-Agent Systems needs to take into account two levels:
Multi-Agent System level (System-Centred)
• http://www.daml.org •
• Number of agents, Agent Heterogeneity?
• http://www.ontoknowledge.org/oil/ • What is the common medium shared by the agents (Environment)?
• http://www.w3.org/ • What are the communication mechanisms between agents?
• What are the communication languages, the ontologies, the interaction protocols used by the
agents?
• Other standards (De Facto) • What is the organisation regulating the actions of the agents? How is it established?
• Jini (www.sun.com/jini), • How do the agents coordinate their actions? How to ensure a consistent behavior?
Agent level (Agent-Centred)
• UPnP (www.upnp.org), •
• What does an agent represent? What are the kinds of actions encapsulated into an agent?
• UDDI (www.uddi.org), • How do the agents represent the environment, the organisation in which they are situated?
• Salutation (www.salutation.org) • How do the agents process the interaction with other agents?
Bibliography Bibliography
• [Fullam et al, 05] K. Fullam, T. Klos, G. Muller, J. Sabater-Mir, A. Schlosser, Z. Topol, S. Barber, J.
• [Demazeau 95] Y.Demazeau: From interactions to collective behaviour in agent-based systems. In Rosenschein, L. Vercouter and M. Voss, A Specification of the Agent Reputation and Trust (ART)
Proc. of the 1st European Conf. on Cognitive Science, Saint Malo, France, April, 1995, p. 117-132. Testbed: Experimentation and Competition for Trust in Agent Societies, Proceedings of AAMAS’05,
• [Demolombe & Lorini, 08] R. Demolombe and E. Lorini, Trust and norms in the context of computer 2005.
security: a logical formalization. Proc of DEON’08, LNAI, 1998. • [Gandon 02] Fabien Gandon, Laurent Berthelot, Rose Dieng-Kuntz, A Multi-Agent Platform for a
• [Durfee 97] Durfee, E. H., Kiskis, D. L., and Birmingham, W.P., "The Agent Architecture of the Corporate Semantic Web, AAMAS 2002, 6th International Conference on Autonomous Agents, 5th
University of Michigan Digital Library", IEE/British Computer Society Proceedings on Software 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,
Engineering (Special Issue on Intelligent Agents) 144(1), February 1997.
Bologna, Italy.
• [Esteva 01] Marc Esteva, Julian A. Padget, Carles Sierra: Formalizing a Language for Institutions and
Norms. ATAL 2001: 348-366 • [Gateau 06] Benjamin Gâteau: Using a Normative Organisational Model to Specify and Manage an
Institution for Multi-agent Systems. EUMAS 2006
• [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 • [Gutknecht 00] Olivier Gutknecht, Jacques Ferber: MadKit: a generic multi-agent platform. Agents
2000: 78-79
• [Fasli 04] : M. Fasli et M. Michalakopoulos, « e-Game: a generic auction platform supporting
customizable market games », IAT 2004. • [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.
• [Ferber 98] Jacques Ferber, Olivier Gutknecht: A Meta-Model for the Analysis and Design of
Organizations in Multi-Agent Systems. ICMAS 1998: 128-135 • [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
• [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) • [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
• [FIPA 02] http://www.fipa.org/repository/aclspecs.html
• [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)
© O. Boissier ENSM Saint-Etienne
95 © O. Boissier ENSM Saint-Etienne
96
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Bibliography Bibliography
• [Klusch 00] M. Klusch: Information Agent Technology for the Internet: A Survey. Journal Data & • [Muller & Vercouter, 05] G. Muller and L. Vercouter, Decentralized Monitoring of Agent
Knowledge Engineering, Kluwer Academic, 36(3), 2000 Communication with a Reputation Model, Trusting Agents for trusting Electronic Societies, LNCS
• [Klusch 96] Klusch, M., Shehory, O., 1996, Coalition Formation Among Rational Information Agents, 3577, 2005.
1996, Proc. of MAAMAW, Eindhoven, LNAI Series Vol. 1038:204-217, Springer-Verlag • [Muller 08] G. Muller, L. Vercouter, Trust and Reputation, cours EASSS 08
• [Klusch 99] M. Klusch (ed.): Intelligent Information Agents. Springer, 1999 • [Nodine 99] M. Nodine and J. Fowler. An overview of active information gathering in Infosleuth. Proc.
Intern. Conference on Autonomous Agents, USA, 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 • [Parsons 03] S. Parsons et P. McBurney, « Argumentation-based Communication between Agents »,
Communication in Multiagent Systems, M.-P. Huget (ed.), LNCS 2650, 2003.
• [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 • [Pynadath 03] David V. Pynadath, Milind Tambe: An Automated Teamwork Infrastructure for
(AC113), Vol. -, p. 21-36, 1999. Heterogeneous Software Agents and Humans. Autonomous Agents and Multi-Agent Systems 7(1-2):
71-100 (2003)
• [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. • [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
• [Maes 90] Maes, P. (1990). "Situated Agents Can have Goals." Designing Autonomous Agents .
Maes, P. (Ed.). Cambridge, MA., MIT Press: 49-70. • [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
• [McBurney 03] P. McBurney et S. Parsons, « Dialogue Game Protocols », Communication in
Multiagent Systems, M.-P. Huget (ed.), LNCS 2650, 2003. "Autonomous Agents & Multi-Agent Systems" (AAMAS 2007)
• [Mui et al., 02] L. Mui and M. Mohtashemi and A. Halberstadt, Notions of Reputation in Multi-agent • [Russel 91] Stuart Russell and Eric Wefald. Do The Right Thing. The MIT Press, Cambridge,
Systems: A Review, Proceedings of Autonomous Agents and Multi-Agent Systems (AAMAS'02), p. Massachusetts, 1991
280-287, 2002, C. Castelfranchi and W.L. Johnson (eds), Bologna, Italy, July, ACM Press, New York, • [Shardanand 95] U. Shardanand, P. Maes (1995): Social Information Filtering: Algorithms for
NY, United States of America. Automating ``Word of Mouth'', In: Proceedings of the CHI '95
© O. Boissier ENSM Saint-Etienne
97 © O. Boissier ENSM Saint-Etienne
98
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction
Bibliography 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 • [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.
• [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. • [Zeng 97] Zeng, D. and Sycara, K. (1997). Benefits of Learning in Negotiation, In: Proceedings of
AAAI-97
• [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 • E-Game : http://csres43.essex.ac.uk:8080/elearn/eg/
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
© O. Boissier ENSM Saint-Etienne
99 © O. Boissier ENSM Saint-Etienne
100
Multi-Agent Systems: Introduction Multi-Agent Systems: Introduction