Rigurous Software Development of Multi-Agent Systems

Size: px
Start display at page:

Download "Rigurous Software Development of Multi-Agent Systems"

Transcription

1 Rigurous Software Development of Multi-Agent Systems 2 nd Prometidos-CM Winter School Speaker: Álvaro Fernández Díaz Universidad Politécnica de Madrid

2 Structure of the talk Multi-Agent Systems Purpose Belief-Desire-Intention RSD of Multi-Agent Systems Jason ejason Summary

3 Multi-Agent Systems High level abstraction for multi-process systems The computational entities are known as intelligent agents Autonomous

4 Multi-Agent Systems High level abstraction for multi-process systems The computational entities are known as intelligent agents Autonomous Interact (e.g. via communication) HELLO!

5 Multi-Agent Systems High level abstraction for multi-process systems The computational entities are known as intelligent agents Autonomous Interact (e.g. via communication) Rational (motivational stance) HELLO!

6 Multi-Agent Systems Purpose: Adapt to changing environments Model uncertainty (non-precise information) Different approaches: Automatons (finite state machines) Rule systems Blackboard Belief-Desire-Intention

7 BDI Architecture [Rao & Georgeff, 1995] Identifies different program concerns: Beliefs: the facts that the agents consider to be true about the world Desires: the objectives or situations that the agents might like to realise Intentions: how the agents have chosen to act in order to achieve its goals

8 Example: Bit Transfer Protocol A sender must transmit a string of bits to a receiver. It can only send one bit at a time.

9 Example: Bit Transfer Protocol A sender must transmit a string of bits to a receiver. It can only send one bit at a time. Sender Receiver

10 Desires The string of bits is correctly transmitted from the sender to the receiver Sender Receiver

11 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString

12 Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Desires The string of bits is correctly transmitted from the sender to the receiver

13 Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Desires The string of bits is correctly transmitted from the sender to the receiver Event: Ack message

14 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Beliefs (receiver) The string of bits received so far is Event: Ack message

15 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Beliefs (receiver) The string of bits received so far is Event: Bit message Event: Ack message

16 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Beliefs (receiver) The string of bits received so far is The sender knows that I ve obtained n bits Event: Bit message Event: Ack message

17 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Beliefs (receiver) The string of bits received so far is The sender knows that I ve obtained n bits Intentions (sender) If I believe that the receiver has not obtained any bit, I send the first bit to it. Event: Bit message Event: Ack message

18 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Beliefs (receiver) The string of bits received so far is The sender knows that I ve obtained n bits Intentions (sender) If I believe that the receiver has not obtained any bit, I send the first bit to it. If I believe that the receiver has obtained the bit in position n, I send the next bit to it. Event: Bit message Event: Ack message

19 Desires The string of bits is correctly transmitted from the sender to the receiver Beliefs (sender) The string of bits is BitString The receiver has obtained bit n Intentions (sender) If I believe that the receiver has not obtained any bit, I send the first bit to it. If I believe that the receiver has obtained the bit in position n, I send the next bit to it. Beliefs (receiver) The string of bits received so far is The sender knows that I ve obtained n bits Intentions (receiver) If I believe that I know the bit in position n, I send an acknowledgement message to the receiver. Event: Bit message Event: Ack message

20 Rigorous Software Development Use of mathematically grounded methods (and logic) in the software development procedure Formal Specification Describe the exact semantics of programs Formal Verification (discover/test properties) Theorem proving Model Checking

21 BDI Logic [Rao & Georgeff, 1998] Introduces the following operators: BEL(φ): the agent believes φ DES(φ): the agent desires φ INTEND(φ): the agent intends φ

22 BDI Logic If the sender agent knows the value of the string of bits and desires to transfer this value to the receiver, then the sender will eventually intend to transfer this value ( BEL snd (value) DES snd (transfer) ) INTEND snd (transfer)

23 BDI Logic If the sender agent knows the value of the string of bits and intends to transfer this value to the receiver, then the receiver will eventually know this value ( BEL snd (value) INTEND snd (transfer) ) BEL rcv (value)

24 RSD in Multi-Agent Systems Different modeling languages available MABLE AGENTSPEAK(F) Formal semantics for agent-oriented programming languages AGENTSPEAK(L) 3APL Jason

25 Jason Programming Language [Bordini & Hübner & Wooldridge, 2007] The agent s beliefs are prolog-like predicates and rules door1(open) even(x) :- X mod 2 == 0. The agent s desires are referred to as goals and represented by events to handle!at(home) represents the desire to be at home?at(home) represents the desire to test whether the agent is at home

26 Jason Programming Language The agent s intentions are represented by stacks of predefined plans that the agents commits itself to carry out!go(place): Place = office & today(workday)!go(car);!drive(office) play_the_boss.

27 Jason Programming Language The agent s intentions are represented by stacks of predefined plans that the agents commits itself to carry out!go(place): Place = office & today(workday)!go(car);!drive(office) play_the_boss.!go(place): Place = office & today(holiday)!go(doctor).

28 Jason Programming Language Reasoning cycle

29 Jason Programming Language (State) Agent Configuration = (ag, name, C, M, T, Phase) Program (plans, knowledge base) intentions (desires, intentions, messages )

30 Jason Programming Language Reasoning cycle

31 Jason Programming Language

32 Jason Programming Language

33 Jason Programming Language Pupil 2 Teacher

