Organising LTL Monitors over Systems with a Global Clock

Size: px
Start display at page:

Download "Organising LTL Monitors over Systems with a Global Clock"

Transcription

1 Organising LTL Monitors over Systems with a Global Clock Yliès Falcone joint work with Andreas Bauer (NICTA Canberra, Australia) and Christian Colombo (U of Malta, Malta) Univ. Grenoble Alpes, Inria, Laboratoire d Informatique de Grenoble, France DRV Workshop, Bertinoro, Italy Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 1 / 48

2 Outline 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 2 / 48

3 Outline Background 1 Background Monitoring Linear-time Temporal Logic (for monitoring) 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 3 / 48

4 Outline Background 1 Background Monitoring Linear-time Temporal Logic (for monitoring) 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 4 / 48

5 Classical runtime validation method: monitoring Runtime Verification [Klaus Havelund, Grigore Rosu] A lightweight verification technique bridging the gap between testing and verification Checking whether a run of the system under scrutiny satisfies a given correctness specification Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 5 / 48

6 Classical runtime validation method: monitoring Runtime Verification [Klaus Havelund, Grigore Rosu] A lightweight verification technique bridging the gap between testing and verification Checking whether a run of the system under scrutiny satisfies a given correctness specification Get a program/system Program Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 5 / 48

7 Classical runtime validation method: monitoring Runtime Verification [Klaus Havelund, Grigore Rosu] A lightweight verification technique bridging the gap between testing and verification Checking whether a run of the system under scrutiny satisfies a given correctness specification Get a program/system Synthesize a monitor: a decision procedure for the specification Program Monitor * e1 * e1 * e2 * * * Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 5 / 48

8 Classical runtime validation method: monitoring Runtime Verification [Klaus Havelund, Grigore Rosu] A lightweight verification technique bridging the gap between testing and verification Checking whether a run of the system under scrutiny satisfies a given correctness specification Get a program/system Synthesize a monitor: a decision procedure for the specification Instrument the underlying program to observe relevant events: e i Σ Program Monitor e1 e2 e5 e4 e2 e5 e3 * * e1 * e1 e * * * Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 5 / 48

9 Classical runtime validation method: monitoring Runtime Verification [Klaus Havelund, Grigore Rosu] A lightweight verification technique bridging the gap between testing and verification Checking whether a run of the system under scrutiny satisfies a given correctness specification Get a program/system Synthesize a monitor: a decision procedure for the specification Instrument the underlying program to observe relevant events: e i Σ A monitor acts at runtime as an oracle for the specification (validation/violation) Program e1 e2 e5 Monitor * e1 e2e4e2 * e1 e2 * e5 e4 e3 * * e2 * Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 5 / 48

10 Classical runtime validation method: monitoring Determine a set of atomic propositions AP of the system e.g., for a car AP = {speed low, seat belt 1 on,...} events 2 AP w = ϕ? Mon ϕ verdicts Several existing tools (e.g., Java-MOP [Rosu et al.], RuleR [Barringer et al.],... ) Applied to several domains: Java/C programs, Web services, Space flight software, system biology... Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 6 / 48

11 Outline Background 1 Background Monitoring Linear-time Temporal Logic (for monitoring) 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 7 / 48

12 Linear-time Temporal Logic Pnueli 77 One of the most widely used specification formalism Consider a set of atomic propositions AP Syntax: ϕ ::= p AP (ϕ) ϕ ϕ ϕ Xϕ ϕuϕ where:, are operators from propositional logic X is the next operator U is the until operator Additional operators: F is the eventually operator: Fϕ = true U ϕ G is the globally operator: Gϕ = (F( ϕ)) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 8 / 48

