Title: AgentOriented Software Engineering
1Agent-Oriented Software Engineering
- Extension of traditional software Engineering
- - Presenter
- Purnima Devu
2Why AOSE ???
- 1.To cope up with open and dynamic environments.
- 2.To reach the realm of real-world of software
development, leaving artificial intelligence
laboratories.
3 Basis for AOSL
- The possibility to model a software system at the
agent level of abstraction. - Agent-oriented analysis and development is based
on object oriented methodologies enhanced with
some agent-based concepts.
4Multi-agent system
- A multi-agent system is represented through both
internal and external models. - The external models mainly described
- the interactions between agents.
- The internal models is entirely dedicated to
the description of the internal of the different
agents in term of their beliefs, desires and
intentions.
5Definition of software Agent
- An agent is a software system that is
- 1. situated in some environment,
- 2. capable of autonomous actions in
- order to meet its objectives and
- 3. capable of communicating with
- other agents.
6 Important characteristics of an agent
- 1.The ability to act in complete autonomy
- 2.Social ability, the possibility that agents
have to communicate with other agents.
7Agent Versus Object
81st Difference
- Agents interact with the environment to get the
essential information to work
- Objects are not intended to interact with the
environment.
92nd Difference
- An agent is explicitly associated with a goal.
- An object is NOT explicitly associated with a
goal.
10Necessity of Autonomy
- To deal with dynamic environments to allow
software systems adapting to unpredictable
situations. - To cope up with all possible courses of events
that may occur in the Web. - To achieve Inter-operability.
- To avoid waiting for developers to evolve new
products to face WWW.
11ACL
- ACL - Agent Communication Language - is a
language for the communication between agents. - ACL is very close to KQML (Knowledge Query
Manipulation Language), which is - probably, the most known agent communication
language.
12ACL Message
- Structured in two parts
- 1) Communication and 2) Content
- The communication part carries the
identification of the sender and the receiver. - The content part bares the meaning of the
message and it is structured as a performative
and a domain content. - The performative is a domain-independent verb
that specifies the meaning that the sender of the
message wanted to associate with the domain
content.
13ACL Message
- NO prescribed language for expressing domain
- contents.
- Agent learns the language and onotology as it
receives a message. -
- The structure of a ACL message causes overhead
due to redundancy in some cases. - ADVANTAGE- message processing is simpler
- may be easily used for
the interaction - of heterogeneous
agents.
14ACL Message
- Performatives-
- inform
- request
- query,
- used by agents to communicate.
- The domain content of the message is
- a sentence expressed in some language and
following some ontology that actually bares the
meaning of the message.
15Agent-Oriented diagrams
- These diagrams support
- 1.The architecture of the multi-agent system
- 2 The ontology followed by the agents
- 3.The interaction protocols used
- to coordinate agents
16Ontology Diagrams
- allow defining a model of the environment
composed of entities and relations. - used to specify the predicates that agents can
use to communicate.
17Example of ontology diagram for a CD shop
18Architecture diagram of the CD shop example.
19Cassioperia Methodology
- Cassiopeia methodology is based on a bottom up
development process.
20 Methodology Steps
- The methodology proposes three steps.
- 1- identifies the elementary behaviors that are
implied by the overall system task. - 2- identifies the relationships between
elementary behaviors. - 3- identifies the organizational behaviors of
the system representing the way in which agents
form themselves into groups.
21MAS-CommonKADS Methodology
- MAS-CommonKADS methodology adds technologies from
object-oriented methodologies and from protocol
engineering for describing the agent protocols. - starts with a conceptualisation phase
22Models
- agent model -- describing the main
features - of agents
- task model -- describing the tasks
carried out - by agents
- expertise model -- describing the
knowledge - that
agents need to carry - out the
tasks - coordination model -- describing
-
interactions between agents.
23Models
- organization model -- describing the
organization of the agent society, - communication model -- describing the
interaction between humans and agents - design model -- that collects
- the previous
models.
24GAIA Methodology
- The Gaia methodology tries to build a multi agent
system - through a process of organizational design.
- This methodology borrows some terminology and
notation from object-oriented analysis and design
and, in particular, from FUSION. - No one-to-one mapping between roles
- and agents, but often an individual can take
on many roles.
25Objective of GAIA
- Objective -- to capture the system organization
as a collection of roles.
26Definition ROLE
- A role is defined by 4 attributes
- 1. Responsibilities to determine
functionality and are the key - role attributes
- 2. Permissions, are the right associated
with a role. - 3. Activities are computations associated
with a role that an - agent can take without interacting with
other agents - 4. Protocols, define the way that a role
interact with other roles
27Using UML for developing Agent Systems
- This research led to the extension of UML.
- But are not completely accepted because they
are not yet supported by CASE tools. - AOS do not need extensions to the usual UML
diagrams and any off-the-shelf CASE tool can
support it. - .
28Advantage
- Advantage- allow architects use notations
without either - -- the need for agent-enabled CASE
- tools or,
- -- when the CASE tool support UML extensions
the need for extending the CASE tool with new
diagrams
29Agent-Oriented Analysis
- Intended to examine the domain of the problem to
specify what the software system is intended to
do. - Is independent from the technology used to
develop the system - The system itself should be seen as a black box
interacting with its environment.
30Agent-Oriented use case diagram
- Agent is used to ease the implementation of
tools managing such diagrams. - Agents as treated as actors.
31Agent-Oriented Design
- Requires modeling the architecture of the
multi-agent system and the interactions between
agents. - Such elements can be modeled using some UML class
diagrams, - Each role is associated with an agent class.
- we introduce the stereotype agent to tag such
classes because they equals the ones used in
agent-oriented use case diagrams. - Associations between agent classes describe
possible associations between agents playing
different roles.
32Agent-Oriented Design
- stereotype agent is used to tag agent classes
coz, they equal the ones used in agent-oriented
use case diagrams. - Associations between agent classes describe
possible associations between agents playing
different roles
33Agent-Oriented Design
- An agent class can be used to associate a set of
actions with a role. - Actions are represented as public methods of the
class..
34Problems with application-specific interaction
protocols
- A run-time description of a protocol is
insufficient - Explicit help from the developer is needed.
- Result- Agents may not be able to run in open
systems where third-party agents join and leave
the system dynamically.
35Need for Agent-Oriented support
- To enable the development
- of Intelligence business agents
- for adaptive, reusable software.
- Examples of Agent-Oriented programming languages
are - Agent0 and Telescript.
36Agent-Oriented Implementation
- Implemented in Java taking advantage of one of
the available agent platforms. - DEF Agent platforms are run-time environments
that manage the lifecycle of agents and provide
the necessary communication resources means for
sending and receiving messages.
37Agent-Oriented Implementation
- The communications reach either agents within the
same platform or agents on different platforms
transparently to the developer. - This is a fundamental characteristic of agent
platforms as it allows supporting open systems
where agents join and leave dynamically.
38Toolkit for AOSE - ParADE
- A set of development tools supporting the
developer at the agent level and at the object
level. - The agent level allows describing agents in terms
of their characteristics such as beliefs, goals
and social organization. - At this level of abstraction, the developer can
produce UML models to generate code for agents.
39Toolkit -ParADE
- ParADE does not integrate any CASE tool because
the code generator works with XMI files that any
off-the-shelf CASE tool should be able to
produce. - The code generated from agent-level models is
only a skeleton.
40Components of ParADE
- The components of ParADE are
- 1. knowledge base and
- 2.the planning engine.
- These components have access to the ParADE
development library. production of code from UML
models at - These components also help the production of code
from the UML models at the agent level without
taking implementation details into account.
41Conclusions
- Software engineering is founded on the
possibility to model a system at different levels
of abstraction. - Agent-oriented software engineering introduces a
new level, called agent level, to allow the
software architect describing a system in terms
of interacting agents. - At this level of abstraction, an agent is
considered as an atomic entity that communicates
with other agents to - implement the functionality of the system.
42Conclusions
- Agent-oriented use case diagrams are simple
extensions of usual use case diagrams - These allow introducing agents and modeling
their interactions with the user, with the
environment and with the rest of the system. - Architecture diagrams allow modeling the
architecture of the multi-agent system
43Acknowledgements
- This work is partially supported by
- CSELT and by the European Commission through the
contracts IST-1999-12217, CoMMA Corporate
Memory Management through Agents and - IST-1999-10211, LEAP Lightweight Extensible
Agent Platform.
44References
- Agent-oriented Software Construction with UML
- Name Federico Bergenti and
- Agostino Poggi
- Italy
- E-mail bergenti,poggi_at_ce.unipr.it
-
- Most of the information is taken from
- this reference
45Thank You