34 Jason Programming Language init_count(0). max_count(10). Beliefs!startcount. Goals (Desires) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). Plans (Part of Intentions) +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

35 Jason Programming Language Beliefs init_count(0). max_count(10). Goals (Desires)!startcount. Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

36 Jason Programming Language Beliefs init_count(0). max_count(10). Goals (Desires)!startcount. Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

37 Jason Programming Language Beliefs init_count(0). max_count(10). Goals (Desires)!startcount. Event: +!startcount. Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

38 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

39 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

40 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

41 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

42 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

43 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

44 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

45 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

46 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

47 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(0) <- +actual_count(0). Event: +!startcount. +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

48 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(0) <- +actual_count(0). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

49 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(0) <- +actual_count(0). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

50 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Plans (Part of Intentions) +!startcount : init_count(0) <- +actual_count(0). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

51 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(0) <- +actual_count(0). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

52 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

53 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

54 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

55 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

56 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(0) : max_count(y) & 0 < Y <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(y) & 0 >= Y <-.print( Terminated Count ).

57 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(0) : max_count(y) & 0 < Y <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(y) & 0 >= Y <-.print( Terminated Count ).

58 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(0) : max_count(10) & 0 < 10 <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(10) & 0 >= 10 <-.print( Terminated Count ).

59 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(0) : max_count(10) & 0 < 10 <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(10) & 0 >= 10 <-.print( Terminated Count ).

60 Jason Programming Language Beliefs init_count(0). max_count(10). actual_count(0). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(0) : max_count(10) & 0 < 10 <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(10) & 0 >= 10 <-.print( Terminated Count ).

61 Jason Programming Language Beliefs init_count(0). max_count(10). Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). Event: +actual_count(0) +actual_count(0) : max_count(10) & 0 < 10 <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(10) & 0 >= 10 <-.print( Terminated Count ).

62 Jason Programming Language Beliefs init_count(0). max_count(10). Event: +actual_count(0) Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(0) : max_count(10) & 0 < 10 <- -actual_count(0);.send(teacher,tell,actual_count(0). +actual_count(0) : max_count(10) & 0 >= 10 <-.print( Terminated Count ). actual_count(0)

63 Jason Programming Language 0 actual_count(0) Pupil Teacher

64 RSD in Jason The formal semantics allow the definition of all possible transitions between agent states Where are the modalities BEL, DES, INTEND?

65 BDI Logic in Jason [Bordini & Moreira 2004]

66 BDI Logic in Jason [Bordini & Moreira 2004] Beliefs init_count(0). max_count(10). actual_count(0).

67 BDI Logic in Jason [Bordini & Moreira 2004] Beliefs init_count(0). max_count(10). actual_count(0). BEL init_count 0 BEL init_count 1

68 BDI Logic in Jason [Bordini & Moreira 2004] Beliefs init_count(0). max_count(10). actual_count(0). BEL init_count 0 BEL init_count 1

69 BDI Logic in Jason [Bordini & Moreira 2004]

70 BDI Logic in Jason [Bordini & Moreira 2004] Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

71 BDI Logic in Jason [Bordini & Moreira 2004] It is true for all the achievement goals in the triggering events of the plans that the agent is committed to carry out Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ).

72 BDI Logic in Jason [Bordini & Moreira 2004] It is true for all the achievement goals in the triggering events of the plans that the agent is committed to carry out Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ). INTEND! start_count

