+ All Categories
Home > Documents > CAMLE: Caste-Centric Agent-Oriented Methodology, Languages and Environment

CAMLE: Caste-Centric Agent-Oriented Methodology, Languages and Environment

Date post: 14-Jan-2016
Category:
Upload: rania
View: 35 times
Download: 0 times
Share this document with a friend
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 Presentation
Popular Tags:
52
Nov. 2006 Overview of CAMLE 1 CAMLE: Caste-Centric Agent- Oriented Methodology, Languages and Environment Hong Zhu Dept of Computing Oxford Brookes University
Transcript
Page 1: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

Nov. 2006

Overview of CAMLE

1

CAMLE: Caste-Centric Agent-Oriented

Methodology, Languages and Environment

Hong Zhu

Dept of Computing

Oxford Brookes University

Page 2: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 3: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 4: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 5: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 6: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 7: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 8: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 9: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 10: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 11: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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!

Page 12: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 13: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 14: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 15: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 16: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 17: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 18: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 19: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 20: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 21: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

Nov

. 200

6

21Overview of CAMLE

CAMLE Modelling Tools and Environment• Model construction tools• Consistency checkers• Transformation of model to formal

specifications• …

Page 22: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 23: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 24: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 25: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 26: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 27: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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).

Page 28: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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)].

Page 29: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 30: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 31: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 32: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 33: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 34: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 35: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 36: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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]

Page 37: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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)

Page 38: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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).

Page 39: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 40: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 41: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 42: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 43: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 44: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 45: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 46: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 47: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 48: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.

Page 49: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

Nov

. 200

6

49Overview of CAMLE

1

1

1

*

*

1

Basic Model of Agent Communities

Page 50: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 51: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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

Page 52: CAMLE:  Caste-Centric  Agent-Oriented Methodology, Languages and Environment

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.


Recommended