ADELFE - Glossary of terms

General terms
Agent AMAS Aptitude Autonomous AUML Characteristics
Class Class diagram Collaboration diagram Consensual requirements Coooperation failure Design Pattern
Entity Environment Functional requirements Non-functional requirements Goal GUI
Interaction language Multi-Agent System Non Cooperative Situation Package Perception Protocol diagram
Sequence diagram Skill State-chart diagram System Use case World representation
 
Stereotypes
action aptitude characteristic cooperative agent cooperation interaction
perception representation skill
 
References

 

Agent Haut page

There is no universal definition of an "agent". The classical definition by Ferber can be used as a starting point.

An agent is a physical or virtual entity:

    • which is capable of action in an environment
    • which can communicate directly or not with other agents
    • which is driven by a set of tendencies (in the form of individual objective or of a satisfaction/survival function which it tries to optimise)
    • which possesses resources of its own
    • which is capable of perceiving its environment (but to a limited extent)
    • which has only a partial representation of this environment (and perhaps none at all)
    • which possesses skills and can offer services
    • which may be able to reproduce itself
    • whose behavior tends towards satisfying its objective, taking account of the resources and skills available to it and depending of its perception, its representation and the communication it receives. [Ferber 99]

When working with co-operative agents to build Adaptive Multi-Agent Systems, the autonomy is the main property of an agent. An agent is able to decide of its own behaviour. This property distinguishes it from other entities such as objets.

Furthermore, agents in AMAS have a special social attitude: they must be cooperative. So, an agent must detect and process Non Cooperative Situations to always act to come back in a state it judges being cooperative from its own point of view. For instance, an agent that does not possess an information requested by another agent will do all it can to find another agent able to answer this request.

The lifecycle of an agent is:

    • perceive,
    • decide,
    • act.

 

Adaptive Multi-Agent System (AMAS) Haut page

An adaptive multi-agent system is a multi-agent system which is able to change its behaviour while running. It does this to adjust its behaviour to its dynamic environment in order to achieve the task it is designed for or to improve its function or its performances.

Such a system is characterised by the following points:

    • it is plunged into an environment,
    • it has a function to achieve,
    • it is composed of interacting agents.

The AMAS theory says that for all functionally adequate system (realising the desired function) there is at least a system having a co-operative internal medium which realises an equivalent function. In other words, to design a system realising the desired function, having a system formed by co-operative agents is sufficient, this co-operation directs the social attitude of these agents.

 

Aptitude Haut page

An agent possesses some aptitudes to reason both about its knowledge and beliefs. More precisely this knowledge concerns operating knowledge like, for instance, ability to interpret a signal coming from another agent or from the environment.

 

AUML Haut page

An Agent-based Unified Modeling Language (AUML) has been developed to express interactions between agents in a MAS. When possible, AUML reuses notations coming from UML and adds new ones.

The official web site can be reached at http://www.auml.org/.

 

Autonomy Haut page

The autonomy of an agent can be expressed as following:

    • An agent has its own life, independently of the existence of other agents,
    • An agent is able to survive in dynamic environments without an external control,
    • An agent takes internal decisions about its behaviour only considering the perceptions, knowledge and representations it possesses.

 
Characteristics Haut page

A characteristic is an intrinsic or physical property of an agent.
 

Class Haut page

Description of objects set which share the same operations, the same relationships and the same semantics [Booch 98]
 

Class diagram Haut page

Class diagrams represent a set of classes, interfaces and collaborations with their relationships. Class diagrams describe the static structure of a system.
 

Collaboration diagram Haut page

A collaboration diagram describes interactions among objects in terms of sequenced messages. Collaboration diagrams represent a combination of information taken from class, sequence, and use case diagrams describing both the static structure and dynamic behaviour of a system.
 

Consensual requirements Haut page

A consensual requirement is a condition or capability to which a system must conform and on which end-users, designers and developers agree.
 

Cooperation failure Haut page

A cooperation failure corresponds to the detection of a Non Cooperative Situation. Such a failure can be viewed as a cooperation protocol which is not obeyed or "bad" interactions that may occur between the system and its environment.
 

Design pattern Haut page

A design pattern is a solution to a problem that arises during the design phase with respect to a context. It is a proved means to modelise behaviours or relationships, independently from the implementation langage.

A pattern is described using a format (due to Gamma, Helm, Johnson and Vlissides) which indicates its goal, its motivations, the situations in which it can be applied, its structure, the proposed solution,the consequences whan using it, some examples and, possibly, some patterns to which it is linked with.
 

Entity Haut page

