Title: Extending UML for Modeling and Design of MultiAgent Systems
1Extending UML for Modeling and Design of
Multi-Agent Systems
- Krishna Kavi University of North Texas
- David Kung University of Texas at Arlington
- Hitesh Bhambhani University of Texas at
Arlington - Gaurav Pancholi University of Texas at
Arlington - Marie Kanikarla University of Texas at Arlington
2Presentation Topics
- Introduction
- Agent Versus Object
- BDI Formalism
- UML for MAS
- New Modeling Constructs
- New Diagrams
- Example Application
- Related Work
- Conclusions and Future Work
3Introduction
- Agents are being used in an increasingly wide
variety of applications from simple e-mail filter
programs, to complex mission control and safety
critical systems. - In this paper we propose a framework and
extensions to UML to support MAS development. - The main motivation for developing the framework
is to provide a MAS modeling language to help
application engineers to focus their effort on
agent-oriented modeling rather than having to
define and construct an agent model from the
scratch.
4 Agent Versus Objects
- Agent-oriented programming is the next evolution
of OO programming. - Objects are passive components whereas agents are
autonomous. - Objects are reactive whereas agents are proactive
and situation-aware. - Beliefs are similar to attributes
- Plans are similar to methods
- Goals have no object oriented equivalent
5 BDI Formalism
- The BDI architecture associates with agents,
beliefs, desires or goals to achieve , and
intentions or plans to act upon to achieve its
desires. - In formal terms, one can utilize logic to
describe these components and reason about MAS - In practical terms, beliefs can be viewed as the
state of the world. Desires may be associated
with a value so that they can be prioritized.
Intentions reflect the actions that must be
exercised to achieve the goal values.
6Conceptual Model
Environment
Beliefs
Beliefs
FIPA
Goals
Plans
Plans
Goals
KQML
Environment
Blackboard
Plans
Beliefs
Goals
7Extending UML for MAS
- UML is excellent for object-oriented
(OO)systems, But it lacks the capability to model
and specify multi-agent systems. - So extending UML such that agent system
developers have a "common" language for
visualizing, specifying, constructing and
documenting the artifacts of an agent based
system. - The modeling constructs that are introduced are
Agent, Belief, Goal, Plan, FIPA Performative,
KQML Performative, and Blackboard.
8Extending UML for MAS (contd..)
- Agent is the basic modeling construct
- Application specific BDI agent types are
implicitly defined as subclasses of Agent and
hence, they inherit the model-defined structural
and behavioral features and relationships. - The framework here enforces the BDI model and
also provides the flexibility for re-using an
existing design and implementation.
9New Modeling Constructs
- Agent
- Situated performs actions according to input
received from its environment and these action
might change the environment. - Autonomous - operates without the direct
intervention of humans or other agents. - Reactive - must take timely actions in response
to changes in the environment. - Proactive - not only react, but also exhibit
goal-oriented behavior
10New Modeling Constructs (contd..)
- Belief
- Beliefs are the agents observations and/or
sensing of the environment. Or, it is the
description of the state of the world (state as
viewed by an agent) - Every belief has a list of goals that may be
affected by the changes to the belief, and is
updated by the sensors or other agents. - When a belief instance is changed , the affected
Goal instances are informed.
11New Modeling Constructs (contd..)
- Goal
- Goals specify the states of the world that are
desirable - Every goal is associated with a utility
value,which indicates how achievable the goal is,
and how valuable the goal is to the overall
system. ( i.e. goals can be prioritized.) - Changes to the goals utility values result in
pre-empting some plans and initiating new plans. - Goals can be proactive or reactive. Proactive
goals reflect the desires of an agent, and
Reactive goals reflect how an agent can be
situated in an environment.
12New Modeling Constructs (contd..)
- Plan
- Plans are sequences of actions generated by the
agent to change the state of its environment. - Plans can be implemented by the command pattern.
The generic command class may implement the
thread and the command subclass each implements
an action of the agent. - Execution of plans affects the environment which
in turn changes the beliefs.
13New Modeling Constructs (contd..)
- Blackboard
- Black board is shared communication mechanism.
- This is a concrete class, to permit the use of
shared blackboards. Agent can define polymorphic
methods for reading, reading and removing,
writing, appending to the blackboard. - FIPA- ACL / KQML
- These are Communication Languages. The beliefs
which may be shared and modified by other agents
is achieved by these Languages.
14New Diagrams
- Agent Goal Diagram(AGD)
- AGD can also illustrate roles of an agent
- Depicts the goals of an agent and their
relationships to the environment - Use Case Goal Diagram (UCGD)
- UCCD combines existing UCD and UGD
- Shows relationships between use cases and goals
- Provides a high level guidance to Agent Sequence
Diagram(ASD) - Agent Domain Model (ADM)
- Conventional System Domain Model is extended to
include Agents
15New Diagrams(contd..)
- Represents domain knowledge internal to an agent
- Agent Sequence Diagram(ASD)
- Depicts interactions among the beliefs, goals,
plans and other objects of an agent - Agent Design Diagram(ADD)
- Introduced to document the design of an agent
- Facilitates reuse of an agents design
- Agent Activity Diagram(AAD) and Agent state-chart
Diagram(ASCD) - Introduced to model the internal activity and
info flows
16Example Application
- Intelligent Elevator System(IES)
- In addition to common features, IES must optimize
the service and minimize the total movements of
all cars - Optimized service can be accomplished by
minimizing the response time to requests - Distributed decision making among the elevator
agents - Follow the Unified Process to design the system
17Example Application (contd..)
- Step 1 Identify use cases and goals from
requirements - Use Cases
- Go to floor
- Request Elevator
- Open Door
- Close Door
- Goals
- Minimize Response Time
- Minimize Movement
- Step 2 Refine use case and goal diagrams
- New use cases added and existing ones revisited
18Example Application (contd..)
- Step 3 Refine system domain model and agent
domain models - System domain model constructed or refined
- For elevator example, it consists of objects
representing various parts of an elevator - Agent domain model captures application dependant
beliefs, goals and plans - Step 4 Specify system and agent sequence
diagrams - Each use case has a system level sequence diagram
- Agent sequence diagrams to show the intrinsic
interactions within an agent
19Use Case Goal Diagram
Elevator System
? Elevator Car Agent
Elevator Subsystem
Goto Floor
Minimize Turn Around Time
Passenger
Request Elev
Minimize Movement
Open Door
Close Door
20Agent Domain Model
Request
1..
Requests
ElevCarState
floorNo
ElevatorCarAgent
direction
status
floorNo
direction
Create (g Goals, b Beliefs)
affects
SelectGoal () Goal
load
Has-plan
Has-plan
ServeRequest
ServeRequest
Minimize
MinimizeTurn
Plan2
Plan1
Movement
AroundTime
type reactive
execute()
execute()
typereactive
del
egate to
delegate to
ltltThreadgtgt
ltltThreadgtgt
ServReq
ServReq
Plan2Cmd
Plan1Cmd
execute( )
execute( )
21Agent Sequence Diagram
ElevatorCarAgent
MinimizeTurnaroundTime
Minimize Movement
rRequests
xread()
update(x)
beliefChanged(self)
beliefChanged(self)
asynchronous
sgetElevCarState()
sgetElevCarState()
eval ()
eval ()
goalEvaluated(self)
goalEvaluated(self)
vgetUtilValue()
ugetUtilValue()
ugtv pursue()
out(x)
vgtu pursue()
create(r,s)
create(r,s)
execute()
exclusive-or
execute()
22Related Work
23Conclusions and Future Work
- A framework and the necessary extensions to UML
to address model and design of MAS - Agents are peers in decision making process
- Our approach allows flexibility of using FIPA,
KQML or any other agent communication language - Various diagrams are introduced
- Framework utilizes interfaces and abstract
classes to provide flexibility in implementation - In process to complete the implementation of the
IES
24Conclusions and Future work
- Plan to apply framework to modeling and design of
intelligent agents for MavHome smart home project - Design and implementation of a CASE environment