73 BDI Logic in Jason [Bordini & Moreira 2004] It is true for all the achievement goals in the triggering events of the plans that the agent is committed to carry out Plans (Part of Intentions) +!startcount : init_count(x) <- +actual_count(x). +actual_count(x) : max_count(y) & X < Y <- -actual_count(x);.send(teacher,tell,actual_count(x). +actual_count(x) : max_count(y) & X >= Y <-.print( Terminated Count ). INTEND! start_count

74 BDI Logic in Jason [Bordini & Moreira 2004] It is true for all the achievement goals in the triggering events of the plans that the agent is committed to carry out Plans committed (Intentions) +!startcount : init_count(0) <- +actual_count(0). INTEND! start_count

75 BDI Logic in Jason [Bordini & Moreira 2004]

76 BDI Logic in Jason [Bordini & Moreira 2004] Plans committed (Intentions) +!startcount : init_count(0) <- +actual_count(0). INTEND init_count

77 BDI Logic in Jason [Bordini & Moreira 2004] Plans committed (Intentions) +!startcount : init_count(0) <- +actual_count(0). INTEND init_count Event: +actual_count(0) Event: +!next_num(0)

78 BDI Logic in Jason [Bordini & Moreira 2004] Plans committed (Intentions) +!startcount : init_count(0) <- +actual_count(0). Event: +actual_count(0) Event: +!next_num(0) INTEND init_count INTEND next_num(0)

79 RSD in Jason The source code of an agent defines its initial state S 0 S 0

80 RSD in Jason The source code of an agent defines its initial state S 0 The different transition rules allow the generation of the state space (i.e. all possible states of the system) S 0 S 1 S 2 S 3 S n

81 RSD in Jason The source code of an agent defines its initial state S 0 The different transition rules allow the generation of the state space (i.e. all possible states of the system) The BDI predicates satisfied by each state can be computed S 0 S 1 S 2 S 3 S n

82 RSD in Jason The source code of an agent defines its initial state S 0 The different transition rules allow the generation of the state space (i.e. all possible states of the system) The BDI predicates satisfied by each state can be computed The properties can then be checked S 0 S 1 S 2 S 3 S n

83 ejason [Fernández & Benac & Fredlund, 2013] Implementation of the Jason interpreter in Erlang Efficient concurrency Distribution Fault Tolerance (robustness) The implementation of the Jason interpreter was facilitated by the existence of a formal semantics

84 ejason [Fernández & Benac & Fredlund, 2013] One of the main contributions claimed is the introduction of distribution transparency Logic of control for agents is decoupled from system orchestration at runtime Relies on the uniqueness of the agent names If agents can spawn other agents, can the uniqueness of names be guaranteed?

85 ejason [Fernández & Benac & Fredlund, 2013] A formal semantics has been developed for the whole extension

86 ejason [Fernández & Benac & Fredlund, 2013] Uniqueness of agent names has been shown using theorem proving techniques Considering a system with two namesake agents Showing by contradiction that such a system cannot be built

87 Takeaways Rigurous software development is also available for Multi-Agent Systems Jason is a mathematically grounded agentoriented programming language Unambiguous program semantics Formal verification can be utilised Implementation of interpreters is facilitated

88 Takeaways At UPM we carry on related research on the ejason programming language Reimplementation of an interpreter of Jason Augmented functionality Formal semantics for the extension is available

89 Takeaways At UPM we carry on related research on the ejason programming language Reimplementation of an interpreter of Jason Augmented functionality Formal semantics for the extension is available Contact:

90 References [Rao & Georgeff, 1995] BDI Agents: From theory to practice, International Conference on Multi-Agent Systems (ICMAS 95) San Francisco, CA. [Rao & Georgeff, 1998] Decision procedures for BDI logics, Journal of Logic and Computation

91 References [Bordini & Moreira, 2004] Proving BDI properties of agent-oriented programming languages, Annals of Mathematics and Artificial Intelligence [Fernández & Benac & Fredlund, 2013] Adding distribution and Fault Tolerance to Jason, to appear in Journal of Science of Computer Programming

92 Questions & Answers

Erlang as an Implementation Platform for BDI Languages

Erlang as an Implementation Platform for BDI Languages Erlang as an Implementation Platform for BDI Languages Álvaro Fernández Díaz Clara Benac Earle Lars-Åke Fredlund Babel group, DLSIIS, Facultad de Informática, Universidad Politécnica de Madrid {avalor,cbenac,fred}@babel.ls.fi.upm.es

More information

ejason: an implementation of Jason in Erlang

ejason: an implementation of Jason in Erlang ejason: an implementation of Jason in Erlang Álvaro Fernández Díaz, Clara Benac Earle, and Lars-Åke Fredlund Babel Group. Universidad Politécnica de Madrid, Spain {avalor,cbenac,fred}@babel.ls.fi.upm.es

More information

Implementing BDI-like Systems by Direct Execution

Implementing BDI-like Systems by Direct Execution Implementing BDI-like Systems by Direct Execution Michael Fisher Department of Computing Manchester Metropolitan University Manchester Ml 5GD, United Kingdom EMAIL: M.Fisher@doc.mmu.ac.uk Abstract While

More information

AGENTSPEAK AND JASON. AgentSpeak ROBOTICS AND AUTONOMOUS SYSTEMS. Today. Language of choice for the Multi-Agent Programming Contest

AGENTSPEAK AND JASON. AgentSpeak ROBOTICS AND AUTONOMOUS SYSTEMS. Today. Language of choice for the Multi-Agent Programming Contest ROBOTICS AND AUTONOMOUS SYSTEMS Simon Parsons Department of Computer Science University of Liverpool LECTURE 19 comp329-2013-parsons-lect19 2/35 Today In this lecture we will begin to look at the tools

More information

Robotics and Autonomous Systems

Robotics and Autonomous Systems Robotics and Autonomous Systems Lecture 19: AgentSpeak and Jason Simon Parsons Department of Computer Science University of Liverpool 1 / 40 Today In this lecture we will begin to look at the tools that

More information

Model Checking Multi-Agent Systems with MABLE

Model Checking Multi-Agent Systems with MABLE Model Checking Multi-Agent Systems with MABLE Michael Wooldridge Michael Fisher Marc-Philippe Huget Simon Parsons Department of Computer Science, University of Liverpool Liverpool L69 7ZF, United Kingdom

More information

Utilizing JPF for Multi-Agent Verification

Utilizing JPF for Multi-Agent Verification Utilizing JPF for Multi-Agent Verification Berndt Farwer Department of Computer Science Durham University berndt.farwer@durham.ac.uk Joint Project with the University of Liverpool Rafael H. Bordini 1,

More information

Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog?

Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog? Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog? Daniela Briola, Viviana Mascardi, and Davide Ancona DIBRIS, Genoa University, Italy daniela.briola,viviana.mascardi,davide.ancona@unige.it

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

Using Jason to Implement a Team of Gold Miners

Using Jason to Implement a Team of Gold Miners Using Jason to Implement a Team of Gold Miners Rafael H. Bordini 1, Jomi F. Hübner 2, and Daniel M. Tralamazza 3 1 Department of Computer Science University of Durham Durham DH1 3LE, U.K. R.Bordini@durham.ac.uk

More information

COMP310 MultiAgent Systems. Chapter 3 - Deductive Reasoning Agents

COMP310 MultiAgent Systems. Chapter 3 - Deductive Reasoning Agents COMP310 MultiAgent Systems Chapter 3 - Deductive Reasoning Agents Agent Architectures Pattie Maes (1991):... [A] particular methodology for building [agents]. It specifies how... the agent can be decomposed

More information

Multi-Agent Dialogue Protocols

Multi-Agent Dialogue Protocols Multi-Agent Dialogue Protocols Christopher D. Walton (cdw@inf.ed.ac.uk) Centre for Intelligent Systems and their Applications (CISA), Edinburgh, UK November 28, 2003 Abstract In this paper we propose a

More information

Agent Language Analysis: 3APL

Agent Language Analysis: 3APL Alvarez Napagao Sergio Auffarth Benjamin Salazar Ramirez rman Agent Language Analysis: 3APL Course: Multi-Agent Systems Professor: Javier Vazquez Introduction An Abstract Agent Programming Language or

More information

Plexil-Like Plan Execution Control in Agent Programming

Plexil-Like Plan Execution Control in Agent Programming AI and Robotics: Papers from the AAAI-14 Workshop Plexil-Like Plan Execution Control in Agent Programming Pouyan Ziafati SnT, University of Luxembourg Intelligent Systems Group, Utrecht University Abstract

More information

Logic Programming with PROFETA

Logic Programming with PROFETA ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it Programmazione Sistemi Robotici PROFETA Basics PROFETA (Python

More information

Gwendolen: A BDI Language for Verifiable Agents

Gwendolen: A BDI Language for Verifiable Agents Gwendolen: A BDI Language for Verifiable Agents Louise A. Dennis 1 2 and Berndt Farwer 3 4 Abstract. We describe the Gwendolen BDI (Belief, Desires and Intentions) agent programming language. Gwendolen

More information

LECTURE 4: DEDUCTIVE REASONING AGENTS. An Introduction to Multiagent Systems CIS 716.5, Spring 2006

LECTURE 4: DEDUCTIVE REASONING AGENTS. An Introduction to Multiagent Systems CIS 716.5, Spring 2006 LECTURE 4: DEDUCTIVE REASONING AGENTS CIS 716.5, Spring 2006 1 Agent Architectures Pattie Maes (1991): [A] particular methodology for building [agents]. It specifies how... the agent can be decomposed

More information

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

An Architecture and System for Support of Cooperation in Multi-Agent Software Development

An Architecture and System for Support of Cooperation in Multi-Agent Software Development 296 Conf. on Software Eng. Research and Practice SERP'07 An Architecture and System for Support of Cooperation in Multi-Agent Software Development Xuetao Niu, School of Information and Communication Technology

More information

Argonaut: Integrating Jason and Jena for context aware computing based on OWL ontologies

Argonaut: Integrating Jason and Jena for context aware computing based on OWL ontologies Argonaut: Integrating Jason and Jena for context aware computing based on OWL ontologies Douglas Michaelsen da Silva 1, Renata Vieira 1 1 Universidade do Vale do Rio dos Sinos Av. Unisinos, 950 - CEP 93.022-000

More information

Simon Thompson, Clara Benac Earle! University of Kent, Universidad Politécnica de Madrid!

Simon Thompson, Clara Benac Earle! University of Kent, Universidad Politécnica de Madrid! Simon Thompson, Clara Benac Earle! University of Kent, Universidad Politécnica de Madrid! ProTest goals Integrate property-based testing into the development life cycle:! Property discovery! Test and

More information

Monitoring BPMN-Processes with Rules in a Distributed Environment

Monitoring BPMN-Processes with Rules in a Distributed Environment Monitoring BPMN-Processes with Rules in a Distributed Environment Lothar Hotz 1, Stephanie von Riegen 1, Lars Braubach 2, Alexander Pokahr 2, and Torsten Schwinghammer 3 1 HITeC e.v. c/o Fachbereich Informatik,

More information

A Framework For Designing, Modeling and Analyzing Agent Based Software Systems

A Framework For Designing, Modeling and Analyzing Agent Based Software Systems A Framework For Designing, Modeling and Analyzing Agent Based Software Systems Krishna M. Kavi, The University of North Texas Mohamed Aborizka, The University of Alabama in Huntsville and David Kung, The

More information

Enhanced Communication Services through Context Integration

Enhanced Communication Services through Context Integration Enhanced Services through Integration Romelia Plesa 1, Luigi Logrippo 2,1 1 School of Technology and Engineering, University of Ottawa, Canada 2 Département d informatique et ingénierie, Université du

More information

Towards semantic merging of versions of BDI agent systems

Towards semantic merging of versions of BDI agent systems Towards semantic merging of versions of BDI agent systems Yingzhi Gou, Hoa Khanh Dam and Aditya Ghose School of Computer Science and Software Engineering University of Wollongong New South Wales 2522,

More information

TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS

TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS Nariman Mani Vahid Garousi Behrouz H. Far Department of Electrical and Computer Engineering Schulich School of Engineering, University

More information

Semantics of Communication Plan Exchange Ontological Reasoning Environments, Organisations, and Social Simulation Belief Revision Plan Patterns

Semantics of Communication Plan Exchange Ontological Reasoning Environments, Organisations, and Social Simulation Belief Revision Plan Patterns Outline Introduction Overview of AgentSpeak Some Features of Jason Related Research: Semantics of Communication Plan Exchange Ontological Reasoning Environments, Organisations, and Social Simulation Belief

More information

A BDI Agent Programming Language with Failure Handling, Declarative Goals, and Planning

A BDI Agent Programming Language with Failure Handling, Declarative Goals, and Planning Noname manuscript No. (will be inserted by the editor) A BDI Agent Programming Language with Failure Handling, Declarative Goals, and Planning Sebastian Sardina Lin Padgham Received: date / Accepted: date

More information

Agent-Oriented Programming for Developing Modern Software Systems

Agent-Oriented Programming for Developing Modern Software Systems Agent-Oriented Programming for Developing Modern Software Systems Andrea Santi 1 a.santi@unibo.it Alma Mater Studiorum Università di Bologna Ph.D in Electronics, Computer Science and Telecommunications

More information

Vision Document for Multi-Agent Research Tool (MART)

Vision Document for Multi-Agent Research Tool (MART) Vision Document for Multi-Agent Research Tool (MART) Version 2.0 Submitted in partial fulfillment of the requirements for the degree MSE Madhukar Kumar CIS 895 MSE Project Kansas State University 1 1.

More information

Automatic verification of deontic interpreted systems by model checking via OBDD s

Automatic verification of deontic interpreted systems by model checking via OBDD s Automatic verification of deontic interpreted systems by model checking via OBDD s Franco Raimondi ½ and Alessio Lomuscio ½ Abstract. We present an algorithm for the verification of multiagent systems

More information

A Recent Experience in Teaching Multi-Agent Systems Using Jason

A Recent Experience in Teaching Multi-Agent Systems Using Jason A Recent Experience in Teaching Multi-Agent Systems Using Jason Rafael H. Bordini Department of Computer Science University of Durham Durham DH1 3LE, U.K. R.Bordini@durham.ac.uk ABSTRACT This paper briefly

More information

Argonauts: A Working System for Motivated Cooperative Agents

Argonauts: A Working System for Motivated Cooperative Agents draft 2011-01-22 Argonauts: A Working System for Motivated Cooperative Agents Daniel Hölzgen, Thomas Vengels, Patrick Krümpelmann, Matthias Thimm, Gabriele Kern-Isberner Information Engineering Group,

More information

UNIK Multiagent systems Lecture 3. Communication. Jonas Moen

UNIK Multiagent systems Lecture 3. Communication. Jonas Moen UNIK4950 - Multiagent systems Lecture 3 Communication Jonas Moen Highlights lecture 3 Communication* Communication fundamentals Reproducing data vs. conveying meaning Ontology and knowledgebase Speech

More information

CHAPTER 3: DEDUCTIVE REASONING AGENTS. An Introduction to Multiagent Systems. mjw/pubs/imas/

CHAPTER 3: DEDUCTIVE REASONING AGENTS. An Introduction to Multiagent Systems.  mjw/pubs/imas/ CHAPTER 3: DEDUCTIVE REASONING AGENTS An Introduction to Multiagent Systems http://www.csc.liv.ac.uk/ mjw/pubs/imas/ Agent Architectures An agent architecture is a software design for an agent. We have

More information

Agent programming with priorities and deadlines

Agent programming with priorities and deadlines Agent programming with priorities and deadlines Konstantin Vikhorev Natasha Alechina Brian Logan School of Computer Science University of Nottingham Nottingham NG8 1BB, UK {kxv,nza,bsl}@cs.nott.ac.uk ABSTRACT

More information

Temporal Logic of Actions (TLA) (a brief introduction) Shmuel Katz Computer Science Department The Technion

Temporal Logic of Actions (TLA) (a brief introduction) Shmuel Katz Computer Science Department The Technion Temporal Logic of Actions (TLA) (a brief introduction) Shmuel Katz Computer Science Department The Technion CS236368 Formal Specifications Lecture-- TLA 1 Basic Idea Combine transitions with temporal logic

More information

Leveraging DTrace for runtime verification

Leveraging DTrace for runtime verification Leveraging DTrace for runtime verification Carl Martin Rosenberg June 7th, 2016 Department of Informatics, University of Oslo Context: Runtime verification Desired properties System Every request gets

More information

Formal Verification. Lecture 10

Formal Verification. Lecture 10 Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying

More information

BDI Agent Programming in AgentSpeak Using Jason

BDI Agent Programming in AgentSpeak Using Jason BDI Agent Programming in AgentSpeak Using Jason Rafael H. Bordini 1 and Jomi F. Hübner 2 1 Department of Computer Science University of Durham Durham DH1 3LE, U.K. R.Bordini@durham.ac.uk 2 Departamento

More information

Multi-Agent Programming Contest The Python-DTU Team

Multi-Agent Programming Contest The Python-DTU Team Downloaded from orbit.dtu.dk on: Jan 24, 2018 Multi-Agent Programming Contest 2012 - The Python-DTU Team Villadsen, Jørgen; Jensen, Andreas Schmidt; Ettienne, Mikko Berggren; Vester, Steen; Balsiger Andersen,

More information

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents. Chapter 1 SPECIFYING SYNTAX 1 Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren

More information

The SPARK Agent Framework

The SPARK Agent Framework The SPARK Agent Framework David Morley, Karen Myers Artificial Intelligence Center, SRI International 333 Ravenswood Ave., Menlo Park, CA 94025 {morley,myers}@ai.sri.com Abstract There is a need for agent

More information

Agent Language Analysis: 3-APL

Agent Language Analysis: 3-APL Agent Language Analysis: 3-APL Sergio Alvarez Napagao, Benjamin Auffarth, Norman Salazar Ramirez 3-APL (Triple APL) is an agent programming language and platform, created as a way of developing intelligent

More information

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA)

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA) AADL committee, Valencia October 2 nd, 2014 Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA) what is TASTE? A tool-chain targeting heterogeneous, embedded systems, using a model-centric development approach

