Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str. 546 24 Thessaloniki Greece.

Slides:



Advertisements
Similar presentations
Chapter 7 System Models.
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
Four Dark Corners of Requirements Engineering
Lecture 6 & 7 System Models.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Multi-Agent Model to Multi-Process Transformation A Housing Market Case Study Gerhard Zimmermann Informatik University of Kaiserslautern.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System Models Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 6 & 7.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
OPERAS CC : An instance of a Formal Framework for MAS Modelling based on Population P Systems P.Kefalas Dept. of Computer Science CITY COLLEGE Thessaloniki,
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Chapter 7 System models.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
A Logical Framework for Web Service Discovery The Third International Semantic Web Conference Hiroshima, Japan, Michael Kifer 1, Rubén Lara.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
November 2003J. B. Wordsworth: J3ISDQR41 Information Systems Development Quality and Risk (4)
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
Prof. Hany H. Ammar, CSEE, WVU, and
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Lecture 2 of Computer Science II
Abstract descriptions of systems whose requirements are being analysed
Software Design Methodology
Chapter 9 TURING MACHINES.
Objective of This Course
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Dynamic Modeling Lecture # 37.
Presentation transcript:

Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece

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: (i)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

Although Agent-Oriented Software Engineering 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. Agent Oriented Software Engineering 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 implementations that are correct Criteria for correctness:  the initial agent model should match with the requirements  the agent model should satisfy any necessary properties in order to meet its design objectives  the implementation should pass all tests constructed using a complete functional test generation method. MODELLING VERIFICATION 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

σ γ S1S1 S2S2 S3S3 S4S4 M=(m 1, m 2, …, m n ) φ1φ1 φ3φ3 φ2φ2 φ5φ5 φ4φ4 φ4φ4 φ2φ2 X-Machine Diagrammatical Notation P.Kefalas, CITY Liberal Studies

COMMUNICATING X-MACHINES X-Machines can also communicate with each other:  Functions can read an input from a 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 separately model behaviours of an agent system that communicate. P.Kefalas, CITY Liberal Studies

Communicating X-Machine Diagrammatical Notation P.Kefalas, CITY Liberal Studies xm-1xm-2 Channel for receiving message from xm-1 Channel for sending message to xm-2 σ γ S1S1 S2S2 M=(m 1, m 2, …, m n ) φ1φ1 S3S3 S4S4 φ2φ2

Formal Definition X-Machines is a 8-tuple M = (Σ, Γ, Q, M, Φ, F, q 0, m 0 )  Σ, Γ 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  q 0, m 0 are the initial state and memory respectively. P.Kefalas, CITY Liberal Studies

Example: 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. P.Kefalas, CITY Liberal Studies

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) m 0 = (none, (0,0), nil) q 0 = "At Base" … lift_object( (obj,x,y),(none,(x,y),objectlist) )  ("lifting object",(obj,(x,y), )), if obj  OBJECT find_object( (obj,x,y),(item,(x,y),objectlist) )  ("record object position",(item,(x,y), )), if item  none  obj  OBJECT  (x,y)  objectlist … P.Kefalas, CITY Liberal Studies

Agents as an aggregation of behaviours  identification of the individual behaviours,  modeling of individual behaviours,  aggregation of behaviours in order to construct the whole agent model Methodology: P.Kefalas, CITY Liberal Studies

Behaviour 1 Behaviour 2 Behaviour 3 Behaviour 4 Communication Agent type 1 Behaviour 1 Behaviour 4 Communication Agent type 2 Communication Multi-Agent System The methodology is useful for building multi-agent systems in which agents have common behaviours P.Kefalas, CITY Liberal Studies

Example: The same reactive agent as before but with a set of distinct 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 Step 1: Identifying individual behaviours: P.Kefalas, CITY Liberal Studies

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

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

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

 X-Machines is a FORMAL METHOD but also it  INTUITIVE and EXPRESSIVE as well as  PRACTICAL P.Kefalas, CITY Liberal Studies DISCUSSION AND EVALUATION 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

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. … Discussion and Evaluation … P.Kefalas, CITY Liberal Studies

 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) X-Machines is supported by: … Discussion and Evaluation … 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 Thessaloniki Greece