agent design methodologies (1)

advertisement
ARTIFICIAL INTELLIGENCE
[INTELLIGENT AGENTS PARADIGM]
METHODOLOGIES OF MULTI-AGENTBASED SYSTEMS DESIGN
Professor Janis Grundspenkis
Riga Technical University
Faculty of Computer Science and Information Technology
Institute of Applied Computer Systems
Department of Systems Theory and Design
E-mail: Janis.Grundspenkis@rtu.lv
AGENT DESIGN CRITERIA
•
•
•
•
•
•
•
Autonomy
Social ability
Reactivity
Pro-activeness
Flexibility
Purpose
Ability to learn
AGENT DESIGN
METHODOLOGIES (1)
Belief, Design and Intention (BDI) Approach
• External viewpoint
Agents are modelled as complex objects characterized
by their external interaction, the information they require
and maintain, the services they perform, and their
responsibilities. As a result two models are developed:
Agent Model and Interaction Model
• Internal viewpoint
It is captured in three models which are developed:
Belief Model, Goal Model, and Plan Model
AGENT DESIGN
METHODOLOGIES (2)
Belief, Design and Intention (BDI) Approach
• Agent Model identifies hierarchical relationships
between abstract and concrete agent classes
and the agent instances
• Interaction Model specifies responsibilities of an
agent class, the services it provides, its
interactions and relationships between agent
classes
AGENT DESIGN
METHODOLOGIES (3)
Belief, Design and Intention (BDI) Approach
• Belief Model describes the information about
agent environment, its internal states and the
actions it may perform
• Goal Model describes the events to which an
agent can respond and the goals that an agent
may adopt
• Plan Model describes the plans that an agent
may employ to achieve its goals
AGENT DESIGN
METHODOLOGIES (4)
Gaia
• Abstract entities
They are used during the analysis phase to
conceptualize the system (these entities do not
necessarily have any direct realization within the system)
• Concrete entities
They are used during the design process and have
direct counterparts in the run-time system
AGENT DESIGN
METHODOLOGIES (5)
Gaia
• The methodology puts the emphasis on the analogy
between agent-based systems and an organization, and
views them as a collection of roles
• A role is defined by four characteristics:
1. Responsibilities determine functionality of a role and are further
divided into 2 types: liveness and safety properties
2. Permission identify the resources available to that role (tend to be
information)
3. Activities are the computations that are specific to that role and are
carried out by the agent without interacting with other agents
4. Protocols define the way in which the role interacts with other roles
AGENT DESIGN
METHODOLOGIES (6)
Agent UML
• AUML is a set of UML idioms and
extensions that can be used to model
multi-agent systems
• AUML
adopts
a
three
layer
representation:
1) Agent interaction protocols
2) Interaction among agents
3) Internal agent processing
AGENT DESIGN
METHODOLOGIES (7)
Agent UML
• The agent interaction protocols that provide reusable
solutions are found in the first layer of AUML
• The two UML techniques used to express protocol
solutions that can be reused are packages and
templates where the modelling elements are
conceptually grouped and aggregated in accordance
with its purpose. The AUML protocol solutions can be
reused in various situations and allow various kinds os
message sequencing between agents
AGENT DESIGN
METHODOLOGIES (8)
Agent UML
• The interaction diagrams are used in the second AUML
layer to capture the structural patterns of agents’
interactions. They are the following:
1) The sequence diagramm represents the chronological
sequence of the processes that need to be carried out
within the multi-agent system
2) The
collaboration
diagramm
represents
the
associations between different agents during these
processes
3) The flow of processing in the agent community is
captured by activity diagramms and state charts
AGENT DESIGN
METHODOLOGIES (9)
Agent UML
• The interaction diagrams are also used in
the third AUML layer to specify the detailed
processing that takes place within an
agent.
• Sequence
diagramms,
collaborative
diagramms, state charts and activity
diagramms can all be used to specify the
internal processing of agents
AGENT DESIGN
METHODOLOGIES (10)
Agents in Z
• In agents in Z methodology, the standard
properties of Z specification language and
the four-tiered hierarchy approach that
comprises entities, objects, agents and
autonomous agents, is used to specify the
computational models
AGENT DESIGN
METHODOLOGIES (11)
Agents in Z
• Entities are viewed as being distinct from
the reminder of the environment. They can
organize perception and serve as a useful
abstraction mechanism. The various
attributes are grouped together through
entities without the need to add a layer of
functionality on top
AGENT DESIGN
METHODOLOGIES (12)
Agents in Z
• An object has abilities and attributes
but has no further defining characteristics
• An agent is an object associated with a set of
goals. Different instatiations of the agent,
together with agents created in response to
another agent, may result from one object
• Autonomous agents are agents that can
generate their own goals from motivation
AGENT DESIGN
METHODOLOGIES (13)
Agents in Z
• An entity is identified if the attributes are
grouped without capabilities
• If an entity is characterized by attributes and
abilities but there are no goals, then it is an
object
• If an object has goals but no motivation , then it
is an agent
• If an agent is under motivation, then it is an
autonomous agent
AGENT DESIGN
METHODOLOGIES (14)
Agents in Z
• The implementation of the system reflects this
structural framework and is inspired by objectoriented method in C++
• The container data structure contains entities of
the simulation environment
• Objects and agents are uniformly situated within
this environment and are linked together in the
container class
AGENT DESIGN
METHODOLOGIES (15)
Agents in Z
• The user specifies the number of iterations within the simulation run
• The granularity of the iterations determines the simulation time
• Each object or agent, together with internal level of motivation, is
updated on each iteration
• An individual world view for each agent is obtained through the
perception functions
• The initial conditions are checked and active behaviours performed
• The agent itself is responsible for the maintenance of its current
state and configuration
AGENT DESIGN
METHODOLOGIES (16)
DESIRE
• It is the framework for Design and Specification
of Interacting components which was originally
designed for formal specification of complex
reasoning systems and was extended to enable
formal specification of multi-agent systems
• The specific feature of DESIRE is that it
specifies the dynamics of reasoning and acting
behaviour
AGENT DESIGN
METHODOLOGIES (17)
DESIRE
• Complex reasoning systems are designed as
hierarchically structured components
• These components can be:
1) Reasoning components
2) Subsystems capable of performing calculation,
information retrieval and optimization tasks
• The components interact with each other, with the
external world, and with the user. These task based
interactions are formally specified
• The formal semantics are defined using temporal logic
AGENT DESIGN
METHODOLOGIES (18)
DESIRE
• DESIRE extension is the formal specification framework
for definition of multi-agent systems
The extended framework enables:
1.
2.
Formal specification of both static and dynamic aspects of the
interactions within the system behaviour
Definition of the semantics of task performance
•
DESIRE extension allows:
1.
2.
3.
Parallel activation of agents
Directly control their communication
Different agent states - active or idle and awake (capable of
processing incoming information as it arrives) or asleep
Duplication of tasks accross agents
4.
AGENT DESIGN
METHODOLOGIES (19)
Cassiopeia
• The method focuses on the collective behaviour within a
set of agents. It provides a methodological framework
for better understanding of a computational organization
and supports agents’design
• A multi-agent system is characterized by three levels of
agent behaviours:
1) Elementary behaviours
2) Relational behaviours
3) Organizational behaviours
AGENT DESIGN
METHODOLOGIES (20)
Cassiopeia
• Elementary behaviours are required for
the achievement of the collective tasks
needs listed
• A functional or object-oriented analysis
steps are used to identify these
behaviours
• Based on the elementary behaviours
different agents are defined
AGENT DESIGN
METHODOLOGIES (21)
Cassiopeia
•
•
•
•
•
Dependences between the elementary behaviours determine the
coupling graph underlying the collective task
The coupling graph is projected onto the different types of agents
(the inconsistent dependences are removed)
The dependences between the different types of agents are called
influences, and the refined projected graph is called the influence
graph
The designer needs to specify the relational behaviours that
enable the agents to identify and handle the influences
The paths and the elementary circuits of the influence graph
determine the global representation of the organization structure
AGENT DESIGN
METHODOLOGIES (22)
Cassiopeia
• The organizational behaviours adresses the dynamics of
organization
• The organizational behaviours that will enable the agents
to manage the formation, durability and dissolution of
groups are specified
• When the agent needs to form a group, it produces the
relevant influence signs
• This trigger agent needs to evaluate all potential groups
in order to deside which one is the most appropriate in
the currrent context
AGENT DESIGN
METHODOLOGIES (23)
Cassiopeia
• The designer should:
1) Identify the trigger agents (for this purpose the grouping
potentialities identified in the influence graph are used)
2) For each of the identified trigger agents, determine the
selection methods to introduce control over the
formation of groups. The techniques (such as task
announcement, agent consensus and negotiation,
agent priorities, use of supervisor or a hierarchy etc.)
define the group formation behaviours which are the
first type of the organizational behaviour
AGENT DESIGN
METHODOLOGIES (24)
Cassiopeia
The designer should:
3) Specify the commitment signs which are produced by the trigger
agents to inform other agents that a group has be formed to meet
their need. These signs enable agents that are not members of the
formed groups to control their relational behaviours. The joining
behaviours, which are the second type of organizational behaviour,
are defined for each type of agent
4) Revise an already-formed group if it must be replaced with more
efficient group. For each type of agent the designer needs to define
the group dissolution behaviour which is the third type of
organizational behaviour
AGENT DESIGN
METHODOLOGIES (25)
Multi-Agent system Engineering (MaSE)
• MaSE is a methodology for developing heterogeneous
multi-agent systems
• In the MaSE process, system goals, behaviours, agent
types and agent communication interfaces, and internal
agent structure, are defined through graphically-based
models
• The set of these abstract models is transformed into
more concrete representations that specify and describe
the system in greater detail
AGENT DESIGN
METHODOLOGIES (26)
Multi-Agent system Engineering (MaSE)
• MaSE consists of two phases:
1. Analysis phase which consists of three steps: Capturing
Goals, Applying Use Cases and Sequencial Diagrams,
and Refining Roles
2. Design phase, during which the roles and tasks defined
at the Analysis phase are transformed into agent types
and conversations, has four steps: Creating Agent
Classes, Constructing Conversations, Assembling
Agent Classes, and System Design
AGENT DESIGN
METHODOLOGIES (27)
Multi-Agent system Engineering (MaSE)
• MaSE Analysis phase:
1)
2)
3)
Capturing goals is concerned with abstracting the functional
requirements of the system into a set of system goals
Use Cases and Sequential Diagrams are used to validate the
system goals, identify an initial set of roles (seen as entity
responsible for achieving specific system sub-goals) and
communications paths
In Refining Roles step, goals are transformed into a set of roles.
Role Model that captures roles and their associated tasks, and/or
Concurrent Task Model that defines role behaviour for each task,
are created
AGENT DESIGN
METHODOLOGIES (28)
Multi-Agent system Engineering (MaSE)
• MaSE Design phase
1)
2)
3)
4)
In the Creating Agent Classes step, the designer assigns roles to
the specific agent classes and identifies required conversations
In the Constructing Conversation step the actual conversations
between agent classes are defined. For each communication path,
the messages and states are extracted and added
In the Assembling Agent Classes step the internal architecture and
reasoning processes of the agent classes are designed.
Components and connectors are used to define the architecture of
each agent
In the System Design step, the final system structure including the
actual number and location of agents in the system is defined
using Deployment Diagrams
AGENT DESIGN
METHODOLOGIES (29)
TROPOS
• The TROPOS methodology has five main
development phases:
1. Early Requirements
2. Late Requirements
3. Architectural Design
4. Detailed Design
5. Implementation
AGENT DESIGN
METHODOLOGIES (30)
TROPOS
• Early Requirements analysis identifies and analyses the
actors (they depend on one another for goals, plans and
resources) and their goals. A goal-oriented analysis is
used to decompose the overall goal into finer sub-goals
• Late Requirements analysis examines the functions and
qualities
of
the
proposed
subsystems.
The
interdependences between subsystems determine the
system’s functional and non-functional requirements
AGENT DESIGN
METHODOLOGIES (31)
TROPOS
• In the Detailed Design phase the agents are specified at
the micro level. The focus is on agent’s goals, beliefs,
capabilities and communication. Development platforms
and features of agent progarmming language determine
the practical implementation of these specifications
• In the Implementation phase is used JACK Intelligent
Agents (an agent-oriented development environment
that is built on top and is fully integrated with Java) to
design agents as autonomous software components
capable to achieve their goals. The agents in JACK are
usually programmed with a set of plans
AGENT DESIGN
METHODOLOGIES (32)
Prometheus
• The Prometheus methodology consists of
three phases:
1) System specification phase
2) Architectural design phase
3) Detailed design phase
AGENT DESIGN
METHODOLOGIES (33)
Prometheus
• During the System Specification phase the basic
functionalities of the system are identified. The
resulting functionality descriptor contains a
name, a short natural language description, a list
of actions, a list of relevant perceptions, data
used and produced (inputs and outputs), and a
brief description of interactions with other
functionalities
AGENT DESIGN
METHODOLOGIES (34)
Prometheus
• During the Architectural Design phase the defined
functionalities are used to determine necessary agents
and their interactions. The traditional software
engineering criteria of coherence and coupling are used
to evaluate assigments of functionalities of agents.The
design of agents with strong coherence and loose
coupling is recomended
• During the Detailed Design phase the internal structure
of each agent is explored in great detail.The designer
focuses specifically on an agent’s abilities to accomplish
its individual tasks and the integration of these tasks with
others into an overall task
Download