More information

Logic and Agent Programming Languages

Logic and Agent Programming Languages Logic and Agent Programming Languages Natasha Alechina School of Computer Science University of Nottingham nza@cs.nott.ac.uk Abstract. Agent programming languages based on the Belief, Desire and Intentions

More information

Agent-Oriented Programming

Agent-Oriented Programming Agent-Oriented Programming Marco Alberti Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa Multi-Agent Systems, 2010/2011 Marco Alberti Agent-Oriented Programming MAS, 2010/2011 1 / 50 Outline

More information

SERVICE-WARE FRAMEWORK FOR DEVELOPING 3G MOBILE SERVICES *

SERVICE-WARE FRAMEWORK FOR DEVELOPING 3G MOBILE SERVICES * SERVICE-WARE FRAMEWORK FOR DEVELOPING 3G MOBILE SERVICES * Ralf Sesseler, Sahin Albayrak DAI-Lab, TU Berlin, Sekr. FR 6-7, Franklinstr. 28/29, D-10587 Berlin, Germany sesseler@cs.tu-berlin.de, sahin@dai-lab.de

More information

Dialogue systems. Volha Petukhova Saarland University

Dialogue systems. Volha Petukhova Saarland University Dialogue systems Volha Petukhova Saarland University 20/07/2016 Einführung in Diskurs and Pragmatik, Sommersemester 2016 Introduction Multimodal natural-language based dialogue as humanmachine interface

