260 likes | 412 Views
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours. P.Kefalas. Dept. of Computer Science 13 Tsimiski Str. 546 24 Thessaloniki Greece kefalas@city.academic.gr. TOPICS OF PRESENTATION. Introduction to Formal Modelling. Motivation. Modelling Component X-Machines.
E N D
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str. 546 24 Thessaloniki Greece kefalas@city.academic.gr
TOPICS OF PRESENTATION • Introduction to Formal Modelling • Motivation • Modelling Component X-Machines • Building a Communicating X-Machine System • Evaluation • Conclusion P.Kefalas, CITY Liberal Studies
FORMAL MODELLING • Agents, as highly dynamic systems, are concerned with: • a set of appropriate environmental stimuli or inputs, • (ii) a set of internal states of the agent, and • (iii) a set of rules that relate the two above and determines what the agent state will change to if a particular stimulus arrives while the agent is in a particular state. P.Kefalas, CITY Liberal Studies
Agent Oriented Software Engineering Although Agent-Oriented SoftwareEngineering aims to manage the inherent complexity of software systems, there is still no evidence to suggest that any methodology proposed so far leads towards correct systems. • It is argued that Formal Methods can (to some extend) solve • the problem, under the following conditions: • they can deal successfully with complexity of single or multi agent systems, and • they are practical. P.Kefalas, CITY Liberal Studies
Formal Methods • Z • VDM • Finite State Machines • Petri Nets Modelling of data types Modelling of control P.Kefalas, CITY Liberal Studies
The Challenge is to develop agent models and implementationsthat are correct Criteria for correctness: • the initial agent model should match with the requirements MODELLING • the agent model should satisfy any necessary properties in order to meet its design objectives VERIFICATION • the implementation should pass all tests constructed using a complete functional test generation method. TESTING P.Kefalas, CITY Liberal Studies
FORMAL MODELLING OF AGENTS In order to be useful to modelling of intelligent agents a formal method should be able: • to model both the data and the changes of an agent, • to model separately the behaviours of an agent and the ways the behaviours interact with each other, • to be intuitive, practical and effective towards implementation of an agent, and • to facilitate development of correct agents. P.Kefalas, CITY Liberal Studies
A FSM-like model seems to capture most of the requirements … but no data, no separate behaviours P.Kefalas, CITY Liberal Studies
X-MACHINES X-Machines is: • A General Computational Machine • Based on Finite State Machines, but also: • it has a MEMORY structure • its transitions are labeled with FUNCTIONS Therefore: X-Machines is a formal method which employs a diagrammatic approach to modelling and is capable of modelling both DATA and CONTROL of a system. P.Kefalas, CITY Liberal Studies
M=(m1, m2, …, mn) γ σ φ1 S4 S1 φ3 φ5 φ4 φ2 S3 S2 φ4 φ2 Diagrammatical Notation X-Machine P.Kefalas, CITY Liberal Studies
COMMUNICATING X-MACHINES X-Machines can also communicate with each other: • Functions can read an input froma communication input stream, i.e. a “message” sent by the annotated model name • Functions can writes a “message” to the communication input stream of machine with the annotated model name. The “message” is sent after all the output parameters are instantiated. Therefore: X-Machines is a formal method can be used to separatelymodel behaviours of an agent system that communicate. P.Kefalas, CITY Liberal Studies
M=(m1, m2, …, mn) γ σ φ1 S1 S2 φ2 S3 S4 Diagrammatical Notation Communicating X-Machine Channel for receiving message from xm-1 Channel for sending message to xm-2 xm-1 xm-2 P.Kefalas, CITY Liberal Studies
Formal Definition X-Machines is a 8-tuple M = (Σ, Γ, Q, M, Φ, F, q0, m0) • Σ, Γ is the input and output finite alphabet respectively • Q is the finite set of states • M is the (possibly) infinite set called memory • Φ is the type of the machine M, a finite set of partial functions φ that map an input and a memory state to an output and a new memory state, φ: Σ M Γ M • F is the next state partial function that given a state and a function from the type Φ, denotes the next state. F is often described as a transition state diagram, F:QΦQ • q0, m0 are the initial state and memory respectively. P.Kefalas, CITY Liberal Studies
A reactive agent that collects objects, records any objects found on its way and sets up its goal according to the list of objects found. Example: P.Kefalas, CITY Liberal Studies
Formal Definition Σ = ({space, base}OBSTACLEOBJECT)COORDCOORD Γ={"moving freely", "moving to base", "dropping food", ...}. Q={At Base, Searching, At Obstacle, Going Back, Directed to Object} M = (OBJECT{none}) (COORD COORD) seq (COORD COORD) m0 = (none, (0,0), nil) q0 = "At Base" … lift_object( (obj,x,y),(none,(x,y),objectlist) ) ("lifting object",(obj,(x,y),<(x,y) :: objectlist>)), if objOBJECT find_object( (obj,x,y),(item,(x,y),objectlist) ) ("record object position",(item,(x,y),<(x,y) :: objectlist>)), if itemnone objOBJECT (x,y) objectlist … P.Kefalas, CITY Liberal Studies
Agents as an aggregation of behaviours Methodology: • identification of the individual behaviours, • modeling of individual behaviours, • aggregation of behaviours in order to construct the whole agent model P.Kefalas, CITY Liberal Studies
Multi-Agent System Agent type 2 Behaviour 1 Communication Communication Behaviour 4 The methodology is useful for building multi-agent systems in which agents have common behaviours Agent type 1 Behaviour 1 Behaviour 2 Communication Behaviour 3 Behaviour 4 P.Kefalas, CITY Liberal Studies
The same reactive agent as before but with a set of distinct behaviours Example: Step 1: Identifying individual behaviours: (a) searching for an object, (b) moving directly to an object, (c) lifting and dropping objects, (d) avoiding obstacles (e) traveling back to the base, (f) building a map of the environment P.Kefalas, CITY Liberal Studies
Step 2: Modelling individual behaviours: moving directly to an object building map of the environment P.Kefalas, CITY Liberal Studies
Step 3 (a): Communication of individual behaviours: moving directly to an object building map of the environment P.Kefalas, CITY Liberal Studies
Step 3 (b): Aggregation of behaviours: P.Kefalas, CITY Liberal Studies
DISCUSSION AND EVALUATION • X-Machines is a FORMAL METHOD but also it • INTUITIVE and EXPRESSIVE as well as • PRACTICAL XMDL (X-Machine Description Language) is a declarative mark-up language, which permits the designer to write ASCII code in order to describe a X-machine model. XMDL model XMDL communication Communicating XMDL model + = P.Kefalas, CITY Liberal Studies
… Discussion and Evaluation … The approach has several advantages for the developer who: • does not need to model a communicating system from scratch, • can re-use existing models (behaviours), • can consider modelling and communication as two separate distinct activities in the development of a communicating system based on behaviours, • can use existing tools for both stand-alone and communicating X-machines. P.Kefalas, CITY Liberal Studies
… Discussion and Evaluation … X-Machines is supported by: • a COMPLETE TESTING strategy that guarantees to find all faults in the implementation • a MODEL CHECKING strategy that guarantees to verify that specific properties hold (XmCTL) P.Kefalas, CITY Liberal Studies
CONCLUSIONS • X-Machine is a suitable formal method for specifying and building correct reactive agents. • Tools are continuously built in order to facilitate agent development based around X-Machines. • Communicating X-Machines encourage the modular development of agents based on an aggregation of behaviours. • Communicating X-Machines lead towards the specification of large scale multi-agent systems. P.Kefalas, CITY Liberal Studies
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str. 546 24 Thessaloniki Greece kefalas@city.academic.gr