A Spatio-Temporal Logic for the Specification and Refinement of - - PowerPoint PPT Presentation

a spatio temporal logic for the specification and
SMART_READER_LITE
LIVE PREVIEW

A Spatio-Temporal Logic for the Specification and Refinement of - - PowerPoint PPT Presentation

A Spatio-Temporal Logic for the Specification and Refinement of Mobile Systems Martin Wirsing LMU Munich (with Stephan Merz, INRIA Lorraine and Jlia Zappe, LMU Munich) Motivation Formal description of systems with mobile code WAN


slide-1
SLIDE 1

A Spatio-Temporal Logic for the Specification and Refinement

  • f Mobile Systems

Martin Wirsing LMU Munich

(with Stephan Merz, INRIA Lorraine and Júlia Zappe, LMU Munich)

slide-2
SLIDE 2

Motivation

Formal description of systems with mobile code

– WAN computing, agent-based systems – correctness non-obvious, including security issues

Existing formalisms for mobile systems

– mostly based on “operational” calculi – some have associated logics: Ambient logic, µ-calculus for Klaim – “intensional” semantics, reflecting structural equivalence – no good notions of refinement

Reactive systems

– transition system semantics (next-state relation + fairness) – well-established refinement notions – stuttering equivalence: TLA

2

slide-3
SLIDE 3

Basic Idea

❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜

✂ ✂ ✂ ✂ ✂ ❇ ❇ ❇ ❇ ❇ ❇ ❅ ❅ ❅ ❅ ❅ ❅

✂ ✂ ✂ ✂ ✂ ❇ ❇ ❇ ❇ ❇ ❇ ❅ ❅ ❅ ❅ ❅ ❅

✂ ✂ ✂ ✂ ✂ ❇ ❇ ❇ ❇ ❇ ❇ ❅ ❅ ❅ ❅ ❅ ❅

a2 joe a1 a3 a2 joe a1 a3 shopper found = ∅ found = ∅ shopper a2 joe a1 a3 . . . shopper found = {o1}

Configurations (t, λ)

t finite tree, edges labelled by unique names λ assigns local states to nodes

Computations σ = (t0, λ0), (t1, λ1), . . . Formulas

shopperfound = ∅ location shopper exists without found goods joe.shopper ≫ a2.shopper shopper moves from location joe to location a2

3

slide-4
SLIDE 4

MTLA (Mobile Temporal Logic of Actions)

TLA

– Linear Temporal Logic with formulas [A]v – Important feature: invariance under finite stuttering

+ Spatial Formulas

– Explicit name references n[F] – F holds at n . . . provided n exists – NB: n may be arbitrarily far down the tree – Structural modification of trees α.n ≫ β.n – subtree at αn before transition equals subtree at βn after transition – local state at moving subtree preserved

4

slide-5
SLIDE 5

Refinement of mobile systems

Operation refinement

– decompose high-level operations – represented in TLA by implication, thanks to stuttering invariance

Spatial decomposition

– refine high-level location n into a tree (with root named n) – in general also distribute local state of n

Virtualisation of locations

– implement high-level location n by structurally different hierarchy – preserve external behavior : n hidden from high-level interface

5

slide-6
SLIDE 6

Spatial decomposition

Suppose visiting agents are kept in a “dock” location

❜ ❜ ❜ ❜ ❜ ❜

✂ ✂ ✂ ✂ ✂ ❇ ❇ ❇ ❇ ❇ ❇ ❅ ❅ ❅ ❅ ❅ ❅

a2 joe a1 a3 found = ∅ shopper

❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜

✂ ✂ ✂ ✂ ✂ ❇ ❇ ❇ ❇ ❇ ❇ ❅ ❅ ❅ ❅ ❅ ❅

❅ ❅ ❅

a2 joe a1 a3

  • ut

in dock shopper found = ∅

  • Still conforms to the original specification

– formula Shopper doesn’t mention locations dock, in, out – location shopper is still below location a1

Refinement is expressed as Impl ⇒ Spec

6

slide-7
SLIDE 7

Spatial decomposition: general case

Usually, decomposition requires distribution of state

❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ✡ ✡ ✡ ✡ ✡ ✡ ❏ ❏ ❏ ❏ ❏ ❏ ☞ ☞ ☞ ☞ ☞ ☞ ❇ ❇ ❇ ❇ ❇ ❇ ✡ ✡ ✡ ✡ ✡ ✡ ❏ ❏ ❏ ❏ ❏ ❏

b c a d e f x3 x2 b c a x x1

  • x = f(x1, x2, x3)

Refinement is then expressed as Impl ⇒ ∃ ∃ ∃ ∃ ∃ ∃ a.x : Spec

local state variable x hidden from high-level interface

7

slide-8
SLIDE 8

Virtualisation of locations

Hide entire locations, not just local state

❜ ❜ ❜ ❜ ❜ ❜ ❜ ❜ ✡ ✡ ✡ ✡ ✡ ✡ ❏ ❏ ❏ ❏ ❏ ❏ ✡ ✡ ✡ ✡ ✡ ✡ ❏ ❏ ❏ ❏ ❏ ❏

b a f c e d n

❜ ❜ ❜ ❏ ❏ ❏ ❏ ❏ ❏

e d

❜ ❜ ❜ ❜ ✡ ✡ ✡ ✡ ✡ ✡ ❏ ❏ ❏ ❏ ❏ ❏ ✡ ✡ ✡ ✡ ✡ ✡

b a f c

  • External behavior preserved except for location n

– formally expressed by quantification over locations – spatial refinement mappings

Refinement is expressed as Impl ⇒ ∃ ∃ ∃ ∃ ∃ ∃ n : Spec

8

slide-9
SLIDE 9

Summing up

TLA’ish logic for specification of mobile systems

– add (few) spatial operators to describe topology – concise description of system structure and its evolution

Refinement concepts represented as implication

– stuttering invariance supports operation refinement, as in TLA – “deep” spatial operators support spatial decomposition

Future work: axiomatization, decidability, model checking

9