More information

Adapting Commit Protocols for Large-Scale and Dynamic Distributed Applications

Adapting Commit Protocols for Large-Scale and Dynamic Distributed Applications Adapting Commit Protocols for Large-Scale and Dynamic Distributed Applications Pawel Jurczyk and Li Xiong Emory University, Atlanta GA 30322, USA {pjurczy,lxiong}@emory.edu Abstract. The continued advances

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Lecture 11 Lecture 11 Nov 5, 2014

Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification/Methods Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems to be analyzed, and

More information

Chapter 2 & 3: Representations & Reasoning Systems (2.2)

Chapter 2 & 3: Representations & Reasoning Systems (2.2) Chapter 2 & 3: A Representation & Reasoning System & Using Definite Knowledge Representations & Reasoning Systems (RRS) (2.2) Simplifying Assumptions of the Initial RRS (2.3) Datalog (2.4) Semantics (2.5)

More information

Main Goal. Language-independent program verification framework. Derive program properties from operational semantics

Main Goal. Language-independent program verification framework. Derive program properties from operational semantics Main Goal Language-independent program verification framework Derive program properties from operational semantics Questions: Is it possible? Is it practical? Answers: Sound and complete proof system,

More information

Balancing Formal and Practical Concerns in Agent Design

Balancing Formal and Practical Concerns in Agent Design Balancing Formal and Practical Concerns in Agent Design David Morley and Karen Myers Artificial Intelligence Center, SRI International 333 Ravenswood Ave., Menlo Park, CA 94025 {morley,myers}@ai.sri.com