An entity is an actor in the UML sense. It is a set of coherent roles which the users of use cases play when they interact with use cases.

In ADELFE, two types of entities will be used:

    • Active entities which may behave autonomously; for instance, by bringing modifications to their functioning constraints. They are able to act in a dynamical way with the system. Agents composing the system will be found among them,
    • Passive entities which can be considered as resources by the system. Interactions with the system are restricted to data exchanges in order to realise the task the system must achieve. Passive entities may be used or modified by active ones but hey do not change by themselves in an autonomous manner.

 
Environment Haut page

The environment of an agent refers to all that is external to the agent. One can distinguish the social environment (the agents its knows) from the physical environment (the material resources that can be perceived by the agent or by its own effectors).

In ADELFE, environment is characterized using terms provided in [Russel 95] which can be also be found in [Wooldridge 00] and [Lind 01].

    • Accessible environment (as opposed to "inaccessible").
      The system can obtain complete, accurate and up-to-date information about the state of its environment. In an inaccessible environment, only partial information is available to the system.
      For example, an environment such as the Internet is not an accessible one because knowing all about it is impossible. A robot which evolves in an environment has sensors to perceive it and generally, these sensors do not allow it to know all about its environment. In this case, its environment is also considered as being inaccessible.
       
    • Continuous environment (as opposed to "discrete").
      In a continuous environment, the number of possible actions and perceptions in the environment is infinite.
      In a discrete environment, the system has distinct, clearly defined percepts that describe the environment.
      For example, in a real environment like the Internet, the number of actions that can be performed by users can be unbounded. But, in a simulated environment, such as an ecosystem, the number of actions or perceptions a virtual entity (like an ant or a robot) can have is limited, the environment can then be discrete.
       
    • Deterministic environment (as opposed to "non deterministic").
      In a determinist environment an action has a single and certain effect. If the system acts in its environment, there is no uncertainty about the effect of its action on the state of the environment. The next state of the environment is completely determined by the current state.
      In a non deterministic environment, an action does not have a single guaranteed effect.
      By nature, the real physical world is a non-deterministic environment.
       
    • Dynamic environment (as opposed to "static").
      The state of a dynamic environment depends upon actions of the system that is within this environment but is also dependent on the actions of some other processes. So, changes cannot be predicted by system.
      A static environment cannot change while the system is not acting.
      For example, the Internet is a highly dynamic environment.

    •  
Functional requirements Haut page

A requirement that specifies an action that a system must be able to perform, without considering physical constraints; a requirement that specifies input/output behavior of a system [Jacobson 99].
 

Non functional requirements Haut page

A requirement that specifies sytem properties, such as environmental and implementation constraints, performance, platform dependencies, maintainability, extensibility, and reliability. A requirement that specifies physical constraints on a functional requirement [Jacobson 99].
 

Graphical User Interface (GUI) Haut page

The interface through which a user interacts with the system [Jacobson 99].
 

Goal Haut page

A goal is a set of states of the world that an agent is committed to achieve/maintain. Therefore a goal is a situation, but not all situations are goals. A set of states of the world is generally not a goal unless there is an agent committed to achieve/maintain this set of states [Eurecom 00].
 

Interaction language Haut page

The interaction language is a set of tools needed by the agent to directly or indirectly communicate towards other agents or towards its environment.
 

Multi-Agent System (MAS) Haut page

A Multi-Agent System is a system composed of a great number of autonomous entities, named agents, having a collective behaviour which allows to obtain the desired function.
 

Non Cooperative Situation Haut page

When the environment is unpredictable, or when the system is open, classical algorithms fail because the designer is unable to find an algorithm which is able to list all the existing possibilities.

The aim of the AMAS technology is to design systems that do their best when a difficulty is encountered. In classical programs, these unexpected events can be processed as exceptions.

In the AMAS theory context, these "exceptions" - expressing unusual situations that an agent may be faced with - are called "Non Cooperative Situations" (NCS).

Different kinds of NCS exist, such as:

    • incomprehension,
    • ambiguity,
    • incompetence,
    • concurrency,
    • conflict,
    • uselessness.

 
Package Haut page

In UML, a package is a generic mechanism to organize elements of modelisation into groups [Booch 98].
 

Perception Haut page

Perception is a means to receive information from the physical or social (other agents) environment.

Thus, the designer has to give some perceptive capabilities to the agent.
 

Protocol diagram Haut page

An agent interaction protocol describes a communication pattern as an allowed sequence of messages between agents and the constraints on content of those messages [Odell 01].
 

Sequence diagram Haut page

A sequence diagram is a means to illustrate a use case by representing the collaborations between entities from a temporal point of view.
 

