camle: caste-centric agent-oriented methodology, languages and environment
DESCRIPTION
CAMLE: Caste-Centric Agent-Oriented Methodology, Languages and Environment. Hong Zhu Dept of Computing Oxford Brookes University. Outline. Overview of CAMLE’s research work Meta-model Static aspect Dynamic aspect Languages and environments Requirements analysis and design - PowerPoint PPT PresentationTRANSCRIPT
Nov. 2006
Overview of CAMLE
1
CAMLE: Caste-Centric Agent-Oriented
Methodology, Languages and Environment
Hong Zhu
Dept of Computing
Oxford Brookes University
Nov
. 200
6
2Overview of CAMLE
Outline Overview of CAMLE’s research work Meta-model
Static aspect Dynamic aspect
Languages and environments Requirements analysis and design Formal specification Programming and implementation Testing and maintenance
Emergent behaviours Framework Case study
Work in progress and related works
Nov
. 200
6
3Overview of CAMLE
Methodologist’s Perspective of SE
Meta-model
The model defines the world of computer systems, i.e. the problem space and the solution space.
Languages
The languages to describe problems to be solved and the solutions (the specific systems) at various levels of abstraction.
Processes
The processes that lead engineers from problems to solutions in a repeatable manner.
Heuristics
Knowledge about how to use the languages and the processes in the form of heuristic rules,
success stories and examples of failures.
Tools and Development Environments
Nov
. 200
6
4Overview of CAMLE
Caste-Centric Meta-Model of MAS
Maintenance & Testing Env&Tools
(AquIS, Ontology of ST)
Modelling Tools & Env.
(CAMLE)
Programming Env.
(SLABSp)
Formal Reasoning
(Scenario Calculus)
Modelling, Anal.,Design
(CAMLE)
Formal Specification
(SLABS)
Implementation&Programming
(SLABSp)
Development process model(Growth Model)
Development of Web Services
Meta-Level
Method-Level
Tool-LevelOverview of CAMLE’s Research Activities
Case Studies
Nov
. 200
6
5Overview of CAMLE
OutlineOverview of CAMLE’s research workMeta-model
Static aspectDynamic aspect
Languages and environmentsEmergent behavioursWork in progress and related works
Nov
. 200
6
6Overview of CAMLE
Meta-Models of Information Systems Static aspect: What constitute a system? Dynamic aspect: How does a system work?
Static View Dynamic View
Structured methods
Operations + data stores;Hierarchical structure;
Control flows + Data flows
Object oriented methods
Objects encapsulate attributes & methods;Objects are statically classified by classes;Inheritance + whole-part relationships between classes;
Message passing = Method calls;Dynamic binding;
Problems nicely
represented in a methodology
Problems mapping into
a solution awkwardly
Solutions directly supported by technology & infrastructure
New technology and infrastructure
Nov
. 200
6
7Overview of CAMLE
CAMLE’s Meta-ModelStatic Aspect: Constituent ElementsAgents are active computational entities that situate in their designated environments and contains the following three functional parts
Data: the state of the agent (visible, or internal) Operations: the actions that an agent can take (visible or
internal) Behaviour: the rules the control the agent’s actions and state
changesCastes are modular units in the construction of agent-oriented systems.
Each caste encapsulate a set of interrelated functional parts of data, operations, behaviour rules and the environments.
Nov
. 200
6
8Overview of CAMLE
Relationship Between Agents and CastesIf an agent has a casteship of a caste, it has all the data, operation behaviour and environment features defined by the caste. Dynamic casteship:
An agent can change its casteship relation with a caste at run-time by join a caste or quit from a caste.
Multiple casteship: An agents can have casteship with a number of castes.
Adaptive casteship: An agent’s casetship to a caste has two states: active and inactive The state of a casteship can be changes at runtime by taking actions of
deactivate and activate.
The relationship between agents and castes is similar to the relationship between objects and classes, but there are fundamental differences.
Nov
. 200
6
9Overview of CAMLE
Part-Whole Relationship Between Agents Aggregate:
The part is independent of the whole, but in collaborative to the whole
If the whole is destroyed, the part is not effected
Composite: The part is controlled by the whole When the whole is destroyed, the parts are also destroyed
Congregation: The parts are autonomous, cooperative and rely on the whole
to benefits from the membership. When the whole is destroyed, the part is still alive but will
not benefit as the part, i.e. it will lost certain casteship.
Nov
. 200
6
10Overview of CAMLE
Dynamics AspectsCommunication Mechanism Agents communicate with each other by
Taking visible actions • Visible actions can be observed by other agents in the
system• Visible variables: whose values can be read by other
agents in the systems, but not changed Observing other agents’ actions:
• An agent only selectively observes a subset of other agents in the system. This subset forms the agent’s environment
• Takes corresponding actions defined by its behaviour rules
Nov
. 200
6
11Overview of CAMLE
Agent’s Environment
Intuitively, the elements in the environment of an agent can be ObjectsSoftware agentsOther agents Users
Object is a degenerate form of agent. Environment can be explicitly declared by
specifying the subset of agents in the system
All of them can be regarded as agents!
Nov
. 200
6
12Overview of CAMLE
Designated Environment Explicit specification of environment by declaring
which agent is in its environment All: Caste -- All the agents in the caste Agent: Caste -- A specific agent of the caste Var: Caste -- A variable agent in the caste
An agent can change its environment By joining a caste By quitting a caste By changing the value of environment variables
The environment of an agent can also change beyond the agent’s control Other agents join or quit a caste that is a part of the agent’s
environment Consequently, the environment is not completely open,
not closed, not fixed.
Nov
. 200
6
13Overview of CAMLE
Structure of AgentsAgent name:
It is the identity of the agent.
Environment description: It indicates a set of agents that interact with the agent.
State space: It consists of a collection of variables that defines the state space. Divided into the visible part and the internal state
Actions: They are the atomic actions that the agent can take. Each action has a name and may have parameters. An action can be visible or internal
Behaviour rules. It is the body of the agent that determines its behaviour.
Nov
. 200
6
14Overview of CAMLE
The Body of AgentsBegin
Initialisation of internal state;Loop
Perception of the visible actions and the visible states of the agents in its environment;
Decision on which action to take according to the situation in the environment and its internal state
End of loop;End
This is only a rough illustration of atomic agents’ behaviour.
Nov
. 200
6
15Overview of CAMLE
OutlineCaste-centric meta-model of MAS
Languages Modeling language CAMLESpecification language SLABSProgramming language SLABSp
Emergent behavioursRelated work and work in progress
Nov
. 200
6
16Overview of CAMLE
Modelling Language CAMLE
CAMLE stands for Caste-centric Agent-oriented Modelling Language and Environment. Based on the caste-centric meta-model of multi-agent systems For analysis and design of multi-agent systems Supported by an automated modelling environment
• Model construction
• Model consistency and completeness check
• Generation of formal specifications in SLABS
See (Shan, L and Zhu, H., 2004a, 2004b; Zhu, H. and Shan, L. 2005a, 2005b, etc.) for details.
Nov
. 200
6
17Overview of CAMLE
Overall Structure of CAMLE Models
Caste Model with Whole-Part Relations
Collaboration Models and Behavior models
A CAMLE model consists of • a caste model• collaboration models• behaviour models
Nov
. 200
6
18Overview of CAMLE
Caste Model Caste model
models the organizational structure
Caste diagram Defines the
castes in the system
Specifies their relations
Notation Example
Nov
. 200
6
19Overview of CAMLE
Collaboration Models Collaboration Diagram
Describes the dynamics of a system from communication perspective
The structure of collaboration models
• A hierarchic of collaboration models as refinement of castes
• A collaboration model for each compound caste:a general collaboration diagram + a set of scenarios specific
collaboration diagramsNotation Example
Nov
. 200
6
20Overview of CAMLE
Behaviour Models
Scenario diagramDescribes a typical
situation in the operation of a system from an agent’s view.
used in behaviour diagrams
behaviour diagramdefine behaviour
rules of an agent
Nov
. 200
6
21Overview of CAMLE
CAMLE Modelling Tools and Environment• Model construction tools• Consistency checkers• Transformation of model to formal
specifications• …
Nov
. 200
6
22Overview of CAMLE
Architecture of CAMLE Modelling Tools and Environment
Diagram Editor
Partial Diagram
Generator
Well-formedness
Checker
Users’ Requirements
Graphic Models
Graphic User Interface
Model Manager
Formal Specifications
Specification Generator
Consistency Checker
Controller
Collaboration Model Checker
Caste/Collaboration
Checker
Behaviour/Collaboration
Checker
Caste/Behaviour Checker
Behaviour Model
Checker
General/ Specific Checker
Cross level Checker
Check Result
Nov
. 200
6
23Overview of CAMLE
Formal Specification Language SLABSSLABS stands for Specification Language for
Agent-Based SystemsFirst proposed in 2000 at MAMA 2000;Published in the Journal of Software Engineering
and Knowledge Engineering in 2001;Revised in 2002 and 2003 by introducing dynamic
casteship at AAMAS’03;Currently, further study of adaptive mechanism, to
appear at AOSDM’06 at SEKE’06. It specifies MAS by defining a collection of
castes and agents.
Nov
. 200
6
24Overview of CAMLE
Caste Description in SLABS
Caste C <= C1, …, Ck; (* inheritance relationship*)
ENVIRONMENT E1, …, Ew; (*description of the environment*)
VAR *v1:T1, …, *vm:Tm; (* visible state variables *)
u1:S1, …, ul:Sl; (* invisible state variables *)
ACTION
*A1(p1,1, …, p1,n1), …, *As(ps,1,…, ps,ns); (* visible actions *)
B1(q1,1,…, q1,m1), …, Bt(qt,1,…, qt,mt); (* invisible actions*)
RULES R1, R2, …, Rh (* Behaviour rules *)
End C.
a) agent name: a specific agent b) All: caste-name : all the agents of the castec) variable: caste-name: a variable that ranges over the caste
Nov
. 200
6
25Overview of CAMLE
Specification of Behaviours in SLABSFormat of behaviour rules:Behaviour-rule ::= [<rule-name>] pattern |[ prob]event,
[if Scenario] [where pre-cond];
Pattern Meaning
$ The wild card, which matches with all actions
Silence
X Action variable, which matches an action
Act (a1, ...ak)
An action Act that takes place with parameters match (a1, ...ak)
[p1,..., pn] The previous sequence of events match the patterns p1,
..., pn
Nov
. 200
6
26Overview of CAMLE
Scenario Descriptions in SLABSA scenario is a combination of a set of agents’ behaviours and states that describe a global situation in the operation of the system.
Scenario Meaning
Predicate The state of the agents satisfies the predicate
A=B (or AB) The identifiers A and B refer to the same (or different) agent
AC Agent A is in the caste C
A:P Agent A's behaviour matches pattern P
XC.Sc The scenario Sc[X/A] is true for all agents A in caste C.
[m]XC.Sc There are m agents in caste C such that Sc[X/A] is true, where the default value of the optional expression m is 1.
S1 & S2 Both scenario S1 and scenario S2 are true
S1 S2 Either scenario S1 or S2 or both are true
S Scenario S is not true
{XC | Sc} The set of agents in caste C such that Sc[X/A] is true
XC.Sc The number of agents A in caste C such that Sc[X/A] is true
Nov
. 200
6
27Overview of CAMLE
3/25/2000
Examples of Scenarios
(1) Maze: !n, m{1,..,10}. Bean(n, m)=False.
It describes the situation in the mice-maze system when there is no bean left in the maze.(2) pParties.t2000:[nominate(Bush)] || t2000=(4/2000).
It describes the situation that at least one agent in the class Parties took the action nominate(Bush) at the time of April 2000. (3) ( x Citizen.[vote(Bush)] / x Citizen.[$]) > 1/ 2
It describes the situation that more than half of the agents in the class Citizen took the action of vote(Bush).
Nov
. 200
6
28Overview of CAMLE
Examples of Rules
[!SpareMoney>£2000] Buy(ShareX);
If (X:Broker.[Buy(ShareX)]) (X:Broker.[$])/2
[!SpareMoney£2000 & SpareMoney £500] Save(SpareMoney, BankX, AccoundTypeY);
if BankX: !AccountTypeY_Rate=Z
& W:Banks.[W:!AccountTypeU_RateZ]
[!SpareMoney<£500] Spend(SpareMoney, BarX);
if G:CMS.[Suggest(BarX)].
Nov
. 200
6
29Overview of CAMLE
Programming Language SLABSp Directly implementing MAS in an agent-oriented
programming language is a key step toward a new paradigm
Experiments with the design and implementation of agent-oriented programming languages based on the caste centric meta-model To test the feasibility of the concepts and language facilities
of agent-oriented programming language To test the caste-centric agent-oriented programming style
Extension of Java by introducing Caste, which allows state variables have class as their types.
See (Wang, Shen & Zhu, 2004, 2005a, 2005b) for details.
Nov
. 200
6
30Overview of CAMLE
Discussion Feasibility:
Concepts in the caste-centric meta-model can be implemented as programming language facilities
Conceptual integrity: The whole software development, including requirements
elicitation, analysis and specification, system design and implementation, can be carried out in the same meta-model (in the same conceptual model)
Various agent-oriented concepts can be naturally implemented by caste, scenario, etc.
Evolution of programming style: The programming style is consistent with traditional
paradigms, including structured and OO programming Suitable for web-application development due to the inherent
features of concurrency, autonomous behavior, etc.
Nov
. 200
6
31Overview of CAMLE
OutlineCaste-centric meta-model of MASLanguages
Emergent behavioursThe frameworkFormal specifications of EBProve properties of EBCase Study
Related work and work in progress
Nov
. 200
6
32Overview of CAMLE
Emergent Behaviours of MASThe central topic of complex systemsParticularly interested in agent-based models
a large number of components interacting with each other following a small number
of local rules or laws Oblivious to any higher-level instructions
(Holland, J.H. 1998) Phenomena of system’s macro-behaviours to be regarded as emergent properties must satisfy two conditions: recognisable recurring.
Nov
. 200
6
33Overview of CAMLE
Formal Framework of Specifying/Reasoning EB Formal specification of MAS in SLABS
Caste: large number of agents of certain types Behaviour rule: local interaction rules as responses to
environment scenarios Specification of recognisable phenomena
As scenarios from a system’s view• Logical description of the situation in the execution of a system in
terms of the dynamic behaviours of agents (the sequences of actions) and their states and state changes
Proofs of Recurrence properties of phenomena Recurrence properties
• Reachability, stability, convergence, etc. Proved as properties of scenarios
• Scenario calculus
Nov
. 200
6
34Overview of CAMLE
Example: Ant Colony
AGENT Field;ENVIRONMENT All: Ant;VAR Hormone: NNN; Food: NNN;RULES
[$] | Hormone'(n,m) = Hormone(n,m)-1 , if xAnt:[!position=(n,m)]
[$] | Hormone'(n,m) = Hormone(n,m)+100, if xAnt:[!position=(n,m)]
[$] | Food'(n,m)=Food(n,m)-k, if [k]xAnt:[Take_Food ! position=(n,m)]
END Field.
Formal specification of any colony in SLABS
Nov
. 200
6
35Overview of CAMLE
CASTE Ant;ENVIRONMENT Field, All: Ant;VAR *Position: NN;VAR State: {search, way_back, way_out};ACTION Move(Direction); Take_Food; Save_Food;RULES[Move(u) !State=search] |(0.5) Move(u)!(position' = New(position, u)),
if field: [!Food(position)<e];[Move(u) ! State=search] |(0.5) Move(v)!(position' = New(position, v)),
if field:[!Food(position)<e]; where uv[$] | Take_Food !State = Way_back, if field: [!Food(position)e];[!State = Way_back & position home ] | Move(u),
where u=Min'uDirection field: Hormone(New(position, u));[!State = Way_back & position = home ]
| Save_Food ! State = Way_out; [$] |(0.8) !State = Way_out, if xAnt:[Save_Food][!State = Way_out] | Move(u),
where u=MaxuDirection field:Hormone(New(position, u))END Ant.
Nov
. 200
6
36Overview of CAMLE
Recognisable Phenomena of Ant Colony
There are a large proportion of ants on a path p. XAnt.[X on p] / ||Ant|| > C,
where C>0 is a real number.
The food at position X1 in the field is consumed before the consumption of food at position X2.
[Field.Food(X1)>0 & Field.Food(X2)>0,Field.Food(X1)=0&Field.Food(X2)>0,
Field.Food(X2)=0]
Nov
. 200
6
37Overview of CAMLE
Example: Peer-To-Peer Networks
CASTE Peers;
ENVIRONMENT contact: Peer;
… (* Details of irrelevant issues are omitted *)
RULES
<> | prob contact := Ax;
where prob = (XPeer.[X.contact=Ax]) / || Peer||
… (* Details of irrelevant issues are omitted *)
END peers.
Specification in SLABS (fragment)
Nov
. 200
6
38Overview of CAMLE
Emergent Behaviours of P2P NetworksPower-law of node degree distribution
K=0, 1,2,…, KC-C’APeers.
(XPeers.(X.contact=A)=K) KC+C’,
where C and C’ are constants that depends on the network.
Small-world property
X,YPeers.XiPeers,(i=1,…,6).
(X.contact=X1 & i=1,…,6.(Xi.contact=Xi+1)
& X6.contact=Y).
Nov
. 200
6
39Overview of CAMLE
Scenario Calculus: Overview
Objects Scenario Expressions
Operators Scenario update: S^(A:E)
Relations Scenario inclusion: M |= S1 S2
Scenario transition: M |= S1 S2
Orthogonal relation: M |= S1 S2
Properties Reachability: MSStability: M@SConvergence: M S
Scenario systems
Orthogonal set, Complete setDiamond property, Finiteness property
• A formal theory of the relationships and operations on scenarios• Theorems about the relationships between recurrence properties• Theorems about how to prove these properties
Nov
. 200
6
40Overview of CAMLE
Example: Autonomous SortingThe systems consists of two types of agents
Linker • carries a value• connects to two other agents through channels High and Low.
the High channel only connects to an agent that carries a greater value the Low channel only connects to an agent that carries a less value
Mediator• only introduce agents to each other at random, which triggers
the Linker agents to change their connections.
The emergent behaviourWhen all linkers are connected, the values carried by them are
sorted.
It is a simplified version of the sorting program implemented by the DIET project
Nov
. 200
6
41Overview of CAMLE
Specification of Autonomous SortingCASTE Linker; ENVIRONMENT High, Low: Linker; All: Mediator; VAR Value: INTEGER; BEGIN
<> | Low:= NOBODY; High:= NOBODY; [$] | High:=Ag; IF X Mediator.X:[Introduce(Self, Ag)], WHERE Ag.Value > Self.Value & ((High = NOBODY) (High NOBODY & High.Value > Ag.Value)) [$] | Low:=Ag; IF X Mediator.X:[Introduce(Self, Ag)] WHERE Ag.Value < Self.Value & (Low = NOBODY) ((Low NOBODY)& (Low.Value < Ag.Value)))END Linker;CASTE Mediator;
Action: Introduce (A,B: Linker) BEGIN
[$] | Introduce(A, B); WHERE A Linker & B LinkerEND Mediator.
Nov
. 200
6
42Overview of CAMLE
Emergent Property of Autonomous sorting
Fully-Linked =
!ALinker.(A.High=NOBODY)
& !ALinker.(A.Low=NOBODY)
& ALinker.(A.HighNOBODY
BLinker.(A.High=B & B.Low=A))
& ALinker.(A.LowNOBODY)
BLinker.(A.Low=B & B.High=A)
Assumptions:• K>0 Mediator agents;• N>0 Linker agents.
Nov
. 200
6
43Overview of CAMLE
A Theorem about Emergent Behaviours
Theorem.
A multi-agent system M always converges to a scenario sc , if and only if there is a complete and orthogonal set S of scenarios such that
(1) scS;
(2) M |= init sc, where init S and Mt0|=init;
(3) M has diamond property and finiteness property on S; and
(4) sc is a terminal state in S.
This lemma provides a powerful means to prove the convergence of emergent state. It also helps to understand the behaviour of multi-agent systems.
Nov
. 200
6
44Overview of CAMLE
Proof of the Convergence PropertyDefinition E1.
A set of scenarios HL is defined as follows. Ai-H-LinkedTo-Aj = (Ai.High=Aj), i, j=1,2,..., n.
Ai-H-NotLinked = Ai.High=NOBODY, i=1,2,..., n.
Lemma E1. The set of scenario is complete and orthogonal.
Lemma E2. For all i, j and k, i< j < k, and i, j, k=1,2,…, n, we have that
Ai-H-LinksTo-Ak Ai-H-LinksTo-Aj, and Ai-H-NotLinked Ai-H-LinksTo-Aj.
Theorem E1.
Linker agent Ai will always eventually reach the state in scenario Ai-H-LinkedTo-Ai+1.
i+1 n n1 …
Assumption: For all linker agents Ai.Value<Ai+1.Value, i=1, …, N-1.
Nov
. 200
6
45Overview of CAMLE
Definition E2.
Define a set LL of scenarios as follows. Ai-L-LinkedTo-Aj = (Ai.Lower=Aj), i, j=1, 2, …, N-1.
Ai-L-NotLinked = Ai.Lower=NOBODY, i=1, 2, …, N-1.
Lemma E3. The set of scenarios is complete and orthogonal.
Lemma E4. For all i>j>k =1,2,…, n, we have that
Ai-L-LinksTo-Ak Ai-L-LinksTo-Aj and
Ai-L-NotLinked Ai-H-LinksTo-Aj.
Theorem E2.
The Linker agent Ai will always reach the scenario Ai-L-LinkedTo-Ai-1.
Corollary
(a) The autonomous sorting system will always reach the scenario that
i(1,…,n-1). Ai-H-LinkedTo-Ai+1 & An-H-NotLinked
& i(2,…,n). Ai-L-LinkedTo-Ai-1 & A1-L-NotLinked
Fully-Linked
(b) The state is also stable.
Nov
. 200
6
46Overview of CAMLE
Case Study: Agent Community FormationAgent Community formation problem: Agent communities re-configures themselves to achieve
optimised efficiency through members’ autonomous behaviour in moving from one
community to another without global information
Agents follow various kinds of behaviour rules CAKM: moving to a community that collectively has more knowledge of
the interested category. CASM: moving to a community that has more agents of the interested
category PARM: moving to a community that it knows a member that has more
knowledge of the interested category than itself PAEM: moving to a community that it knows a member that has more
attractive strength than itself Hybrid: The system contains a variety of above types of agents
Nov
. 200
6
47Overview of CAMLE
Outcomes of the Case StudyModels of various types of agent communities
in CAMLEFormal specification of agent community MAS
in SLABSIdentification of emergent behaviour and formal
specification using scenariosInteresting recurrence properties of the scenarios
proved using scenario calculusResults conforms to simulation results done at
BT Ipswich.
Nov
. 200
6
48Overview of CAMLE
Desirable Emergent BehavioursMaturity:
The state of a world of organised communities is mature, if for every non-trivial category C of knowledge, there is a complete community with respect to C. Formally,
Mature CCategory.(D*(C)GOrganiser.(CompleteC(G)))
Optimal:
The state of a world of organised communities is optimal, if every member is in a complete community of its category.
Optimal uMember.(uPG(C)CompleteG(C)),
where G = u.Organiser and C = u.Category.
Nov
. 200
6
49Overview of CAMLE
1
1
1
*
*
1
Basic Model of Agent Communities
Nov
. 200
6
50Overview of CAMLE
Properties of the Emergent Behaviours
Variant CAKM CASM PARM PAEM Hybrid
Maturity
Reachability Yes Yes No No No
Stability Yes Yes No No No
Convergence Yes Yes No No No
Optimality
Reachability Yes Yes No No No
Stability Yes Yes Yes Yes Yes
Convergence Yes Yes No No No
Nov
. 200
6
51Overview of CAMLE
Work in Progress and Future Works Programming languages
Design a virtual machine that implement a caste-centric agent-oriented programming language that directly supports Web applications
Modelling tools Translate CAMLE models into XML representation of Web
Services, i.e. generate WSDL of WS, etc. Extension of WS standard representations for SLABS
specifications Translation of CAMLE model into a programming language
Formal specification language and tool Design and implement an interactive reason tool based on
Scenario Calculus Case study with reasoning about emergent multi-agent
algorithms, such as P2P protocols
Nov
. 200
6
52Overview of CAMLE
Related Works Agent-oriented Software Engineering
Gaia (Zambonelli, Jennings, and Wooldridge, 2003 )• Based on organization-oriented abstraction in which software systems are
conceived as organized society and agents are seen as role players. The implementation is towards object-oriented. No languages at all.
Tropos (Bresciani, Giorgini, Giunchiglia, Mylopoulos and Perini, 2004)• Uses of notions related to mental states like belief, intention, plan, goals,
etc., to represent the abstraction of agent’s state and capability. • The implementation is based on AI technology.
i* (Yu, E. et al.)• Focus on requirements analysis using agent concepts. • Notation for requirements specification.
AUML (Bauer, Muller, and Odell, 2001)• Extension of UML notation with notation to represent agents and agent
classes. • In lack of a well-defined semantics and meta-model. Currently, it only has a
static meta-model. Agent Technology
Two main types of works, both dramatically different from OO paradigm. • Mental state based models and tools, such as BDI approach • Game theory based approach.