More information

Fault Tolerance. Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure behavior

Fault Tolerance. Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure behavior Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure

More information

Propositional Logic Formal Syntax and Semantics. Computability and Logic

Propositional Logic Formal Syntax and Semantics. Computability and Logic Propositional Logic Formal Syntax and Semantics Computability and Logic Syntax and Semantics Syntax: The study of how expressions are structured (think: grammar) Semantics: The study of the relationship

More information

Proving the Correctness of Distributed Algorithms using TLA

Proving the Correctness of Distributed Algorithms using TLA Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)

More information

Introduction to Intelligent Agents

Introduction to Intelligent Agents Introduction to Intelligent Agents Pınar Yolum p.yolum@uu.nl Utrecht University Course Information Jointly taught with Mehdi Dastani Topics Work Schedule Grading Resources Academic Integrity Spring 2018

More information

Multi-Agent Programming with Jason

Multi-Agent Programming with Jason Multi-Agent Programming with Jason Rafael H. Bordini University of Durham, U.K. R.Bordini@durham.ac.uk http://www.dur.ac.uk/r.bordini UCPel, 18th of April 2006 Outline Introduction Overview of AgentSpeak

More information

Languages for Programming BDI-style Agents: an Overview

Languages for Programming BDI-style Agents: an Overview Languages for Programming BDI-style Agents: an Overview Viviana Mascardi, Daniela Demergasso, Davide Ancona DISI, Università di Genova, Via Dodecaneso 35, 16146, Genova, Italy mascardi@disi.unige.it, 1996s165@educ.disi.unige.it,

More information

Programming Verifiable Heterogeneous Agent Systems

Programming Verifiable Heterogeneous Agent Systems Programming Verifiable Heterogeneous Agent Systems Louise A. Dennis and Michael Fisher Department of Computer Science, University of Liverpool, Liverpool, UK Contact: L.A.Dennis@liverpool.ac.uk Abstract.