Skill Haut page

Skills of an agent refer to its knowledge about the domain.
 

Statechart diagram Haut page

A statechart diagram shows the behaviour of classes in response to external stimuli. This diagram models the dynamic flow of control from state to state within a system.
 

System Haut page

A system is an artifact which offers a coherent set of use cases to an end user.

It corresponds to the software to be done. The developer has to consider both the system and its environment.
 

Use case Haut page

A use case is a set of scenarios tied together by a common user goal. A scenario is a sequence of steps describing an interaction between a user and the system.
 

World representation Haut page

World representations of an agent - or beliefs - concern other agents (its social environment), the physical environment or the agent itself. The agent must always be able to access these representations to decide of its behaviour and, possibly, it must be able to modify them.
 


 

Stereotypes

action Haut page

An action is a means to act on the environment during the action phase of an agent.

An attribute stereotyped with "action" stands for a parameter of an action.

For example, a move length, the maximum size for a message.

A method steretyped with "action" represents a possible action for an agent.

For instance, move, send a message.

An agent is the only one which can use its actions, they are then private.

Rules:

    • an attribute which is stereotyped with "action" is private,
    • an action-stereotyped method is private,
    • a method which is stereotyped using "action" can only be called during the action phase of an agent.

 
aptitude Haut page

Aptitudes show the ability of an agent to reason both about knowledge and beliefs it owns.

For a software agent, an aptitude can be expressed by an inference engine on a base of rules, for example, or any other processing on perceptions and world representations.

An aptitude-stereotyped attribute represents a functioning datum or parameter of a reasoning made by an aptitude-stereotyped method. For example, an integer value represents the exploration depth of a planning tree.

A method stereotyped with "aptitude" expresses a reasoning which an agent is able to do using its perceptions and its world representations. This method uses one or several parameters that are attributes also stereotyped with "aptitude". For example, a method allowing actions planning or a decision mechanism.

A method or an attribute which is stereotyped with "aptitude" can only be accessed/affected or called by the agent itself, to express its autonomy of decision.

Rules:

    • an attribute or a method that is stereotyped with "aptitude" is necessarily private,
    • an "aptitude" attribute can only be used by a method that is also stereotyped with "aptitude",
    • a method which is stereotyped with "aptitude" can only be called during the decision phase of the agent,
    • an aptitude-stereotyped method can only call methods or attributes that are stereotyped with perception, representation or " interaction (for instance, for messages).

 
characteristic Haut page

A characteristic is an intrinsic or physical property of an agent.

An attribute which is stereotyped with "characteristic" expresses the value of such a property.

For example, the size of an agent, the number of legs of an ant.

A characteristic-stereotyped method is a means to modify or update an agent property.

For example, a method that enables to modify the number of legs of an ant.

A characteristic can be called during any phase of the lifecycle of the agent. A characteristic can be accessed or not by other agents.


 

cooperative agent Haut page

A cooperative agent is an agent that possesses a cooperative social attitude.

As an object, a cooperative agent must have a run method which simulates its lifecycle which consists in having perceptions, taking decisions and then doing actions (perceive-decide-act).

To ensure that this method does exist, an agent inherits from a super-class called CooperativeAgent.

Rule:

    • An agent-stereotyped class inherits from the CooperativeAgent class.

 
cooperation Haut page

The social attitude of agents is implemented using rules allowing Non Cooperative Situations (NCS) solving.

An agent must have a set of rules (predicates) that allow it to detect NCS. It must also have a method to enable it to solve NCS, this method associates actions with situations in order to process them.

A method that is stereotyped with "cooperation" is always private and can be of two kinds:

    • a method that returns a boolean result to detect a situation, its parameters are perceptions, representations or skills,
    • a solving method (a priori, one per agent) that allows the association of one or several solving actions with each situation.

These methods are called only during the decision phase of an agent.

Rule:

    • An cooperation-stereotyped method is private.

 
interaction Haut page

The interaction language represents tools that ebale an agent to communicate directly or not with others or with its environment.

For example, in an anthill simulation, the ant-like agents are indirectly communicating, an ant drops some pheromone which will be perceived by other ant-agents; this pheromone expresses a certain information. In the ETTO example, BookingAgents are directly communicating by exchanging messages.

A method stereotyped with "interaction" expresses the ability an agent has to interact with other agents or with its environment in an indirect manner.

An attribute stereotyped with "interaction" represents a functioning datum or a parameter of an interaction made via an interaction-stereotyped method.

For instance, an attribute representing the name of the agent which is accessible by any other entity, a mailbox or an integer value expressing the maximum size of a mailbox.