13 Linear-time Temporal Logic Semantics p AP Xp p arbitrary arbitrary arbitrary arbitrary arbitrary p arbitrary arbitrary arbitrary ϕ 1 Uϕ 2 ϕ 1 ϕ 2 ϕ 1 ϕ 2 ϕ 2 arbitrary arbitrary... Fϕ Gϕ ϕ ϕ ϕ arbitrary arbitrary ϕ ϕ ϕ ϕ ϕ Given w Σ and i 0 the (inductive) semantics is: w i = p p w(i), for any p AP w i = ϕ w i = ϕ w i = ϕ 1 ϕ 2 w i = ϕ 1 w i = ϕ 2 w i = Xϕ w i+1 = ϕ w i = ϕ 1 Uϕ 2 k [i, [. w k = ϕ 2 l [i, k[. w l = ϕ 1 Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 9 / 48

14 LTL for monitoring: LTL 3 - Bauer et al. LTL has mostly been used in validation techniques such as model-checking Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 10 / 48

15 LTL for monitoring: LTL 3 - Bauer et al. LTL has mostly been used in validation techniques such as model-checking The semantics needs to be adapted for monitoring 2 issues with a semantics over infinite sequences: liveness properties we do not know the future Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 10 / 48

16 LTL for monitoring: LTL 3 - Bauer et al. LTL has mostly been used in validation techniques such as model-checking The semantics needs to be adapted for monitoring 2 issues with a semantics over infinite sequences: liveness properties we do not know the future Fϕ Gϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ... unknown...false?... unknown...true? Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 10 / 48

17 LTL for monitoring: LTL 3 - Bauer et al. LTL has mostly been used in validation techniques such as model-checking The semantics needs to be adapted for monitoring 2 issues with a semantics over infinite sequences: liveness properties we do not know the future Fϕ Gϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ true ( ) false ( ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 10 / 48

18 LTL for monitoring: LTL 3 - Bauer et al. LTL has mostly been used in validation techniques such as model-checking The semantics needs to be adapted for monitoring 2 issues with a semantics over infinite sequences: liveness properties we do not know the future Fϕ Gϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ Definition (LTL 3 semantics for a formula ϕ) good(ϕ) = {u Σ u Σ ω L(ϕ)} bad(ϕ) = {u Σ u Σ ω Σ ω \ L(ϕ)} Given u Σ : if u good(ϕ) u = 3 ϕ if u bad(ϕ)? otherwise true ( ) false ( ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 10 / 48

19 Outline Motivations 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 11 / 48

20 An introductory example Most modern cars realise the following abstract requirement: Issue warning if one of the passengers is not wearing a seat belt (when the car has reached a certain speed). Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 12 / 48

21 An introductory example Most modern cars realise the following abstract requirement: Issue warning if one of the passengers is not wearing a seat belt (when the car has reached a certain speed). Could be formalised using LTL: ϕ := G ( speed low ((pressure sensor 1 high seat belt 1 on)... (pressure sensor n high seat belt n on)) ) and then monitored as usual... Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 12 / 48

22 An introductory example However, cars are nowadays highly distributed systems ( 130 CPUs): Legend: 3. Occupant sensing system (only one shown) 7. Seat-belt buckle sensors Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 13 / 48

23 An introductory example However, cars are nowadays highly distributed systems ( 130 CPUs): Legend: 3. Occupant sensing system (only one shown) 7. Seat-belt buckle sensors You can t easily monitor ϕ without central observation point! Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 13 / 48

24 Outline Decentralised Monitoring of LTL formulae 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae Our setting and the intuitive idea Organising Decentralised LTL Monitors (overview) Migration-based Monitoring 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 14 / 48

25 Outline Decentralised Monitoring of LTL formulae 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae Our setting and the intuitive idea Organising Decentralised LTL Monitors (overview) Migration-based Monitoring 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 15 / 48

26 Decentralised monitoring Our setting Distributed system operating under a global clock: Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 16 / 48

27 Decentralised monitoring Our setting Distributed system operating under a global clock: A set of components C 1,..., C n C 1... C i... C n Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 16 / 48

28 Decentralised monitoring Our setting Distributed system operating under a global clock: A set of components C 1,..., C n Σ = Σ 1... Σ n : all system events (where i, j : i j Σ i Σ j = ) C 1... C i... C n Σ 1 Σ i Σ n Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 16 / 48

29 Decentralised monitoring Our setting Distributed system operating under a global clock: A set of components C 1,..., C n Σ = Σ 1... Σ n : all system events (where i, j : i j Σ i Σ j = ) No central observation point but monitors M 1,..., M n are attached to components C 1... C i... C n Σ 1 Σ i Σ n M 1... M i... M n Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 16 / 48

30 Decentralised monitoring Our setting Distributed system operating under a global clock: A set of components C 1,..., C n Σ = Σ 1... Σ n : all system events (where i, j : i j Σ i Σ j = ) No central observation point but monitors M 1,..., M n are attached to components Synchronous bus: at time t a monitor may send/receive a message: At t + 1 this message is received by the recipient. That is, computation takes no time. C 1... C i... C n Σ 1 Σ i Σ n M 1... M i... M n SYNCHRONOUS BUS Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 16 / 48

31 Decentralised monitoring the idea C 1... C i... C n Σ 1 Σ i Σ n M 1... M i... M n SYNCHRONOUS BUS Monitoring ϕ(σ)? Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 17 / 48

32 Decentralised monitoring the idea Distribute ϕ s evaluation & exchange obligations Proposed Solution: C 1... C i... C n Σ 1 Σ i Σ n M 1 ϕ t 1... M i ϕ t i... M n ϕ t n SYNCHRONOUS BUS Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 17 / 48

33 Decentralised monitoring the idea Distribute ϕ s evaluation & exchange obligations Proposed Solution: C 1... C i... C n Σ 1 Σ i Σ n M 1 ϕ t 1... M i ϕ t i... M n ϕ t n Three organizations of monitors: orchestration, migration, and choreography (borrowing terminology from Francalanza et al.) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 17 / 48

34 A note on the global clock and synchrony Is a global clock realistic? Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 18 / 48

35 A note on the global clock and synchrony Is a global clock realistic? Not always, but many safety critical systems use it. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 18 / 48

36 A note on the global clock and synchrony Is a global clock realistic? Not always, but many safety critical systems use it. Automotive domain uses FlexRay data bus, which has (among others) a synchronous transfer mode: Flight-control systems mostly synchronous (fly-by-wire): Examples for implementation/verification systems used in this domain: SIGNAL, Lustre, Astrée verifier, etc. Examples: Steer-by-wire, brake-by-wire, engine management, etc. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 18 / 48

37 Outline Decentralised Monitoring of LTL formulae 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae Our setting and the intuitive idea Organising Decentralised LTL Monitors (overview) Migration-based Monitoring 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 19 / 48

38 Orchestration (simplified) M : G (Xa 1 c 1 (b 1 b 2 )) M : a 1 Comp. A M : b 1, b 2 M : c 1 Comp. B Comp. C Central point monitoring the global formula. Several communication protocols can be used to forward local observations. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 20 / 48

39 Orchestration (simplified) M : G (Xa 1 c 1 (b 1 b 2 )) M : a 1 Comp. A M : b 1, b 2 M : c 1 Comp. B Comp. C Central point monitoring the global formula. Several communication protocols can be used to forward local observations. At the central site, at each time step, when globally monitoring ϕ: 1 Wait for all observations to arrive from the remote components. 2 Merge all observations to form an event. 3 Progress ϕ with the event and simplify the progressed formula. 4 If a verdict is reached, stop monitoring and report result. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 20 / 48

40 Migration (simplified) M : Comp. A M : G (Xa 1 c 1 (b 1 b 2)) M : Comp. B Comp. C Migration takes place M : Comp. A M : M : G (Xa 1 c 1 (b 1 b 2)) (a 1 P c 1) Comp. B Comp. C Monitor state encoded by a formula traversing the network. Formula to be satisfied given the local observations of traversed components. Formula may contain references to past time instants. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 21 / 48

41 Migration (ctd) M : Comp. A M : G (Xa 1 c 1 (b 1 b 2)) M : Comp. B Comp. C Migration takes place M : Comp. A M : M : G (Xa 1 c 1 (b 1 b 2)) (a 1 P c 1) Comp. B Comp. C At each component with a formula ϕ to process, at each time step: 1 Use the current local observations to resolve relevant propositions. 2 Use the local history to resolve any past references to local observations. 3 Progress ϕ using obligations to earlier observations when not locally available. 4 If a verdict is reached, stop monitoring and report result. 5 Otherwise, select the component which can resolve the oldest obligation and send the formula to this component. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 22 / 48

42 Choreography (simplified) M : a 1 Comp. A M : X c 1 M : G ( (b 1 b 2)) Comp. C Comp. B Breaking down the formula across the network (following its syntax tree). Tree structure where results from subformulae flow up to the parent formula. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 23 / 48

43 Choreography (simplified) M : a 1 M : X c 1 M : G ( (b 1 b 2)) Comp. A Comp. C Comp. B Breaking down the formula across the network (following its syntax tree). Tree structure where results from subformulae flow up to the parent formula. At each time instant, on each component: 1 If a verdict from a child is received: 1 Substitute the verdict for the corresponding place holder in the local formula; 2 Apply simplification rules to the local formula. 2 Progress the local formula using the local observation. 3 If the local formula reaches a verdict, send the verdict to the parent (if any). 4 If the formula at the root of the tree reaches a verdict, stop monitoring and report result. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 23 / 48

44 Outline Decentralised Monitoring of LTL formulae 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae Our setting and the intuitive idea Organising Decentralised LTL Monitors (overview) Migration-based Monitoring 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 24 / 48

45 Monitoring by progression Definition (Progression function P : LTL Σ LTL) Let ϕ, ϕ 1, ϕ 2 LTL, and σ Σ be an event. P(p AP, σ) =, if p σ, otherwise P(ϕ 1 ϕ 2, σ) = P(ϕ 1, σ) P(ϕ 2, σ) P(ϕ 1Uϕ 2, σ) = P(ϕ 2, σ) P(ϕ 1, σ) ϕ 1Uϕ 2 P(Gϕ, σ) = P(ϕ, σ) G(ϕ) P(Fϕ, σ) = P(ϕ, σ) F(ϕ) P(, σ) = P(, σ) = P( ϕ, σ) = P(ϕ, σ) P(Xϕ, σ) = ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 25 / 48

46 Monitoring by progression Definition (Progression function P : LTL Σ LTL) Let ϕ, ϕ 1, ϕ 2 LTL, and σ Σ be an event. P(p AP, σ) =, if p σ, otherwise P(ϕ 1 ϕ 2, σ) = P(ϕ 1, σ) P(ϕ 2, σ) P(ϕ 1Uϕ 2, σ) = P(ϕ 2, σ) P(ϕ 1, σ) ϕ 1Uϕ 2 P(Gϕ, σ) = P(ϕ, σ) G(ϕ) P(Fϕ, σ) = P(ϕ, σ) F(ϕ) P(, σ) = P(, σ) = P( ϕ, σ) = P(ϕ, σ) P(Xϕ, σ) = ϕ Example (Progression) Let ϕ = G(a b c) At time t = 0, let u = {a} Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 25 / 48

47 Monitoring by progression Definition (Progression function P : LTL Σ LTL) Let ϕ, ϕ 1, ϕ 2 LTL, and σ Σ be an event. P(p AP, σ) =, if p σ, otherwise P(ϕ 1 ϕ 2, σ) = P(ϕ 1, σ) P(ϕ 2, σ) P(ϕ 1Uϕ 2, σ) = P(ϕ 2, σ) P(ϕ 1, σ) ϕ 1Uϕ 2 P(Gϕ, σ) = P(ϕ, σ) G(ϕ) P(Fϕ, σ) = P(ϕ, σ) F(ϕ) P(, σ) = P(, σ) = P( ϕ, σ) = P(ϕ, σ) P(Xϕ, σ) = ϕ Example (Progression) Let ϕ = G(a b c) At time t = 0, let u = {a} P(ϕ, u) = P(a b c, u) G(a b c) = ( P(a, u) P(b, u) P(c, u) ) G(a b c) = G(a b c) = Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 25 / 48

48 Monitoring by progression Definition (Progression function P : LTL Σ LTL) Let ϕ, ϕ 1, ϕ 2 LTL, and σ Σ be an event. P(p AP, σ) =, if p σ, otherwise P(ϕ 1 ϕ 2, σ) = P(ϕ 1, σ) P(ϕ 2, σ) P(ϕ 1Uϕ 2, σ) = P(ϕ 2, σ) P(ϕ 1, σ) ϕ 1Uϕ 2 P(Gϕ, σ) = P(ϕ, σ) G(ϕ) P(Fϕ, σ) = P(ϕ, σ) F(ϕ) P(, σ) = P(, σ) = P( ϕ, σ) = P(ϕ, σ) P(Xϕ, σ) = ϕ Example (Progression) Let ϕ = G(a b c) At time t = 0, let u = {a, c} P(ϕ, u) = P(a b c, u) G(a b c) = ( P(a, u) P(b, u) P(c, u) ) G(a b c) = G(a b c) = G(a b c) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 25 / 48

49 Monitoring by progression Progression provides a monitoring algorithm P(P(... P(ϕ, u(0))..., u(n 1)), u(n)) = = u good(ϕ) P(P(... P(ϕ, u(0))..., u(n 1)), u(n)) = = u bad(ϕ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 26 / 48

50 Monitoring by progression Progression provides a monitoring algorithm P(P(... P(ϕ, u(0))..., u(n 1)), u(n)) = = u good(ϕ) P(P(... P(ϕ, u(0))..., u(n 1)), u(n)) = = u bad(ϕ) Observe: Efficiency does not depend on length of trace, but Potential formula explosion problem continuous syntactic simplification Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 26 / 48

51 Is (classical) progression adequate for migration? Example (Non-adequacy of (classical) progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 27 / 48

52 Is (classical) progression adequate for migration? Example (Non-adequacy of (classical) progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) We apply progression on each component in separation (with their local observation) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 27 / 48

53 Is (classical) progression adequate for migration? Example (Non-adequacy of (classical) progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) We apply progression on each component in separation (with their local observation) Let s take a look at what happens on M A : P A (ϕ, u) = P A (ϕ, {a}) = P A (a b c, {a}) G(a b c) = ( ) G(a b c) = Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 27 / 48

54 Is (classical) progression adequate for migration? Example (Non-adequacy of (classical) progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) We apply progression on each component in separation (with their local observation) Let s take a look at what happens on M A : P A (ϕ, u) = P A (ϕ, {a}) = P A (a b c, {a}) G(a b c) = ( ) G(a b c) = However, u is not a bad prefix! Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 27 / 48

55 Decentralising progression on some component C i Not much changes except for atomic propositions... Definition (Decentralised progression for atomic propositions) On some component C i with atomic propositions AP i if p σ P(p, σ, AP i ) = if p / σ p AP i Xp otherwise Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 28 / 48

56 Decentralising progression on some component C i Not much changes except for atomic propositions... Definition (Decentralised progression for atomic propositions) On some component C i with atomic propositions AP i if p σ P(p, σ, AP i ) = if p / σ p AP i Xp otherwise Definition (Decentralised progression for past goals) On some component C i with atomic propositions AP i if p AP i Π i (σ( m)) P(X m p, σ, AP i ) = if p AP i \ Π i (σ( m)) X m+1 p otherwise where Π i (σ( m)) is the event observed m times ago on C i Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 28 / 48

57 Back to the example Example (Adequacy of decentralised progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) We apply decentralised progression on each component in separation (with their local observation) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 29 / 48

58 Back to the example Example (Adequacy of decentralised progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) We apply decentralised progression on each component in separation (with their local observation) Let s take a look at what happens on M A : P A (ϕ, u) = P A (ϕ, {a}) = P A (a b c, {a}, {a}) G(a b c) = P A (a b c, {a}, {a}) P A (a b c, {b}, {a}) P A (a b c, {c}, {a}) G(a b c) = ( Xb Xc) G(a b c) = (Xb Xc) G(a b c) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 29 / 48

59 Back to the example Example (Adequacy of decentralised progression) Architecture with components A, B, C, resp. observing propositions a, b, c At time t = 0, u = {a, c} and ϕ = G(a b c) We apply decentralised progression on each component in separation (with their local observation) Let s take a look at what happens on M A : P A (ϕ, u) = P A (ϕ, {a}) = P A (a b c, {a}, {a}) G(a b c) = P A (a b c, {a}, {a}) P A (a b c, {b}, {a}) P A (a b c, {c}, {a}) G(a b c) = ( Xb Xc) G(a b c) = (Xb Xc) G(a b c) Monitoring can continue :-) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 29 / 48

60 Outline Decentralised Monitoring of LTL formulae 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae Our setting and the intuitive idea Organising Decentralised LTL Monitors (overview) Migration-based Monitoring Decentralised Monitoring 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 30 / 48

61 Decentralised Monitoring: local algorithm at time t C 1... C i... C n M 1... M i... M n SYNCHRONOUS BUS Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

62 Decentralised Monitoring: local algorithm at time t C 1... C i... C n M 1 ϕ t 1... M i ϕ t i... M n ϕ t n SYNCHRONOUS BUS L1. [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

63 Decentralised Monitoring: local algorithm at time t C 1... C i... C n M 1 ϕ t 1... M i ϕ t i... M n ϕ t n conjunct conjunct conjunct {ϕ j } j [1,m],j 1 SYNCHRONOUS {ϕ j } j [1,m],j i BUS {ϕ j } j [1,m],j n L1. [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) L2. [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

64 Decentralised Monitoring: local algorithm at time t C 1... C i... C n Σ 1 Σ i Σ n M 1 ϕ t 1... M i ϕ t i... M n ϕ t n SYNCHRONOUS BUS L1. [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) L2. [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j L3. [Receive event.] Read next σ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

65 Decentralised Monitoring: local algorithm at time t C 1... C i... C n Progr. ϕ t Progr. ϕ t+1 i... Progr. ϕ t+1 n SYNCHRONOUS BUS L1. [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) L2. [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j L3. [Receive event.] Read next σ L4. [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

66 Decentralised Monitoring: local algorithm at time t C 1... C i... C n Progr. ϕ t Progr. ϕ t+1 i... Progr. ϕ t+1 n SYNCHRONOUS BUS L1. [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) L2. [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j L3. [Receive event.] Read next σ L4. [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) L5. [Evaluate and return.] If ϕ t+1 i = return, if ϕ t+1 i = return Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

67 Decentralised Monitoring: local algorithm at time t C 1... C i... C n Progr. ϕ t Progr. ϕ t+1 i... Progr. ϕ t+1 n SYNCHRONOUS BUS L1. [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) L2. [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j L3. [Receive event.] Read next σ L4. [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) L5. [Evaluate and return.] If ϕ t+1 i = return, if ϕ t+1 i = return L6. [Communicate.] If ϕ t+1 i is urgent send it to the most relevant monitor Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 31 / 48

68 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

69 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} A B C Σ A Σ B Σ B M A M B M C Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

70 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A ϕ M B ϕ M C ϕ [L1.] [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

71 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A ϕ M B ϕ M C ϕ [L2.] [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

72 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C {a} {b} M A ϕ M B ϕ M C ϕ [L3.] [Receive event.] Read next σ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

73 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A Xb Xc ϕ M B Xa Xc ϕ M C ϕ [L4.] [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) ϕ 1 A := P(ϕ, {a}, AP A) = P(a b c, {a}, AP A ) ϕ = Xb Xc ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

74 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A Xb Xc ϕ M B Xa Xc ϕ M C ϕ [L4.] [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) ϕ 1 A := P(ϕ, {a}, AP A) = P(a b c, {a}, AP A ) ϕ = Xb Xc ϕ ϕ 1 B := P(ϕ, {b}, AP B) = P(a b c, {b}, AP B ) ϕ = Xa Xc ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

75 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A Xb Xc ϕ M B Xa Xc ϕ M C ϕ [L4.] [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) ϕ 1 A := P(ϕ, {a}, AP A) = P(a b c, {a}, AP A ) ϕ = Xb Xc ϕ ϕ 1 B := P(ϕ, {b}, AP B) = P(a b c, {b}, AP B ) ϕ = Xa Xc ϕ ϕ 1 C := P(ϕ,, AP C) = P(a b c,, AP C ) ϕ = ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

76 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A Xb Xc ϕ M B Xa Xc ϕ M C ϕ [L5.] [Evaluate and return.] If ϕ t+1 i = return, if ϕ t+1 i = return Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

77 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 0 A B C M A Xb Xc ϕ M B Xa Xc ϕ M C ϕ [L6.] [Communicate.] If ϕ t+1 i is urgent send it to the most relevant monitor urgency(ϕ 1 A ) = urgency(xb Xc ϕ) = 1 M B urgency(ϕ 1 B ) = urgency(xa Xc ϕ) = 1 M A urgency(ϕ 1 C ) = urgency(ϕ) = 0 Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

78 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A # M B # M C ϕ [L1.] [Next goal.] Let ϕ t i be the monitor s current local obligation (ϕ 0 i := ϕ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

79 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A Xa Xc ϕ M B Xb Xc ϕ M C ϕ [L2.] [Receive messages.] ({ϕ j } j [1,m],j i : received obligations) Set ϕ t i := ϕ t i j [1,m],j i ϕ j Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

80 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C {a} {b} {c} M A Xa Xc ϕ M B Xb Xc ϕ M C ϕ [L3.] [Receive event.] Read next σ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

81 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A X 2 c (Xb Xc ϕ) M B X 2 c (Xb Xc ϕ) M C Xa Xb ϕ [L4.] [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) ϕ 2 A := P( Xa Xc ϕ #, {a}, AP A ) = X 2 c (Xb Xc ϕ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

82 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A X 2 c (Xb Xc ϕ) M B X 2 c (Xb Xc ϕ) M C Xa Xb ϕ [L4.] [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) ϕ 2 A := P( Xa Xc ϕ #, {a}, AP A ) = X 2 c (Xb Xc ϕ) ϕ 2 B := P(Xb Xc ϕ #, {b}, AP B) = X 2 c (Xa Xc ϕ) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

83 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A X 2 c (Xb Xc ϕ) M B X 2 c (Xb Xc ϕ) M C Xa Xb ϕ [L4.] [Progress.] Let the rewriting engine determine ϕ t+1 i := P(ϕ t i, σ, AP i) ϕ 2 A := P( Xa Xc ϕ #, {a}, AP A ) = X 2 c (Xb Xc ϕ) ϕ 2 B := P(Xb Xc ϕ #, {b}, AP B) = X 2 c (Xa Xc ϕ) ϕ 2 C := P(ϕ, {c}, AP C) = Xa Xb ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

84 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A X 2 c (Xb Xc ϕ) M B X 2 c (Xb Xc ϕ) M C Xa Xb ϕ [L5.] [Evaluate and return.] If ϕ t+1 i = return, if ϕ t+1 i = return Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

85 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with AP A = {a}, AP B = {b}, AP C = {c} t = 1 A B C M A X 2 c (Xb Xc ϕ) M B X 2 c (Xb Xc ϕ) M C Xa Xb ϕ [L6.] [Communicate.] If ϕ t+1 i urgency(x 2 c (Xa Xc ϕ)) = 2 M C urgency(x 2 c (Xa Xc ϕ)) = 2 M C urgency(xa Xb ϕ) = 1 M A is urgent send it to the most relevant monitor Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 32 / 48

86 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with Σ A = {a}, Σ B = {b}, Σ C = {c} t: 0 1 σ: {a, b} {a, b, c} M A : M B : M C : ϕ 1 A ϕ 1 B ϕ 1 C := P(ϕ, {a}, AP A ) = P(a b c, {a}, AP A ) ϕ = Xb Xc ϕ := P(ϕ, {b}, AP B ) = P(a b c, {b}, AP B ) ϕ = Xa Xc ϕ := P(ϕ, {c}, AP C ) = P(a b c,, AP C ) ϕ = ϕ ϕ 2 A := P(ϕ 1 B #, {a}, AP A) = X 2 c (Xb Xc ϕ) ϕ 2 B := P(ϕ 1 A #, {b}, AP B) = X 2 c (Xa Xc ϕ) ϕ 2 C := P(ϕ, {c}, AP C ) = Xa Xb ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 33 / 48

87 Decent. progress. of ϕ = F(a b c), 3 components Monitoring ϕ = F(a b c) over {a, b} {a, b, c} with Σ A = {a}, Σ B = {b}, Σ C = {c} t: 0 1 σ: {a, b} {a, b, c} M A : M B : M C : ϕ 1 A ϕ 1 B ϕ 1 C := P(ϕ, {a}, AP A ) = P(a b c, {a}, AP A ) ϕ = Xb Xc ϕ := P(ϕ, {b}, AP B ) = P(a b c, {b}, AP B ) ϕ = Xa Xc ϕ := P(ϕ, {c}, AP C ) = P(a b c,, AP C ) ϕ = ϕ t: 2 3 σ: M A : ϕ 3 A := P(ϕ 2 C #,, AP A) = X 2 b (Xb Xc ϕ) ϕ 4 A := P(ϕ 3 C #,, AP A) = X 3 b (Xb Xc ϕ) M B : ϕ 3 B := P(#,, AP B ) ϕ 4 B := P(ϕ 3 A #,, AP B) = # = M C : ϕ 3 C := P(ϕ 2 A ϕ2 B #,, AP C) ϕ 4 = X 2 a X 2 C := P(#,, AP C ) b ϕ = # ϕ 2 A := P(ϕ 1 B #, {a}, AP A) = X 2 c (Xb Xc ϕ) ϕ 2 B := P(ϕ 1 A #, {b}, AP B) = X 2 c (Xa Xc ϕ) ϕ 2 C := P(ϕ, {c}, AP C ) = Xa Xb ϕ Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 33 / 48

88 Some properties of the algorithm Let ϕ LTL and u Σ What is the link between: = 3 : centralised LTL 3 semantics = D : decentralised LTL 3 semantics Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 34 / 48

89 Some properties of the algorithm Let ϕ LTL and u Σ What is the link between: = 3 : centralised LTL 3 semantics = D : decentralised LTL 3 semantics Theorem (Soundness) u = D ϕ = / u = 3 ϕ = / u = 3 ϕ =? u = D ϕ =? Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 34 / 48

90 Some properties of the algorithm Let ϕ LTL and u Σ What is the link between: = 3 : centralised LTL 3 semantics = D : decentralised LTL 3 semantics Theorem (Soundness) u = D ϕ = / u = 3 ϕ = / u = 3 ϕ =? u = D ϕ =? Theorem (Completeness) u = 3 ϕ = / u Σ. u M u u = D ϕ = / Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 34 / 48

91 How much a monitor has to remember? Theorem (Maximum delay) Let X m p LTL be a local obligation on some monitor M i M In the worst case, m min( M, t + 1) at any time t N 0 Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 35 / 48

92 How much a monitor has to remember? Theorem (Maximum delay) Let X m p LTL be a local obligation on some monitor M i M In the worst case, m min( M, t + 1) at any time t N 0 This, at the same time, reflects the communication delay by which a decentralised monitor may come to a verdict! Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 35 / 48

93 How much a monitor has to remember? Theorem (Maximum delay) Let X m p LTL be a local obligation on some monitor M i M In the worst case, m min( M, t + 1) at any time t N 0 This, at the same time, reflects the communication delay by which a decentralised monitor may come to a verdict! However Unless, there could be a (possibly infinite) delay not due to communication: XXtrue and G(trueU(Gb F b)) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 35 / 48

94 How much a monitor has to remember? Theorem (Maximum delay) Let X m p LTL be a local obligation on some monitor M i M In the worst case, m min( M, t + 1) at any time t N 0 This, at the same time, reflects the communication delay by which a decentralised monitor may come to a verdict! However Unless, there could be a (possibly infinite) delay not due to communication: XXtrue and G(trueU(Gb F b)) Corollary Given a clean input : communication delay = memory requirements = verdict delay. (Otherwise, we can t say much at all.) Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 35 / 48

95 Outline Decentralised Monitoring of LTL formulae 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 36 / 48

96 DecentMon: an OCaml benchmark DecentMon: an OCaml benchmark simulating the decentralised algorithm LTL formula or LTL specification pattern Trace(s) Architecture DecentMon Verdict Monitoring statistics Occurrences of atomic propositions can be parameterised according to several probability distributions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 37 / 48

97 What we wanted to compare Two monitoring modes: decentralised mode (i.e., each trace is read by a separate monitor) centralised mode by merging the traces and using a central monitor C 1 M 1 C 2 M 2 C 3 M 3 C 4 M 4 C 1 C 2 C 3 C 4 M VS. Four metrics: length of the trace needed to reach a verdict number and size of messages exchanged between monitors number of progressions performed by local monitors Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 38 / 48

98 Experimental Results - trace length random formula generation biased formula generation orchestration migration choreography orchestration migration choreography orchestration migration orchestration migration 20 choreography 20 choreography Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 39 / 48

99 Experimental Results - number of messages random formula generation biased formula generation orchestration migration choreography 40 orchestration migration choreography orchestration migration 60 orchestration migration 100 choreography 40 choreography Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 40 / 48

100 Experimental Results - size of messages random formula generation biased formula generation 20 orchestration migration 6 orchestration migration 15 choreography 4 choreography orchestration orchestration migration choreography 10 migration choreography Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 41 / 48

101 Experimental Results - number of progressions random formula generation orchestration migration choreography biased formula generation orchestration migration choreography orchestration migration orchestration migration 3000 choreography 1000 choreography Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 42 / 48

102 Outline Conclusions 1 Background 2 Motivations 3 Decentralised Monitoring of LTL formulae 4 Implementation and Evaluation 5 Conclusions Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 43 / 48

103 Conclusions Summary [FM12, RV14, FMSD16a, FMSD16b] Monitoring of (off the shelf) LTL specifications in a decentralised fashion No central observation point Keeping the communication at a minimum with negligible delay Validated by experimental results Future Work Operational description of specifications (e.g. automata). Heuristics based on syntactic criteria to determine the organisation of monitor. Rigorous analysis of the cost of decentralised monitoring. Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 44 / 48

104 Please consider submitting to RV 2016 :-)! The 16th International Conference on Runtime Verification, September , Madrid, Spain Abstract deadline: May 20, 2016 Paper and tutorial deadline: May 27, 2016 COST ARVI Summer school on Runtime Verification: September 23-25, 2016 Workshops and tutorials: September 26-27, 2016 Conference: September 28-30, 2016 Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 45 / 48

105 References I Andreas Klaus Bauer and Yliès Falcone. Decentralised LTL monitoring. In FM 2012: Formal Methods - 18th International Symposium, Paris, France, August 27-31, Proceedings, pages , Andreas Bauer and Yliès Falcone. Decentralised LTL monitoring. Formal Methods in System Design, To appear. Online version at Springer. Christian Colombo and Yliès Falcone. Organising LTL monitors over distributed systems with a global clock. Formal Methods in System Design, To appear. Online version at Springer. Christian Colombo and Yliès Falcone. Organising LTL monitors over distributed systems with a global clock. In Runtime Verification - 5th International Conference, RV 2014, Toronto, ON, Canada, September 22-25, Proceedings, pages , Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 46 / 48

106 Related Work Diagnosis of DES detect the occurrence of a fault after a finite number of discrete steps diagnosability: a system model is diagnosable if it is always the case that the occurrence of a fault can be detected after a finite number of discrete steps Uses the model of a system (usually contains faulty + nominal behaviours) Decentralised observability Various degrees of observability depending on available memory of local observers Combine the local observers states after reading some trace to a truthful verdict w.r.t. the monitored property Comparison with our approach: No central-observation point Observability is taken for granted Minimisation of communication overhead Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 47 / 48

107 Related Work (ctd) Monitoring MtTL monitoring properties of asynchronous systems [Sen et al.] systems operating concurrently partially ordered traces LTL + modalities about the distributed nature of the system Comparison with our approach: synchronous systems not restricted to safety properties no collection of global behavior Monitoring distributed controllers [Genon et al.] partially ordered traces (asynchronous systems) exploration of execution interleavings restricted to bad prefixes Y. Falcone (Univ. Grenoble Alpes, Inria, LIG) DRV, Bertinoro, Italy 48 / 48

Formal Verification. Lecture 5: Computation Tree Logic (CTL)

Formal Verification. Lecture 5: Computation Tree Logic (CTL) Formal Verification Lecture 5: Computation Tree Logic (CTL) Jacques Fleuriot 1 jdf@inf.ac.uk 1 With thanks to Bob Atkey for some of the diagrams. Recap Previously: Linear-time Temporal Logic This time:

More information

FORMAL MODELING AND VERIFICATION OF MULTI-AGENTS SYSTEM USING WELL- FORMED NETS

FORMAL MODELING AND VERIFICATION OF MULTI-AGENTS SYSTEM USING WELL- FORMED NETS FORMAL MODELING AND VERIFICATION OF MULTI-AGENTS SYSTEM USING WELL- FORMED NETS Meriem Taibi 1 and Malika Ioualalen 1 1 LSI - USTHB - BP 32, El-Alia, Bab-Ezzouar, 16111 - Alger, Algerie taibi,ioualalen@lsi-usthb.dz

More information

Logic and Artificial Intelligence Lecture 18

Logic and Artificial Intelligence Lecture 18 Logic and Artificial Intelligence Lecture 18 Eric Pacuit Currently Visiting the Center for Formal Epistemology, CMU Center for Logic and Philosophy of Science Tilburg University ai.stanford.edu/ epacuit

More information

Scheduling. Radek Mařík. April 28, 2015 FEE CTU, K Radek Mařík Scheduling April 28, / 48

Scheduling. Radek Mařík. April 28, 2015 FEE CTU, K Radek Mařík Scheduling April 28, / 48 Scheduling Radek Mařík FEE CTU, K13132 April 28, 2015 Radek Mařík (marikr@fel.cvut.cz) Scheduling April 28, 2015 1 / 48 Outline 1 Introduction to Scheduling Methodology Overview 2 Classification of Scheduling

More information

R2U2 in Space: System & Software Health Management for Small Satellites

R2U2 in Space: System & Software Health Management for Small Satellites R2U2 in Space: System & Software Health Management for Small Satellites Kristin Yvonne Rozier, Iowa State University Joint work with Johann Schumann (SGT/NASA Ames) December 15, 2016 A Recent Motivation...

More information

A Model-Theoretic Approach to the Verification of Situated Reasoning Systems

A Model-Theoretic Approach to the Verification of Situated Reasoning Systems A Model-Theoretic Approach to the Verification of Situated Reasoning Systems Anand 5. Rao and Michael P. Georgeff Australian Artificial Intelligence Institute 1 Grattan Street, Carlton Victoria 3053, Australia

More information

Where s Waldo? Sensor-Based Temporal Logic Motion Planning

Where s Waldo? Sensor-Based Temporal Logic Motion Planning Where s Waldo? Sensor-Based Temporal Logic Motion Planning Hadas Kress-Gazit, Georgios E. Fainekos and George J. Pappas GRASP Laboratory, University of Pennsylvania Philadelphia, PA 19104, USA {hadaskg,fainekos,pappasg}@grasp.upenn.edu

More information

Formal Description of the Chord Protocol using ASM

Formal Description of the Chord Protocol using ASM Formal Description of the Chord Protocol using ASM Bojan Marinković 1, Paola Glavan 2, Zoran Ognjanović 1 Mathematical Institute of the Serbian Academy of Sciences and Arts 1 Belgrade, Serbia [bojanm,

More information

Harmonic Distortion Levels Measured at The Enmax Substations

Harmonic Distortion Levels Measured at The Enmax Substations Harmonic Distortion Levels Measured at The Enmax Substations This report documents the findings on the harmonic voltage and current levels at ENMAX Power Corporation (EPC) substations. ENMAX is concerned

More information

Membrane Computing as Multi Turing Machines

Membrane Computing as Multi Turing Machines Volume 4 No.8, December 2012 www.ijais.org Membrane Computing as Multi Turing Machines Mahmoud Abdelaziz Amr Badr Ibrahim Farag ABSTRACT A Turing machine (TM) can be adapted to simulate the logic of any

More information

A Case Study on Runtime Monitoring of an Autonomous Research Vehicle (ARV) System

A Case Study on Runtime Monitoring of an Autonomous Research Vehicle (ARV) System A Case Study on Runtime Monitoring of an Autonomous Research Vehicle (ARV) System Aaron Kane 1(B), Omar Chowdhury 2, Anupam Datta 1, and Philip Koopman 1 1 Carnegie Mellon University, Pittsburgh, PA, USA

More information

William Milam Ford Motor Co

William Milam Ford Motor Co Sharing technology for a stronger America Verification Challenges in Automotive Embedded Systems William Milam Ford Motor Co Chair USCAR CPS Task Force 10/20/2011 What is USCAR? The United States Council

More information

ADVANCES in electronics technology have made the transition

ADVANCES in electronics technology have made the transition JOURNAL OF L A TEX CLASS FILES 1 Specification and Synthesis of Reactive Protocols for Aircraft Electric Power Distribution Huan Xu 1, Ufuk Topcu 2, and Richard M. Murray 1 Abstract The increasing complexity

More information

Some Thoughts on Runtime Verification

Some Thoughts on Runtime Verification Some Thoughts on Runtime Verification Oded Maler VERIMAG CNRS and the University of Grenoble (UGA) France RV, September 2016 Madrid Before Dinner Speech I like long and general introductions in my papers

More information

Verification of Autonomy Software

Verification of Autonomy Software Verification of Autonomy Software Contact: Charles Pecheur (RIACS) pecheur@email.arc.nasa.gov with Tony Lindsey (QSS) Stacy Nelson (NelsonConsult) Reid Simmons (Carnegie Mellon) Alessandro Cimatti (IRST,

More information

Experimental Cooperative Control of Fixed-Wing Unmanned Aerial Vehicles

Experimental Cooperative Control of Fixed-Wing Unmanned Aerial Vehicles Experimental Cooperative Control of Fixed-Wing Unmanned Aerial Vehicles Selcuk Bayraktar, Georgios E. Fainekos, and George J. Pappas GRASP Laboratory Departments of ESE and CIS University of Pennsylvania

More information

22c181: Formal Methods in Software Engineering. The University of Iowa Spring Propositional Logic

22c181: Formal Methods in Software Engineering. The University of Iowa Spring Propositional Logic 22c181: Formal Methods in Software Engineering The University of Iowa Spring 2010 Propositional Logic Copyright 2010 Cesare Tinelli. These notes are copyrighted materials and may not be used in other course

More information

Intelligent Agents. Introduction to Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 23.

Intelligent Agents. Introduction to Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 23. Intelligent Agents Introduction to Planning Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University last change: 23. April 2012 U. Schmid (CogSys) Intelligent Agents last change: 23.

More information

Antlab: a Multi-Robot Task Server

Antlab: a Multi-Robot Task Server Antlab: a Multi-Robot Task Server IVAN GAVRAN, MPI-SWS RUPAK MAJUMDAR, MPI-SWS INDRANIL SAHA, IIT Kanpur We present Antlab, an end-to-end system that takes streams of user task requests and executes them

More information

From ProbLog to ProLogic

From ProbLog to ProLogic From ProbLog to ProLogic Angelika Kimmig, Bernd Gutmann, Luc De Raedt Fluffy, 21/03/2007 Part I: ProbLog Motivating Application ProbLog Inference Experiments A Probabilistic Graph Problem What is the probability

More information

End-to-End Privacy Accountability

End-to-End Privacy Accountability End-to-End Privacy Accountability Denis Butin 1 and Daniel Le Métayer 2 1 TU Darmstadt 2 Inria, Université de Lyon TELERISE, 18 May 2015 1 / 17 Defining Accountability 2 / 17 Is Accountability Needed?

More information

18 Completeness and Compactness of First-Order Tableaux

18 Completeness and Compactness of First-Order Tableaux CS 486: Applied Logic Lecture 18, March 27, 2003 18 Completeness and Compactness of First-Order Tableaux 18.1 Completeness Proving the completeness of a first-order calculus gives us Gödel s famous completeness

More information

Introduction (concepts and definitions)

Introduction (concepts and definitions) Objectives: Introduction (digital system design concepts and definitions). Advantages and drawbacks of digital techniques compared with analog. Digital Abstraction. Synchronous and Asynchronous Systems.

More information

5.4 Imperfect, Real-Time Decisions

5.4 Imperfect, Real-Time Decisions 5.4 Imperfect, Real-Time Decisions Searching through the whole (pruned) game tree is too inefficient for any realistic game Moves must be made in a reasonable amount of time One has to cut off the generation

More information

Coverage Metrics. UC Berkeley EECS 219C. Wenchao Li

Coverage Metrics. UC Berkeley EECS 219C. Wenchao Li Coverage Metrics Wenchao Li EECS 219C UC Berkeley 1 Outline of the lecture Why do we need coverage metrics? Criteria for a good coverage metric. Different approaches to define coverage metrics. Different

More information

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom

UMLEmb: UML for Embedded Systems. II. Modeling in SysML. Eurecom UMLEmb: UML for Embedded Systems II. Modeling in SysML Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/umlemb/ @UMLEmb Eurecom Goals Learning objective

More information

Introduction to Real-time software systems Draft Edition

Introduction to Real-time software systems Draft Edition Introduction to Real-time software systems Draft Edition Jan van Katwijk Janusz Zalewski DRAFT VERSION of November 2, 1998 2 Chapter 1 Introduction 1.1 General introduction Information technology is of

More information

Performance Tuning of Failure Detectors in Wireless Ad-Hoc Networks: Modelling and Experiments

Performance Tuning of Failure Detectors in Wireless Ad-Hoc Networks: Modelling and Experiments Performance Tuning of Failure Detectors in Wireless Ad-Hoc Networks: Modelling and Experiments {Corine.Marchand,Jean-Marc.Vincent}@imag.fr Laboratoire ID-IMAG (UMR 5132), Projet Apache. MIRRA Project:

More information

Avoiding Forgetfulness: Structured English Specifications for High-Level Robot Control with Implicit Memory

Avoiding Forgetfulness: Structured English Specifications for High-Level Robot Control with Implicit Memory Avoiding Forgetfulness: Structured English Specifications for High-Level Robot Control with Implicit Memory Vasumathi Raman 1, Bingxin Xu and Hadas Kress-Gazit 2 Abstract This paper addresses the challenge

More information

Logical Agents (AIMA - Chapter 7)

Logical Agents (AIMA - Chapter 7) Logical Agents (AIMA - Chapter 7) CIS 391 - Intro to AI 1 Outline 1. Wumpus world 2. Logic-based agents 3. Propositional logic Syntax, semantics, inference, validity, equivalence and satifiability Next

More information

11/18/2015. Outline. Logical Agents. The Wumpus World. 1. Automating Hunt the Wumpus : A different kind of problem

11/18/2015. Outline. Logical Agents. The Wumpus World. 1. Automating Hunt the Wumpus : A different kind of problem Outline Logical Agents (AIMA - Chapter 7) 1. Wumpus world 2. Logic-based agents 3. Propositional logic Syntax, semantics, inference, validity, equivalence and satifiability Next Time: Automated Propositional

More information

Examining the CARA Specification. Elsa L Gunter, Yi Meng NJIT

Examining the CARA Specification. Elsa L Gunter, Yi Meng NJIT Examining the CARA Specification Elsa L Gunter, Yi Meng NJIT Capturing Tagged Req As LTL Spec Goal: Express tagged requirements as LTL formulae to enable model checking LTL not expressive enough, so we

More information

SourceSync. Exploiting Sender Diversity

SourceSync. Exploiting Sender Diversity SourceSync Exploiting Sender Diversity Why Develop SourceSync? Wireless diversity is intrinsic to wireless networks Many distributed protocols exploit receiver diversity Sender diversity is a largely unexplored

More information

Distributed Synthesis of Control Protocols for Smart Camera Networks

Distributed Synthesis of Control Protocols for Smart Camera Networks Distributed Synthesis of Control Protocols for Smart Camera Networks Necmiye Ozay, Ufuk Topcu, Tichakorn Wongpiromsarn and Richard M Murray last updated on March 10, 2011 Abstract We considered the problem

More information

Multiple Fault Diagnosis from FMEA

Multiple Fault Diagnosis from FMEA Multiple Fault Diagnosis from FMEA Chris Price and Neil Taylor Department of Computer Science University of Wales, Aberystwyth Dyfed, SY23 3DB, United Kingdom cjp{nst}@aber.ac.uk Abstract The Failure Mode

More information

Challenges for Qualitative Electrical Reasoning in Automotive Circuit Simulation

Challenges for Qualitative Electrical Reasoning in Automotive Circuit Simulation Challenges for Qualitative Electrical Reasoning in Automotive Circuit Simulation Neal Snooke and Chris Price Department of Computer Science,University of Wales, Aberystwyth,UK nns{cjp}@aber.ac.uk Abstract

More information

Computational Logic and Agents Miniscuola WOA 2009

Computational Logic and Agents Miniscuola WOA 2009 Computational Logic and Agents Miniscuola WOA 2009 Viviana Mascardi University of Genoa Department of Computer and Information Science July, 8th, 2009 V. Mascardi, University of Genoa, DISI Computational

More information

A Complete Approximation Theory for Weighted Transition Systems

A Complete Approximation Theory for Weighted Transition Systems A Complete Approximation Theory for Weighted Transition Systems December 1, 2015 Peter Christoffersen Mikkel Hansen Mathias R. Pedersen Radu Mardare Kim G. Larsen Department of Computer Science Aalborg

More information

openaal 1 - the open source middleware for ambient-assisted living (AAL)

openaal 1 - the open source middleware for ambient-assisted living (AAL) AALIANCE conference - Malaga, Spain - 11 and 12 March 2010 1 openaal 1 - the open source middleware for ambient-assisted living (AAL) Peter Wolf 1, *, Andreas Schmidt 1, *, Javier Parada Otte 1, Michael

More information

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón CS 480: GAME AI TACTIC AND STRATEGY 5/15/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly

More information

Formalising Concurrent UML State Machines Using Coloured Petri Nets

Formalising Concurrent UML State Machines Using Coloured Petri Nets KSE 2014 October 10th, 2014 Hanoi Formalising Concurrent UML State Machines Using Coloured Petri Nets Étienne André, Mohamed Mahdi Benmoussa, Christine Choppy Université Paris 13, Sorbonne Paris Cité,

More information

Runtime verification of embedded real-time systems

Runtime verification of embedded real-time systems Form Methods Syst Des (2014) 44:203 239 DOI 10.1007/s10703-013-0199-z Runtime verification of embedded real-time systems Thomas Reinbacher Matthias Függer Jörg Brauer Published online: 7 November 2013

More information

Eliminating Random Permutation Oracles in the Even-Mansour Cipher. Zulfikar Ramzan. Joint work w/ Craig Gentry. DoCoMo Labs USA

Eliminating Random Permutation Oracles in the Even-Mansour Cipher. Zulfikar Ramzan. Joint work w/ Craig Gentry. DoCoMo Labs USA Eliminating Random Permutation Oracles in the Even-Mansour Cipher Zulfikar Ramzan Joint work w/ Craig Gentry DoCoMo Labs USA ASIACRYPT 2004 Outline Even-Mansour work and open problems. Main contributions

More information

Near-Optimal Radio Use For Wireless Network Synch. Synchronization

Near-Optimal Radio Use For Wireless Network Synch. Synchronization Near-Optimal Radio Use For Wireless Network Synchronization LANL, UCLA 10th of July, 2009 Motivation Consider sensor network: tiny, inexpensive embedded computers run complex software sense environmental

More information

Tutorial, CPS PI Meeting, DC 3 5 Oct 2013

Tutorial, CPS PI Meeting, DC 3 5 Oct 2013 Tutorial, CPS PI Meeting, DC 3 5 Oct 2013 Formal Verification Technology John Rushby Computer Science Laboratory SRI International Menlo Park, CA John Rushby, SR I Formal Verification Technology: 1 Overview

More information

Electrical Machines Diagnosis

Electrical Machines Diagnosis Monitoring and diagnosing faults in electrical machines is a scientific and economic issue which is motivated by objectives for reliability and serviceability in electrical drives. This concern for continuity

More information

When Formal Systems Kill. Computer Ethics and Formal Methods

When Formal Systems Kill. Computer Ethics and Formal Methods When Formal System Kill: Computer Ethics and Formal Methods (presenting) 1 Darren Abramson 2 1 Galois Inc. leepike@galois.com 2 Department of Philosophy, Dalhousie University July 27, 2007 North American

More information

From Structured English to Robot Motion

From Structured English to Robot Motion From Structured English to Robot Motion Hadas Kress-Gazit, Georgios E. Fainekos and George J. Pappas GRASP Laboratory, University of Pennsylvania Philadelphia, PA 1910, USA {hadaskg,fainekos,pappasg}@grasp.upenn.edu

More information

Lecture 8 Receding Horizon Temporal Logic Planning & Compositional Protocol Synthesis

Lecture 8 Receding Horizon Temporal Logic Planning & Compositional Protocol Synthesis Lecture 8 Receding Horizon Temporal Logic Planning & Compositional Protocol Synthesis Ufuk Topcu Nok Wongpiromsarn Richard M. Murray EECI, 18 May 2012 Outline: Receding horizon temporal logic planning

More information

UNIVERSALITY IN SUBSTITUTION-CLOSED PERMUTATION CLASSES. with Frédérique Bassino, Mathilde Bouvel, Valentin Féray, Lucas Gerin and Mickaël Maazoun

UNIVERSALITY IN SUBSTITUTION-CLOSED PERMUTATION CLASSES. with Frédérique Bassino, Mathilde Bouvel, Valentin Féray, Lucas Gerin and Mickaël Maazoun UNIVERSALITY IN SUBSTITUTION-CLOSED PERMUTATION CLASSES ADELINE PIERROT with Frédérique Bassino, Mathilde Bouvel, Valentin Féray, Lucas Gerin and Mickaël Maazoun The aim of this work is to study the asymptotic

More information

Petri net models of metastable operations in latch circuits

Petri net models of metastable operations in latch circuits . Abstract Petri net models of metastable operations in latch circuits F. Xia *, I.G. Clark, A.V. Yakovlev * and A.C. Davies Data communications between concurrent processes often employ shared latch circuitry

More information

Formal Accountability for Biometric Surveillance: A Case Study

Formal Accountability for Biometric Surveillance: A Case Study Vinh Thong Ta University of Central Lancashire, UK vtta@uclan.ac.uk Joint work with Denis Butin Technische Universität Darmstadt, Germany Daniel Le Métayer INRIA, France APF 2015, October 7-8, Luxembourg

More information

Outline. Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types

Outline. Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types Intelligent Agents Outline Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types Agents An agent is anything that can be viewed as

More information

Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator

Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator ELECTRONICS, VOL. 13, NO. 1, JUNE 2009 37 Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator Miljana Lj. Sokolović and Vančo B. Litovski Abstract The lack of methods and tools for

More information

A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press Gordon Beavers and Henry Hexmoor

A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press Gordon Beavers and Henry Hexmoor A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press 2000 Gordon Beavers and Henry Hexmoor Reasoning About Rational Agents is concerned with developing practical reasoning (as contrasted

More information

Pulse propagation for the detection of small delay defects

Pulse propagation for the detection of small delay defects Pulse propagation for the detection of small delay defects M. Favalli DI - Univ. of Ferrara C. Metra DEIS - Univ. of Bologna Abstract This paper addresses the problems related to resistive opens and bridging

More information

Checking Heterogeneous Signal Characteristics Applying Assertion-Based Verification

Checking Heterogeneous Signal Characteristics Applying Assertion-Based Verification Checking Heterogeneous Signal Characteristics Applying Assertion-Based Verification Stefan Lämmermann, Alexander Jesser, Martin Rathgeber, Jürgen Ruf, Lars Hedrich, Thomas Kropf, Wolfgang Rosenstiel University

More information

Introduction to Game Theory

Introduction to Game Theory Introduction to Game Theory (From a CS Point of View) Olivier Serre Serre@irif.fr IRIF (CNRS & Université Paris Diderot Paris 7) 14th of September 2017 Master Parisien de Recherche en Informatique Who

More information

On Formal Specification of Emergent Behaviours in Swarm Robotic Systems

On Formal Specification of Emergent Behaviours in Swarm Robotic Systems On Formal Specification of Emergent Behaviours in Swarm Robotic Systems Alan FT Winfield 1 ; Jin Sa 1 ; Mari-Carmen Fernández-Gago 2 ; Clare Dixon 2 & Michael Fisher 2 1 Intelligent Autonomous Systems

More information

Analysis of Power Assignment in Radio Networks with Two Power Levels

Analysis of Power Assignment in Radio Networks with Two Power Levels Analysis of Power Assignment in Radio Networks with Two Power Levels Miguel Fiandor Gutierrez & Manuel Macías Córdoba Abstract. In this paper we analyze the Power Assignment in Radio Networks with Two

More information

Understanding and Protecting Privacy: Formal Semantics and Principled Audit Mechanisms

Understanding and Protecting Privacy: Formal Semantics and Principled Audit Mechanisms Understanding and Protecting Privacy: Formal Semantics and Principled Audit Mechanisms Anupam Datta 1, Jeremiah Blocki 1, Nicolas Christin 1, Henry DeYoung 1, Deepak Garg 2, Limin Jia 1, Dilsun Kaynar

More information

What is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations?

What is a Simulation? Simulation & Modeling. Why Do Simulations? Emulators versus Simulators. Why Do Simulations? Why Do Simulations? What is a Simulation? Simulation & Modeling Introduction and Motivation A system that represents or emulates the behavior of another system over time; a computer simulation is one where the system doing

More information

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT

School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT NUROP CONGRESS PAPER AGENT BASED SOFTWARE ENGINEERING METHODOLOGIES WONG KENG ONN 1 AND BIMLESH WADHWA 2 School of Computing, National University of Singapore 3 Science Drive 2, Singapore 117543 ABSTRACT

More information

CANopen Programmer s Manual Part Number Version 1.0 October All rights reserved

CANopen Programmer s Manual Part Number Version 1.0 October All rights reserved Part Number 95-00271-000 Version 1.0 October 2002 2002 All rights reserved Table Of Contents TABLE OF CONTENTS About This Manual... iii Overview and Scope... iii Related Documentation... iii Document Validity

More information

Where are we? Knowledge Engineering Semester 2, Speech Act Theory. Categories of Agent Interaction

Where are we? Knowledge Engineering Semester 2, Speech Act Theory. Categories of Agent Interaction H T O F E E U D N I I N V E B R U S R I H G Knowledge Engineering Semester 2, 2004-05 Michael Rovatsos mrovatso@inf.ed.ac.uk Lecture 12 Agent Interaction & Communication 22th February 2005 T Y Where are

More information

INF3430 Clock and Synchronization

INF3430 Clock and Synchronization INF3430 Clock and Synchronization P.P.Chu Using VHDL Chapter 16.1-6 INF 3430 - H12 : Chapter 16.1-6 1 Outline 1. Why synchronous? 2. Clock distribution network and skew 3. Multiple-clock system 4. Meta-stability

More information

Distributed Virtual Environments!

Distributed Virtual Environments! Distributed Virtual Environments! Introduction! Richard M. Fujimoto! Professor!! Computational Science and Engineering Division! College of Computing! Georgia Institute of Technology! Atlanta, GA 30332-0765,

More information

Digital Fundamentals. Lab 4 EX-OR Circuits & Combinational Circuit Design

Digital Fundamentals. Lab 4 EX-OR Circuits & Combinational Circuit Design Richland College School of Engineering & Technology Rev. 0 B. Donham Rev. 1 (7/2003) J. Horne Rev. 2 (1/2008) J. Bradbury Digital Fundamentals CETT 1425 Lab 4 EX-OR Circuits & Combinational Circuit Design

More information

Administrivia. CS 188: Artificial Intelligence Spring Agents and Environments. Today. Vacuum-Cleaner World. A Reflex Vacuum-Cleaner

Administrivia. CS 188: Artificial Intelligence Spring Agents and Environments. Today. Vacuum-Cleaner World. A Reflex Vacuum-Cleaner CS 188: Artificial Intelligence Spring 2006 Lecture 2: Agents 1/19/2006 Administrivia Reminder: Drop-in Python/Unix lab Friday 1-4pm, 275 Soda Hall Optional, but recommended Accommodation issues Project

More information

The CPAL programming language. Lean Model-Driven Development through Model-Interpretation

The CPAL programming language. Lean Model-Driven Development through Model-Interpretation The CPAL programming language Design, Simulate, Execute Embedded Systems Lean Model-Driven Development through Model-Interpretation Nicolas Navet, University of Luxembourg October 29 th, 2015 Talk @ CEA

More information

General Game Playing (GGP) Winter term 2013/ Summary

General Game Playing (GGP) Winter term 2013/ Summary General Game Playing (GGP) Winter term 2013/2014 10. Summary Sebastian Wandelt WBI, Humboldt-Universität zu Berlin General Game Playing? General Game Players are systems able to understand formal descriptions

More information

Réunion : Projet e-baccuss

Réunion : Projet e-baccuss Réunion : Projet e-baccuss An Asynchronous Reading Architecture For An Event-Driven Image Sensor Amani Darwish 1,2, Laurent Fesquet 1,2, Gilles Sicard 3 1 University Grenoble Alpes TIMA Grenoble, France

More information

LeCroy UWBSpekChek WiMedia Compliance Test Suite User Guide. Introduction

LeCroy UWBSpekChek WiMedia Compliance Test Suite User Guide. Introduction LeCroy UWBSpekChek WiMedia Compliance Test Suite User Guide Version 3.10 March, 2008 Introduction LeCroy UWBSpekChek Application The UWBSpekChek application operates in conjunction with the UWBTracer/Trainer

More information

Timestamp Temporal Logic (TTL) for Testing the Timing of Cyber-Physical Systems

Timestamp Temporal Logic (TTL) for Testing the Timing of Cyber-Physical Systems 1 Timestamp Temporal Logic (TTL) for Testing the Timing of Cyber-Physical Systems MOHAMMADREZA MEHRABIAN, Arizona State University MOHAMMAD KHAYATIAN, Arizona State University AVIRAL SHRIVASTAVA, Arizona

More information

THE PROPAGATION OF PARTIAL DISCHARGE PULSES IN A HIGH VOLTAGE CABLE

THE PROPAGATION OF PARTIAL DISCHARGE PULSES IN A HIGH VOLTAGE CABLE THE PROPAGATION OF PARTIAL DISCHARGE PULSES IN A HIGH VOLTAGE CABLE Z.Liu, B.T.Phung, T.R.Blackburn and R.E.James School of Electrical Engineering and Telecommuniications University of New South Wales

More information

From a Ball Game to Incompleteness

From a Ball Game to Incompleteness From a Ball Game to Incompleteness Arindama Singh We present a ball game that can be continued as long as we wish. It looks as though the game would never end. But by applying a result on trees, we show

More information

Parallel Computing 2020: Preparing for the Post-Moore Era. Marc Snir

Parallel Computing 2020: Preparing for the Post-Moore Era. Marc Snir Parallel Computing 2020: Preparing for the Post-Moore Era Marc Snir THE (CMOS) WORLD IS ENDING NEXT DECADE So says the International Technology Roadmap for Semiconductors (ITRS) 2 End of CMOS? IN THE LONG

More information

TE 302 DISCRETE SIGNALS AND SYSTEMS. Chapter 1: INTRODUCTION

TE 302 DISCRETE SIGNALS AND SYSTEMS. Chapter 1: INTRODUCTION TE 302 DISCRETE SIGNALS AND SYSTEMS Study on the behavior and processing of information bearing functions as they are currently used in human communication and the systems involved. Chapter 1: INTRODUCTION

More information

ABM-DTA Deep Integration: Results from the Columbus and Atlanta SHRP C10 Implementations

ABM-DTA Deep Integration: Results from the Columbus and Atlanta SHRP C10 Implementations ABM-DTA Deep Integration: Results from the Columbus and Atlanta SHRP C10 Implementations presented by Matt Stratton, WSP USA October 17, 2017 New CT-RAMP Integrable w/dta Enhanced temporal resolution:

More information

Game Theory and Randomized Algorithms

Game Theory and Randomized Algorithms Game Theory and Randomized Algorithms Guy Aridor Game theory is a set of tools that allow us to understand how decisionmakers interact with each other. It has practical applications in economics, international

More information

Technical-oriented talk about the principles and benefits of the ASSUMEits approach and tooling

Technical-oriented talk about the principles and benefits of the ASSUMEits approach and tooling PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE ASSUME CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR COMMUNICATED

More information

Challenges in Software Evolution

Challenges in Software Evolution Challenges in Software Evolution Tom Mens http://w3.umh.ac.be/genlog Software Engineering Lab University of Mons-Hainaut Belgium Challenges in Software Evolution The presented results are the outcome of

More information

Universal permuton limits of substitution-closed permutation classes

Universal permuton limits of substitution-closed permutation classes Universal permuton limits of substitution-closed permutation classes Adeline Pierrot LRI, Univ. Paris-Sud, Univ. Paris-Saclay Permutation Patterns 2017 ArXiv: 1706.08333 Joint work with Frédérique Bassino,

More information

Model-Based Testing. CSCE Lecture 18-03/29/2018

Model-Based Testing. CSCE Lecture 18-03/29/2018 Model-Based Testing CSCE 747 - Lecture 18-03/29/2018 Creating Requirements-Based Tests Write Testable Specifications Produce clear, detailed, and testable requirements. Identify Independently Testable

More information

Laurea Specialistica in Ingegneria. Ingegneria dell'automazione: Sistemi in Tempo Reale

Laurea Specialistica in Ingegneria. Ingegneria dell'automazione: Sistemi in Tempo Reale Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale email: palopoli@sssup.it Tel. 050 883444 Introduzione Lecture schedule Introduction Selected topics on discrete time and sampled

More information

Virtual Global Search: Application to 9x9 Go

Virtual Global Search: Application to 9x9 Go Virtual Global Search: Application to 9x9 Go Tristan Cazenave LIASD Dept. Informatique Université Paris 8, 93526, Saint-Denis, France cazenave@ai.univ-paris8.fr Abstract. Monte-Carlo simulations can be

More information

Clock Synchronization

Clock Synchronization Clock Synchronization Chapter 9 d Hoc and Sensor Networks Roger Wattenhofer 9/1 coustic Detection (Shooter Detection) Sound travels much slower than radio signal (331 m/s) This allows for quite accurate

More information

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS Eva Cipi, PhD in Computer Engineering University of Vlora, Albania Abstract This paper is focused on presenting

More information

The K.U.Leuven CHR System: Implementation and Application

The K.U.Leuven CHR System: Implementation and Application The K.U.Leuven CHR System: Implementation and Application Tom Schrijvers, Bart Demoen {tom.schrijvers,bart.demoen}@cs.kuleuven.ac.be. Katholieke Universiteit Leuven, Belgium The K.U.Leuven CHR System p.1

More information

APPLICATION OF HARDWARE DESCRIPTION LANGUAGES TO SPECIFICATION OF THE POINT MODULE INTERLOCKING LOGIC

APPLICATION OF HARDWARE DESCRIPTION LANGUAGES TO SPECIFICATION OF THE POINT MODULE INTERLOCKING LOGIC 167 APPLICATION OF HARDWARE DECRIPTION LANGUAGE TO PECIFICATION OF THE POINT MODULE INTERLOCKING LOGIC Kawalec Piotr 1, Mocki Jacek 2 1 Warsaw University of Technology, Faculty of Transport, Traffic Engineering

More information

Introduction to Real-Time Systems

Introduction to Real-Time Systems Introduction to Real-Time Systems Real-Time Systems, Lecture 1 Martina Maggio and Karl-Erik Årzén 16 January 2018 Lund University, Department of Automatic Control Content [Real-Time Control System: Chapter

More information

Towards EU-US Collaboration on the Internet of Things (IoT) & Cyber-physical Systems (CPS)

Towards EU-US Collaboration on the Internet of Things (IoT) & Cyber-physical Systems (CPS) Towards EU-US Collaboration on the Internet of Things (IoT) & Cyber-physical Systems (CPS) Christian Sonntag Senior Researcher & Project Manager, TU Dortmund, Germany ICT Policy, Research and Innovation

More information

CS 361: Probability & Statistics

CS 361: Probability & Statistics February 7, 2018 CS 361: Probability & Statistics Independence & conditional probability Recall the definition for independence So we can suppose events are independent and compute probabilities Or we

More information

COMP310 Multi-Agent Systems Chapter 3 - Deductive Reasoning Agents. Dr Terry R. Payne Department of Computer Science

COMP310 Multi-Agent Systems Chapter 3 - Deductive Reasoning Agents. Dr Terry R. Payne Department of Computer Science COMP310 Multi-Agent Systems Chapter 3 - Deductive Reasoning Agents Dr Terry R. Payne Department of Computer Science Agent Architectures Pattie Maes (1991) Leslie Kaebling (1991)... [A] particular methodology

More information

Low Complexity Cross Parity Codes for Multiple and Random Bit Error Correction

Low Complexity Cross Parity Codes for Multiple and Random Bit Error Correction 3/18/2012 Low Complexity Cross Parity Codes for Multiple and Random Bit Error Correction M. Poolakkaparambil 1, J. Mathew 2, A. Jabir 1, & S. P. Mohanty 3 Oxford Brookes University 1, University of Bristol

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk

More information

Pololu TReX Jr Firmware Version 1.2: Configuration Parameter Documentation

Pololu TReX Jr Firmware Version 1.2: Configuration Parameter Documentation Pololu TReX Jr Firmware Version 1.2: Configuration Parameter Documentation Quick Parameter List: 0x00: Device Number 0x01: Required Channels 0x02: Ignored Channels 0x03: Reversed Channels 0x04: Parabolic

More information

Towards Verification of a Service Orchestration Language. Tan Tian Huat

Towards Verification of a Service Orchestration Language. Tan Tian Huat Towards Verification of a Service Orchestration Language Tan Tian Huat 1 Outline Background of Orc Motivation of Verifying Orc Overview of Orc Language Verification using PAT Future Works 2 Outline Background

More information

Finite homomorphism-homogeneous permutations via edge colourings of chains

Finite homomorphism-homogeneous permutations via edge colourings of chains Finite homomorphism-homogeneous permutations via edge colourings of chains Igor Dolinka dockie@dmi.uns.ac.rs Department of Mathematics and Informatics, University of Novi Sad First of all there is Blue.

More information

arxiv: v1 [math.co] 16 Aug 2018

arxiv: v1 [math.co] 16 Aug 2018 Two first-order logics of permutations arxiv:1808.05459v1 [math.co] 16 Aug 2018 Michael Albert, Mathilde Bouvel, Valentin Féray August 17, 2018 Abstract We consider two orthogonal points of view on finite

More information