More information

Introduction to Logic Programming, April 3, 2017

Introduction to Logic Programming, April 3, 2017 Introduction to Logic Programming, 16-17 April 3, 2017 Bibliography Leon Sterling and Ehud Shapiro, The Art of Prolog, MIT Press. Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley.

More information

Reasoning from Desires to Intentions: A Dialectical Framework

Reasoning from Desires to Intentions: A Dialectical Framework Reasoning from Desires to Intentions: A Dialectical Framework Nicolás D. Rotstein and Alejandro J. García and Guillermo R. Simari National Council of Scientific and Technical Research (CONICET) Artificial

More information

arxiv: v1 [cs.ai] 4 Feb 2016

arxiv: v1 [cs.ai] 4 Feb 2016 Formal Verification of Autonomous Vehicle Platooning arxiv:1602.01718v1 [cs.ai] 4 Feb 2016 Maryam Kamali 1, Louise A. Dennis 1, Owen McAree 1, Michael Fisher 2, and Sandor M. Veres 2 1 Department of Computer

More information

A Verification Method for Software Safety Requirement by Combining Model Checking and FTA Congcong Chen1,a, Fuping Zeng1,b, Minyan Lu1,c

A Verification Method for Software Safety Requirement by Combining Model Checking and FTA Congcong Chen1,a, Fuping Zeng1,b, Minyan Lu1,c International Industrial Informatics and Computer Engineering Conference (IIICEC 2015) A Verification Method for Software Safety Requirement by Combining Model Checking and FTA Congcong Chen1,a, Fuping

More information

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics

More information

Logik für Informatiker Logic for computer scientists

Logik für Informatiker Logic for computer scientists Logik für Informatiker for computer scientists WiSe 2011/12 Overview Motivation Why is logic needed in computer science? The LPL book and software Scheinkriterien Why is logic needed in computer science?

More information

A Distributed and Robust SDN Control Plane for Transactional Network Updates

A Distributed and Robust SDN Control Plane for Transactional Network Updates A Distributed and Robust SDN Control Plane for Transactional Network Updates Marco Canini (UCL) with Petr Kuznetsov (Télécom ParisTech), Dan Levin (TU Berlin), Stefan Schmid (TU Berlin & T-Labs) 1 Network

More information

A Solution Based on Modeling and Code Generation for Embedded Control System