A method stereotyped with "interaction" can only be called by the agent itself. An attribute with the same stereotype can be accessed by other agents.

For example, a method that enables an agent to consult its mailbox.

An interaction-stereotyped method expresses the ability an agent has to directly interact with other agents.

Interactions can be classified into two groups: perceptions and actions which are also stereotypes (perception and action).

For instance, a classe named ACLMessages to represent a communication library that implements FIPA ACL (request, inform...).

Rule:

    • A method stereotyped with "interaction" can only call methods stereotyped with skill or interaction.

 
perception Haut page

A perception is a means to receive information from the physical or social (other agents) environment.

An attribute "perception" represents a datum coming from the enviroment and is necessarily private.

For instance, the number of agents seen by an agent at a given time, a messages list.

A method stereotyped with "perception" is a means to modify or update attributes that are stereotyped "perception". This kind of method is not necessarily private because other agents can call it (to send a message, for example).

For example, a method that enables to put a message in an agent mailbox.

Rule:

    • An attribute stereotyped with " perception " is necessarily private.

 
representation Haut page

World representations of an agent, or beliefs, concern other agents, the physical environment or the agent itself. These representations are used by the agent to determine its behaviour.

An attribute which is stereotyped with "representation" is a means to express a knowledge unit that describes an agent. For example, the number of agents known by an is a knowledge.

A method which is stereotyped with "representation" corresponds to a handling of a representation: access, alteration... For example, a method which allows alteration of a user profile.

An attribute or a method which is stereotyped with "representation" can only be accessed/affected by the agent itself.

If representations may evolve (for example, a semantic network), these representations can be expressed using a multi-agent system.

Rules:

    • An attribute or a method which is stereotyped with "representation" is necessarely private,
    • A representation-stereotyped attribute can only be used by a method which is stereotyped with "representation" or aptitude,
    • A representation-stereotyped method can only be called during the decision phase of the agent.

 
skill Haut page

Skills are specific knowledge that enable an agent to realise its own partial function.

A skill-stereotyped attribute represents a datum which is useful to act on the world, or a parameter that is linked to a skill-stereotyped method. For instance, an integer value represents a minimal distance a robot has to respect to avoid obstacles.

A skill-stereotyped method represents a reasoning that the agent can only make during its decision phase. For example, a method that describes the logical reasoning to avoid obstacles.

A skill-stereotyped attribute or method can only be accessed/affected or called by the agent itself to express its autonomy of decision.

Skills can be represented by a multi-agent system whan they need to evolve.

Rules:

    • an attribute or a method that is stereotyped with "skill" is necessarily private,
    • a skill-stereotyped attribute can only be used by a skill-stereotyped method,
    • a skill-stereotyped method can only be called during the decision phase of an agent.

 

References

  • [Booch 98] Grady BOOCH, James RUMBAUGH & Ivar JACOBSON - The Unified Modeling Language User Guide - The Addison-Wesley Object Technology Series, Addison-Wesley, 1998, ISBN 0-201-57168-4.
  • [Eurescom 00] Eurescom - Project P907-GI - MESSAGE: Methodology for Engineering Systems of Software Agents, Deliverable 1 - Initial Methodology - 2000. http://www.eurescom.de/~pub-deliverables/P900-series/P907/D1/P907D1
  • [Ferber 99] - Jacques FERBER - Multi-Agent System: An Introduction to Distributed Artificial Intelligence - Addison Wesley Longman, 1999.
  • [Jacobson 99] - Ivar JACOBSON, Grady BOOCH & James RUMBAUCH - The Unified Software Development Process - Addison Wesley, 1999.
  • [Lind 01] - Jürgen LIND - Iterative Software Engineering for Multiagent Systems - Volume 1994 of Lecture Notes in Artificial Intelligence, Springer Verlag, Heidelberg, 2001.
  • [Odell 01] - James ODELL, H. Van DYKE PARUNAK & Bernhard BAUER - Representing Agent Interaction Protocols in UML- Agent-Oriented Software Engineering, Paolo Ciancarini and Michael Wooldridge eds., Springer-Verlag, Berlin, pp. 121-140, 2001. (Held at the 22nd International Conference on Software Engineering (ISCE)).
  • [Russell 95] - S. RUSSEL & P. NORVIG - Artificial Intelligence: a Modern Approach - Prentice-Hall.
  • [Woolridge 00] - Michael WOOLRIDGE - On the Sources of Complexity in Agent Design - In Applied Artificial Intelligence. 14(7):623-644. 2000.
Haut page