A Formal Semantics for Brahms Presented by Richard Stocker In co-operation with Maarten Sierhuis, Louise Dennis, Clare Dixon and Michael Fisher.

Slides:



Advertisements
Similar presentations
Introduction to Macromedia Director 8.5 – Lingo
Advertisements

Using Robots as Fire-fighting Agents Anindita Das Department of Electrical and Computer Engineering University of Texas at Austin
Formal Semantics for an Abstract Agent Programming Language K.V. Hindriks, Ch. Mayer et al. Lecture Notes In Computer Science, Vol. 1365, 1997
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Ch. 7 Process Synchronization (1/2) I Background F Producer - Consumer process :  Compiler, Assembler, Loader, · · · · · · F Bounded buffer.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Faculty of Management and Organization Emergence of social constructs and organizational behaviour How cognitive modelling enriches social simulation Martin.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Coalition Formation through Motivation and Trust Nathan Griffiths Michael Luck.
Concrete architectures (Section 1.4) Part II: Shabbir Ssyed We will describe four classes of agents: 1.Logic based agents 2.Reactive agents 3.Belief-desire-intention.
Detailed Design Kenneth M. Anderson Lecture 21
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
RoboCup Rescue Simulation Barış Eker April CONTENT  Robocup Rescue  RoboAKUT 2005  Discussion.
The Mana Project Lars Asplund Kristina Lundqvist Uppsala University, Information Technology, Dept of Computer Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
INTERRUPTS PROGRAMMING
Hypothesis Testing – Introduction
1 Object Oriented Analysis and Design. 2 Object-Oriented Analysis  Statement of what our client wants Object-Oriented Design  How to provide it using.
Pascoe Vale North Primary School
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
Nachos Phase 1 Code -Hints and Comments
WXGE6103 Software Engineering Process and Practice Formal Specification.
Joseph Cordina 1/11 The Use of Model-Checking for the Verification of Concurrent Algorithms Joseph Cordina Department of C.S.&A.I.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
A Logic of Belief and a Model Checking Algorithm for Security Protocols joint work with Massimo Benerecetti Fausto Giunchiglia University of Trento
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
COMPUTER PROGRAMMING. Iteration structures (loops) There may be a situation when you need to execute a block of code several number of times. In general,
Problem Solving Engineering Technology Mr. Austin.
Recursion – means to recur or to repeat – A different way to get a robot to repeat an action A programming language that allows recursive definitions (and.
Concurrency Design Patterns
The Software Development Process
Network Protocols Network Systems Security Mort Anvari.
Lesson 6 – Libraries & APIs Libraries & APIs. Objective: We will explore how to take advantage of the huge number of pre-made classes provided with Java.
Project Management.
GET R DONE PROJECT MANAGEMENT FOR TODAY September 19 th & 20th Fall Retreat Public Library Section Kansas Library Association.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Visual Basic CDA College Limassol Campus COM123 Visual Programming 1 Semester B Lecture:Pelekanou Olga Week 5: Useful Functions and Procedures.
Lecture 4 Introduction to Promela. Promela and Spin Promela - process meta language G. Holzmann, Bell Labs (Lucent) C-like language + concurrency dyamic.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
Decision Making and Branching
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Professor Fuhua Lin. Scenario: Domestic Robot Bartender The domestic robot is ordered by its owner to get him beer from the refrigerator. However, the.
Agenda  Quick Review  Finish Introduction  Java Threads.
Swarm Robotics Research Team A Robotic Application of the Ant Colony Optimization Algorithm The Ant Colony Optimization (ACO) algorithm is generally used.
CMPT 120 Topic: Searching – Part 2 and Intro to Time Complexity (Algorithm Analysis)
Ron McNair: From Library Desegregationist to Challenger Mission Astronaut Sara Jenkins Arizona Geographic Alliance Grade 2 1 class period.
COMPUTATIONAL CONSTRUCTS
Ivan Marsic Rutgers University
WebQuest: Where you design your own Space Exploration Mission
Function There are two types of Function User Defined Function
Algorithm and Ambiguity
Hypothesis Testing – Introduction
Achieving goals. Together.
Algorithms & Pseudocode
Algorithm Discovery and Design
Artificial Intelligence: Logic agents
Algorithm and Ambiguity
Week 4 Lecture-2 Chapter 6 (Methods).
Module 10 – Scratch Project
Module 10 – Scratch Project
Module 10 – Scratch Project
Module 10 – Scratch Project
Module 10 – Scratch Project
Presentation transcript:

A Formal Semantics for Brahms Presented by Richard Stocker In co-operation with Maarten Sierhuis, Louise Dennis, Clare Dixon and Michael Fisher

Introduction Applications for Human-Agent-Robot Teamwork are now becoming more evident especially in areas such as space exploration, home healthcare and pervasive systems. The critical nature of some of these scenarios suggest some form of formal verification is required, at least for the safety of the human counterparts. An Example specification that may need to be checked is: Three robots and two astronauts can together build a shelter within one hour

Introduction-Brahms In [3,1] a formal approach to the problem of human-agent (and so astronaut-robot) analysis was proposed. This involved the model-checking of Brahms models [6, 10,9]. Brahms is a simulation/modelling language in which complex human-agent work patterns can be described. Brahms is based on the concept of rational agents and the system continues to be successfully used within NASA for the sophisticated modelling of astronaut-robot planetary exploration teams [2, 8, 7].

Brahms Brahms is a modelling language designed to model human activity whereby rational agents are used to model humans. The key aspects of Brahms are activities workframes thoughtframes facts beliefs detectables time

An Example Scenario Scenario 1 Student: Alex Alex studies in the Library until hungry When hungry, Alex moves to a restaurant and eats When finished eating Alex returns to the Library to study Additionally Object clock is present

Semantic Notations

Agent’s become invoked Alex and the Clock are instructed to “start” Note: Presuming Alex currently active workframe

Running Workframes There are workframes for Alex and the Clock to run and the system is at the point of checking workframes.

Popping the stack Alex is also operating a workframe, one called wf_study. First element is an activity of time Alex’s first task is to notify scheduler of the time of his activity:

Alex had the shortest activity Alex detects his time is different from the schedulers and that his activity was the shortest.

Belief Updates Conclude statement for the clock updating its belief on the time and updating the facts

Communication Belief transference rule for communication:

Suspension Current workframe is suspended because a higher priority workframe is available

Conclusion Brahms is a simulation/modelling language used to describe human-agent-robot teamwork. By creating these formal semantics for Brahms we wish to be able to model check the semantics of a Brahms model using tools such as the Agent- Infrastructure-Layer (AIL) toolkit. Thereby providing us with a tool to formally verify human-agent-robot teamwork scenarios represented in the Brahms language.

References 1. R. H. Bordini, M. Fisher, and M. Sierhuis. Formal Verification of Human-Robot Teamwork, W. Clancey, M. Sierhuis, C. Kaskiris, and R. van Hoof. Advantages of Brahms for Specifying and Implementing a Multiagent Human-Robotic Exploration System, M. Fisher, R. H. Bordini, and M. Sierhuis. Analysing Human-Agent Teamwork, A. S. Rao and M. Georgeff. BDI Agents: from theory to practice, A. S. Rao and M. P. Georgeff. Modeling Agents within a BDI-Architecture., Apr M. Sierhuis. Modeling and Simulating Work Practice. BRAHMS: a multiagent modeling and simulation language for work system analysis and design, M. Sierhuis. Multiagent Modeling and Simulation in Human-Robot Mission Operations, M. Sierhuis, J. M. Bradshaw, A. Acquisti, R. V. Hoof, R. Jeffers, and A. Uszok. Human- Agent Teamwork and Adjustable Autonomy in Practice, M. Sierhuis andW. J. Clancey. Modeling and SimulatingWork Practice: A Human-Centered Method for Work Systems Design, R. van Hoof. Brahms website:

System Initiation System scheduler checks its rule to set all agents running

No Thoughframes Active Currently none of the objects or agent’s have any of their thoughtframes active.

Detectables also empty Agents and object now check their detectables but find they are also empty

Checking Repeat The clock object has selected its workframe but now has to check the repeat variable, which is set to “true”.

Scheduler’s turn Once all the agent’s have notified scheduler of their activity durations the scheduler can then decide the next time step to jump to i.e. current time plus the shortest activity time.

Skipping through Scenario then keeps cycling from thoughtframes to detectables to variables and then to workframes. Once the clock has finished performing a count down of the time passing by it performs a simple belief update which increases the number of hours by 1. The clock then performs a communication to Alex to inform him an hour has passed.

Communication Communication is modelled similarly to a primitive activity: It sends time take to send the communication to the scheduler Receives a time from the scheduler to subtract from the communications duration It is however different in the respect that when the communication part is finished it has a belief update attached which updates the beliefs of the agent or object receiving the message.

Skipping through Alex processes a thoughtframe every time the clock tells him the time has progressed an hour, this thoughtframe updates his belief that he has become more hungry i.e. Hunger = Hunger +1. Eventually his hunger rises to a threshold point which activates a guard on another workframe. This workframe tells him to go eat. This means now Alex has two workframes to chose from, his already active studying workframe and one to eat. The workframe to eat has higher priority so studying needs to be suspended.

Moving to the Restaurant One of the activities in the workframe to eat, is to move to the restaurant. Move activities are similar to communication activities. They use a primitive activity for the duration of travel and then immediately follow with belief updates, however move activities update the beliefs of agent and the environments beliefs (the facts). Once in the restaurant Alex will perform workframes to order food, eat the food and then return to the Library where he will pick up his suspended workframe to study.

Pre-Processing Agent/object’s initial beliefs are set Initial facts of the world are set Geography is created; distance between areas etc. is calculated Example Scenario; Agent Alex’s initial beliefs Alex.howHungry = 15 Alex.location = Library Alex.time = 0 Clock.time = 0 All agent/objects also start in a “finished” state

Check belief updates Alex has now finished an activity, so checks for any belief updates before finishing for the clock tick, but he has none.