A Solution Based on Modeling and Code Generation for Embedded Control System J. Software Engineering & Applications, 2009, 2: 160-164 doi:10.4236/jsea.2009.23023 Published Online October 2009 (http://www.scirp.org/journal/jsea) A Solution Based on Modeling and Code Generation for

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Foundations Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are copyrighted

More information

Multi-Agent Programming

Multi-Agent Programming Multi-Agent Programming Brian Logan 1 School of Computer Science University of Nottingham Midlands Graduate School 8th 12th April 2013 1 Slides on Normative Organisations are from an AAMAS 2012 tutorial

More information

Erlang. Types, Abstract Form & Core. Salvador Tamarit Muñoz. Universitat Politècnica de València

Erlang. Types, Abstract Form & Core. Salvador Tamarit Muñoz. Universitat Politècnica de València Erlang Types, Abstract Form & Core Salvador Tamarit Muñoz Universitat Politècnica de València Contents 1 Introduction Motivation 2 Concurrent Erlang 3 Further reading Introduction Introduction Erlang is

More information

Programming Reinforcement Learning in Jason

Programming Reinforcement Learning in Jason Programming Reinforcement Learning in Jason Amelia Bădică 1, Costin Bădică 1, Mirjana Ivanović 2 1 University of Craiova, Romania 2 University of Novi Sad, Serbia Talk Outline Introduction, Motivation

More information

Translating into an Intermediate Agent Layer: A Prototype in Maude

Translating into an Intermediate Agent Layer: A Prototype in Maude Translating into an Intermediate Agent Layer: A Prototype in Maude (Extended Abstract) Berndt Farwer 1, Louise Dennis 2 1 Durham University,UK 2 University of Liverpool, UK Contact: berndt.farwer@durham.ac.uk

More information

Shared Variables and Interference

Shared Variables and Interference Solved Shared Variables and Interference CS 536: Science of Programming, Fall 2018 A. Why Parallel programs can coordinate their work using shared variables, but it s important for threads to not interfere

More information

Multi-Cycle Query Caching in Agent Programming

Multi-Cycle Query Caching in Agent Programming Natasha Alechina University of Nottingham Nottingham, UK nza@cs.nott.ac.uk Multi-Cycle Query Caching in Agent Programming Tristan Behrens Clausthal University of Technology Clausthal, Germany behrens@in.tu-clausthal.de

More information

LECTURE 3: DEDUCTIVE REASONING AGENTS

LECTURE 3: DEDUCTIVE REASONING AGENTS Agent Architectures LECTURE 3: DEDUCTIVE REASONING AGENTS An Introduction to MultiAgent Systems http://www.csc.liv.ac.uk/~mjw/pubs/imas An agent is a computer system capable of flexible autonomous action

More information

Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all

Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all failures or predictable: exhibit a well defined failure behavior

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Verifying Concurrent ML programs

Verifying Concurrent ML programs Verifying Concurrent ML programs a research proposal Gergely Buday Eszterházy Károly University Gyöngyös, Hungary Synchron 2016 Bamberg December 2016 Concurrent ML is a synchronous language a CML program

More information

arxiv: v1 [cs.ma] 31 Dec 2009

arxiv: v1 [cs.ma] 31 Dec 2009 Developing Artificial Herders Using Jason Niklas Skamriis Boss, Andreas Schmidt Jensen, and Jørgen Villadsen Department of Informatics and Mathematical Modelling Technical University of Denmark Richard

More information

Implementing reactive BDI agents with user-given constraints and objectives

Implementing reactive BDI agents with user-given constraints and objectives University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2010 Implementing reactive BDI agents with user-given constraints and

More information

Health Monitoring Service for Multi-Agent Systems

Health Monitoring Service for Multi-Agent Systems Health Monitoring Service for Multi-Agent Systems MSc Thesis Final Report A thesis submitted in part fulfilment of the degree of MSc in Advanced Software Engineering with the supervision of Dr. Rem Collier

More information

Building Object-Agents from a Software Meta-Architecture

Building Object-Agents from a Software Meta-Architecture Building Object-Agents from a Software Meta-Architecture Analía Amandi and Ana Price Universidad Nac. del Centro de la Pcia. de Bs. As. - Fac. de Cs. Exactas - ISISTAN - San Martin 57 - (7000) Tandil -

More information

Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework

Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework Agostino Poggi, Michele Tomaiuolo Dipartimento di Ingegneria dell Informazione Università degli Studi di

More information

University of Waterloo Undergraduate Catalog Report Faculty of Mathematics Page No. 1 Run Date 20-AUG-2007 Meeting Number(s) 25

University of Waterloo Undergraduate Catalog Report Faculty of Mathematics Page No. 1 Run Date 20-AUG-2007 Meeting Number(s) 25 Faculty of Mathematics Page No. 1 NEW COURSES (for approval) Computer Science - School of CS 137 ( 0.50 ) LAB, LEC, TST, TUT Programming Principles Review of fundamental programming concepts and their

More information

Specification and Analysis of Contracts Tutorial

Specification and Analysis of Contracts Tutorial Specification and Analysis of Contracts Tutorial Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo Gerardo Schneider (UiO) Specification and

More information

Behavioural State Machines: Programming Modular Agents

Behavioural State Machines: Programming Modular Agents Behavioural State Machines: Programming Modular Agents Peter Novák Department of Informatics Clausthal University of Technology Julius-Albert-Str. 4, D-38678 Clausthal-Zellerfeld, Germany peter.novak@tu-clausthal.de

More information

Design By Contract Deontic Design Language for Component-Based Systems

Design By Contract Deontic Design Language for Component-Based Systems Design By Contract Deontic Design Language for Component-Based Systems Christophe Garion a Leendert van der Torre b a SUPAERO, Toulouse, France b CWI, Amsterdam, the Netherlands Abstract Design by contract

More information

Lecture 9: Reachability

Lecture 9: Reachability Lecture 9: Reachability Outline of Lecture Reachability General Transition Systems Algorithms for Reachability Safety through Reachability Backward Reachability Algorithm Given hybrid automaton H : set

More information

Functional Programming and Haskell

Functional Programming and Haskell Functional Programming and Haskell Tim Dawborn University of Sydney, Australia School of Information Technologies Tim Dawborn Functional Programming and Haskell 1/22 What are Programming Paradigms? A programming

More information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.6 Indirect Argument: Contradiction and Contraposition Copyright Cengage Learning. All

More information

Material from Recitation 1

Material from Recitation 1 Material from Recitation 1 Darcey Riley Frank Ferraro January 18, 2011 1 Introduction In CSC 280 we will be formalizing computation, i.e. we will be creating precise mathematical models for describing

More information

Putting APL Platforms to the Test: Agent Similarity and Execution Performance

Putting APL Platforms to the Test: Agent Similarity and Execution Performance Putting APL Platforms to the Test: Agent Similarity and Execution Performance Tristan Behrens, Koen Hindriks, Jomi Hübner, Mehdi Dastani IfI Technical Report Series IfI-10-09 Impressum Publisher: Institut

More information

General Overview of Mozart/Oz

General Overview of Mozart/Oz General Overview of Mozart/Oz Peter Van Roy pvr@info.ucl.ac.be 2004 P. Van Roy, MOZ 2004 General Overview 1 At a Glance Oz language Dataflow concurrent, compositional, state-aware, object-oriented language

More information

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * Pradip Peter Dey, Mohammad Amin, Bhaskar Raj Sinha and Alireza Farahani National University 3678 Aero Court San Diego, CA 92123 {pdey, mamin,

More information

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

More information

A Nested Petri Net Framework for Modeling and Analyzing Multi-Agent Systems

A Nested Petri Net Framework for Modeling and Analyzing Multi-Agent Systems Florida International University FIU Digital Commons FIU Electronic Theses and Dissertations University Graduate School 1-25-2011 A Nested Petri Net Framework for Modeling and Analyzing Multi-Agent Systems

More information

Agent-Oriented Programming as a Paradigm for Developing Modern Software Systems

Agent-Oriented Programming as a Paradigm for Developing Modern Software Systems Agent-Oriented Programming as a Paradigm for Developing Modern Software Systems Andrea Santi 1, Alessandro Ricci 1 a.santi@unibo.it, a.ricci@unibo.it Alma Mater Studiorum Università di Bologna Ph.D in

More information