a formal semantics for brahms

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

Upload: bien

Post on 24-Feb-2016

51 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: A Formal Semantics for Brahms

A Formal Semantics for Brahms

Presented by Richard StockerIn co-operation with Maarten Sierhuis, Louise Dennis, Clare

Dixon and Michael Fisher

Page 2: A Formal Semantics for Brahms

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

Page 3: A Formal Semantics for Brahms

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

Page 4: A Formal Semantics for Brahms

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

Page 5: A Formal Semantics for Brahms

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

Page 6: A Formal Semantics for Brahms

Semantic Notations

Page 7: A Formal Semantics for Brahms

Agent’s become invoked

Alex and the Clock are instructed to “start”

Note: Presuming Alex currently active workframe

Page 8: A Formal Semantics for Brahms

Running Workframes

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

Page 9: A Formal Semantics for Brahms

Popping the stack

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

Page 10: A Formal Semantics for Brahms

Alex had the shortest activity

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

Page 11: A Formal Semantics for Brahms

Belief Updates

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

Page 12: A Formal Semantics for Brahms

Communication

Belief transference rule for communication:

Page 13: A Formal Semantics for Brahms

Suspension

Current workframe is suspended because a higher priority workframe is available

Page 14: A Formal Semantics for Brahms

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.

Page 15: A Formal Semantics for Brahms

References1. R. H. Bordini, M. Fisher, and M. Sierhuis. Formal Verification of Human-Robot Teamwork, 2009.

2. W. Clancey, M. Sierhuis, C. Kaskiris, and R. van Hoof. Advantages of Brahms for Specifying and Implementing a Multiagent Human-Robotic Exploration System, 2003.

3. M. Fisher, R. H. Bordini, and M. Sierhuis. Analysing Human-Agent Teamwork, 2008.

4. A. S. Rao and M. Georgeff. BDI Agents: from theory to practice, 1995.

5. A. S. Rao and M. P. Georgeff. Modeling Agents within a BDI-Architecture., Apr. 1991.

6. M. Sierhuis. Modeling and Simulating Work Practice. BRAHMS: a multiagent modeling and simulation language for work system analysis and design, 2001.

7. M. Sierhuis. Multiagent Modeling and Simulation in Human-Robot Mission Operations, 2006.

8. M. Sierhuis, J. M. Bradshaw, A. Acquisti, R. V. Hoof, R. Jeffers, and A. Uszok. Human- Agent Teamwork and Adjustable Autonomy in Practice, 2003.

9. M. Sierhuis andW. J. Clancey. Modeling and SimulatingWork Practice: A Human-Centered Method for Work Systems Design, 2002.

10. R. van Hoof. Brahms website: http://www.agentisolutions.com, 2000.

Page 16: A Formal Semantics for Brahms

System Initiation

System scheduler checks its rule to set all agents running

Page 17: A Formal Semantics for Brahms

No Thoughframes Active

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

Page 18: A Formal Semantics for Brahms

Detectables also empty

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

Page 19: A Formal Semantics for Brahms

Checking Repeat

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

Page 20: A Formal Semantics for Brahms

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.

Page 21: A Formal Semantics for Brahms

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.

Page 22: A Formal Semantics for Brahms

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

Page 23: A Formal Semantics for Brahms

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.

Page 24: A Formal Semantics for Brahms

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.

Page 25: A Formal Semantics for Brahms

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 = 0All agent/objects also start in a “finished” state

Page 26: A Formal Semantics for Brahms

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.