AgentOriented Software Engineering - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

AgentOriented Software Engineering

Description:

The content part bares the meaning of the message and it is structured as a ... and following some ontology that actually bares the meaning of the message. ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 46
Provided by: scie250
Category:

less

Transcript and Presenter's Notes

Title: AgentOriented Software Engineering


1
Agent-Oriented Software Engineering
  • Extension of traditional software Engineering
  • - Presenter
  • Purnima Devu

2
Why 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.

4
Multi-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.

5
Definition 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.

7
Agent Versus Object

8
1st Difference
  • Agents interact with the environment to get the
    essential information to work
  • Objects are not intended to interact with the
    environment.

9
2nd Difference
  • An agent is explicitly associated with a goal.
  • An object is NOT explicitly associated with a
    goal.

10
Necessity 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.

11
ACL
  • 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.

12
ACL 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.

13
ACL 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.

14
ACL 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.

15
Agent-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

16
Ontology Diagrams
  • allow defining a model of the environment
    composed of entities and relations.
  • used to specify the predicates that agents can
    use to communicate.

17
Example of ontology diagram for a CD shop
18
Architecture diagram of the CD shop example.
19
Cassioperia 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.

21
MAS-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

22
Models
  • 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.

23
Models
  • 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.

24
GAIA 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.

25
Objective of GAIA
  • Objective -- to capture the system organization
    as a collection of roles.

26
Definition 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

27
Using 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.
  • .

28
Advantage
  • 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

29
Agent-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.

30
Agent-Oriented use case diagram
  • Agent is used to ease the implementation of
    tools managing such diagrams.
  • Agents as treated as actors.

31
Agent-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.

32
Agent-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

33
Agent-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..

34
Problems 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.

35
Need 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.

36
Agent-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.

37
Agent-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.

38
Toolkit 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.

39
Toolkit -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.

40
Components 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.

41
Conclusions
  • 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.

42
Conclusions
  • 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

43
Acknowledgements
  • 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.

44
References
  • 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

45
Thank You
Write a Comment
User Comments (0)
About PowerShow.com