ADELFE - Glossary of terms |
| |
Agent | |
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:
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:
| |
Adaptive Multi-Agent System (AMAS) | |
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:
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 | |
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 | |
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 | |
The autonomy of an agent can be expressed as following:
| |
Characteristics | |
A characteristic is an intrinsic or physical property of an agent.
| |
Class | |
Description of objects set which share the same operations,
the same relationships and the same semantics [Booch 98]
| |
Class diagram | |
Class diagrams represent a set of classes, interfaces and collaborations with their relationships.
Class diagrams describe the static structure of a system.
| |
Collaboration diagram | |
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 | |
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 | |
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 | |
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 | |
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:
| |
Environment | |
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].
| |
Functional requirements | |
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 | |
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) | |
The interface through which a user interacts with the system [Jacobson 99].
| |
Goal | |
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 | |
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) | |
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 | |
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:
| |
Package | |
In UML, a package is a generic mechanism to organize elements of modelisation into groups
[Booch 98].
| |
Perception | |
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 | |
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 | |
A sequence diagram is a means to illustrate a use case by representing the collaborations between entities from a temporal point of view.
| |
Skill | |
Skills of an agent refer to its knowledge about the domain.
| |
Statechart diagram | |
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 | |
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 | |
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 | |
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 | |
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:
| |
aptitude | |
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:
| |
characteristic | |
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 | |
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:
| |
cooperation | |
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:
These methods are called only during the decision phase of an agent. Rule:
| |
interaction | |
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:
| |
perception | |
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:
| |
representation | |
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:
| |
skill | |
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:
| |
References
| |