1 / 26

Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours

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.

craig
Télécharger la présentation

Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. Formal Methods • Z • VDM • Finite State Machines • Petri Nets Modelling of data types Modelling of control P.Kefalas, CITY Liberal Studies

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

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

  8. A FSM-like model seems to capture most of the requirements … but no data, no separate behaviours P.Kefalas, CITY Liberal Studies

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

  10. M=(m1, m2, …, mn) γ σ φ1 S4 S1 φ3 φ5 φ4 φ2 S3 S2 φ4 φ2 Diagrammatical Notation X-Machine P.Kefalas, CITY Liberal Studies

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

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

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

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

  15. Formal Definition Σ = ({space, base}OBSTACLEOBJECT)COORDCOORD Γ={"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 objOBJECT find_object( (obj,x,y),(item,(x,y),objectlist) )  ("record object position",(item,(x,y),<(x,y) :: objectlist>)), if itemnone  objOBJECT  (x,y) objectlist … P.Kefalas, CITY Liberal Studies

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

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

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

  19. Step 2: Modelling individual behaviours: moving directly to an object building map of the environment P.Kefalas, CITY Liberal Studies

  20. Step 3 (a): Communication of individual behaviours: moving directly to an object building map of the environment P.Kefalas, CITY Liberal Studies

  21. Step 3 (b): Aggregation of behaviours: P.Kefalas, CITY Liberal Studies

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

  23. … 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

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

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

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

More Related