Automatic Verification of Real-Time Systems with Rich Data Ernst-R - - PowerPoint PPT Presentation

automatic verification of real time systems with rich data
SMART_READER_LITE
LIVE PREVIEW

Automatic Verification of Real-Time Systems with Rich Data Ernst-R - - PowerPoint PPT Presentation

Automatic Verification of Real-Time Systems with Rich Data Ernst-R udiger Olderog RTS+D p.1/59 Motivation Embedded system = system where computer is invisible part of it to control its function ECUs on board of a cars: Mercedes S


slide-1
SLIDE 1

Automatic Verification

  • f

Real-Time Systems with Rich Data

Ernst-R¨ udiger Olderog

RTS+D – p.1/59

slide-2
SLIDE 2

Motivation

Embedded system = system where computer is invisible part of it to control its function

ECUs on board of a cars: Mercedes S class (1998)

RTS+D – p.2/59

slide-3
SLIDE 3

Motivation

Embedded system = system where computer is invisible part of it to control its function

ECUs on board of a cars: Mercedes S class (1998)

Safety-critical applications : malfunction of computer is costly and dangerous

RTS+D – p.2/59

slide-4
SLIDE 4

Trains

ETCS (European Train Control System) Level 3: Safety Property: Collision Freedom

RTS+D – p.3/59

slide-5
SLIDE 5

Planes

TCAS (Traffic Alert and Collision Avoidance System):

Pilot 2 Pilot 1 TCAS 1 TCAS 2 Aircraft 1 Aircraft 2

Sensor 1 Sensor 2 Communication Channel 1 Communication Channel 2 Conflict Conflict Conflict Conflict Detection 1 Resolution 1 Resolution 2 Detection 2 Advisories Advisories

case of two aircrafts

RTS+D – p.4/59

slide-6
SLIDE 6

Real-Time Systems

... are reactive systems where certain inputs require the corresponding outputs within given time bounds.

Example: European Train Control System (ETCS) Safety Property: Collision Freedom

RTS+D – p.5/59

slide-7
SLIDE 7

AVACS Project Group R

... advances the automatic verification and analysis of real-time systems in three complementary projects R1–R3: ➠ R1: Beyond Timed Automata

high-level specifications: real-time and complex infinite data

➠ R2: Timing Analysis, Scheduling, and Distribution of Real-Time Tasks

implementation level: complex target architectures

➠ R3: Heuristic Search and Abstract Model Checking for Real-Time Systems

highly concurrent systems: many clocks and many components

RTS+D – p.6/59

slide-8
SLIDE 8

R1: Beyond Timed Automata

E.-R. Olderog,

  • B. Finkbeiner, M. Fränzle, A. Podelski, V. Sofronie-Stokkermans

... investigates Real-Time Systems with Rich Data: ➠ System specification language: CSP-OZ-DC

integrates processes (Comm. Sequ. Processes) data (Object-Z) time (Duration Calculus)

➠ Real-time requirements: DC ➠ Problem: Does specification satisfy requirement ?

RTS+D – p.7/59

slide-9
SLIDE 9

Specification of Processes

CSP Communicating Sequential Processes since 1978: Hoare, Brookes, Roscoe

  • synchronous communication via channels:

c!e c c?x

  • parallel composition and hiding
  • mathematical theory

RTS+D – p.8/59

slide-10
SLIDE 10

Specification of Data

Z since 1980: Abrial, Sufrin, Spivey

  • state spaces and transformations
  • mathematical tool kit
  • schema calculus

S declarations predicate x ′ > x +1

OZ Object-Z since 1995: Duke, Rose, Smith

  • class concept
  • inheritance

RTS+D – p.9/59

slide-11
SLIDE 11

Specification of Time

DC Duration Calculus since 1991: Zhou, Hoare, Ravn, Hansen

  • real-time logic and calculus

for properties of obs : Time → D

D Time e b

  • interval-based properties: e.g. durations

RTS+D – p.10/59

slide-12
SLIDE 12

Parameterized Elevator

Min current Max

Hoenicke & Maier (2005) ➠ Elevator specification: parameters Max,Min: integers real-time requirements: e.g. at least 3 sec between two floors time domain: reals ➠ Safety requirement: Min ≤ current ≤ Max

RTS+D – p.11/59

slide-13
SLIDE 13

Specification: CSP-OZ-DC

Hoenicke & Olderog (since 2002) newgoal start passed stop Interface: chan start,passed,stop,newgoal CSP specifies order of events: main

c

= newgoal → start → Drive Drive

c

= (passed → Drive)

(stop → main)

RTS+D – p.12/59

slide-14
SLIDE 14

Specification: CSP-OZ-DC

Object-Z specifies state space ... Min,Max : Z Min < Max current : Z [state space] goal : Z dir : {−1,0,1} Init goal = current = Min dir = 0

RTS+D – p.13/59

slide-15
SLIDE 15

Specification: CSP-OZ-DC

... and operations: com newgoal ∆(goal) Min ≤ goal ′ ≤ Max [nondeterminism] goal ′ = current com start ∆(dir) goal > current ⇒ dir ′ = 1 goal < current ⇒ dir ′ = −1

RTS+D – p.14/59

slide-16
SLIDE 16

Specification: CSP-OZ-DC

... operations, cont’d: com passed ∆(current) current ′ = current +dir com stop ∆() goal = current [precondition]

RTS+D – p.15/59

slide-17
SLIDE 17

Specification: CSP-OZ-DC

Duration Calculus restricts timing of states and events:

  • More than 3 seconds between two passed events:

¬ ✸(passed ;ℓ ≤ 3;passed)

counterexample trace:

1 l 3 passed passed passed

Time

RTS+D – p.16/59

slide-18
SLIDE 18

Specification: CSP-OZ-DC

  • Event stop within 2 sec after reaching goal:

¬ ✸(⌈current = goal⌉;(⌈current = goal⌉ ∧ ℓ ≥ 2 ∧ ⊟stop))

counterexample trace:

true l 2 no stop event true current goal current goal

Time

RTS+D – p.17/59

slide-19
SLIDE 19

Class Elevator

Elevator chan start,passed,stop,newgoal

CSP

main

c

= newgoal → start → Drive Drive

c

= (passed → Drive) (stop → main)

OZ

Min,Max : Z Min < Max current,goal : Z dir : {−1,0,1} Init goal = current = Min dir = 0 com newgoal ∆(goal) Min ≤ goal ′ ≤ Max goal ′ = current com start ∆(dir) goal > current ⇒ dir ′ = 1 goal < current ⇒ dir ′ = −1 com passed ∆(current) current ′ = current +dir com stop ∆() goal = current

DC

¬ ✸(passed ;ℓ ≤ 3;passed) ¬ ✸(⌈current = goal⌉;(⌈current = goal⌉ ∧ ℓ ≥ 2 ∧ ⊟stop))

RTS+D – p.18/59

slide-20
SLIDE 20

Semantics of CSP-OZ-DC

by translation into Phase-Event-Automata (PEA), a variant of Timed Automata due to Hoenicke (2006) This semantics is compositional:

A(COD) = A(CSP) A(OZ) A(DC)

where synchronises on both phases and events.

RTS+D – p.19/59

slide-21
SLIDE 21

Phase-Event-Automata

p1 p2

RTS+D – p.20/59

slide-22
SLIDE 22

Phase-Event-Automata

p1 s(p1) p2 s(p2)

s(pi) state invariant

RTS+D – p.20/59

slide-23
SLIDE 23

Phase-Event-Automata

p1 s(p1) I(p1) p2 s(p2) I(p2)

s(pi) state invariant I(pi) clock invariant

RTS+D – p.20/59

slide-24
SLIDE 24

Phase-Event-Automata

guard p1 s(p1) I(p1) p2 s(p2) I(p2)

s(pi) state invariant I(pi) clock invariant guard conditions over events, state space and time

RTS+D – p.20/59

slide-25
SLIDE 25

Phase-Event-Automata

guard resets p1 s(p1) I(p1) p2 s(p2) I(p2)

s(pi) state invariant I(pi) clock invariant guard conditions over events, state space and time resets reset of clocks

RTS+D – p.20/59

slide-26
SLIDE 26

Phase-Event-Automata

guard resets p1 s(p1) I(p1) p2 s(p2) I(p2)

s(pi) state invariant I(pi) clock invariant guard conditions over events, state space and time resets reset of clocks

Parallel Composition:

A1 A2

RTS+D – p.20/59

slide-27
SLIDE 27

PEA Represent Sets of Runs

A run is a sequence of configurations ρ = ...,(pi,βi,γi,Yi,ti),...

RTS+D – p.21/59

slide-28
SLIDE 28

PEA Represent Sets of Runs

A run is a sequence of configurations ρ = ...,(pi,βi,γi,Yi,ti),... each one describing an interval, where

➠ pi is a phase,

RTS+D – p.21/59

slide-29
SLIDE 29

PEA Represent Sets of Runs

A run is a sequence of configurations ρ = ...,(pi,βi,γi,Yi,ti),... each one describing an interval, where

➠ pi is a phase, ➠ βi is a valuation of the variables,

RTS+D – p.21/59

slide-30
SLIDE 30

PEA Represent Sets of Runs

A run is a sequence of configurations ρ = ...,(pi,βi,γi,Yi,ti),... each one describing an interval, where

➠ pi is a phase, ➠ βi is a valuation of the variables, ➠ γi is a valuation of the clocks at the beginning of the interval,

RTS+D – p.21/59

slide-31
SLIDE 31

PEA Represent Sets of Runs

A run is a sequence of configurations ρ = ...,(pi,βi,γi,Yi,ti),... each one describing an interval, where

➠ pi is a phase, ➠ βi is a valuation of the variables, ➠ γi is a valuation of the clocks at the beginning of the interval, ➠ Yi is a set of events occurring at the beginning of the interval,

RTS+D – p.21/59

slide-32
SLIDE 32

PEA Represent Sets of Runs

A run is a sequence of configurations ρ = ...,(pi,βi,γi,Yi,ti),... each one describing an interval, where

➠ pi is a phase, ➠ βi is a valuation of the variables, ➠ γi is a valuation of the clocks at the beginning of the interval, ➠ Yi is a set of events occurring at the beginning of the interval, ➠ ti is a duration of the interval.

RTS+D – p.21/59

slide-33
SLIDE 33

Semantic Property of PEA

Compositionality Lemma ρ ∈ Runs( A1 A2 ) iff ρ ↓ A1 ∈ Runs(A1) and ρ ↓ A2 ∈ Runs(A2) This lemma is at the core of a modular verification method for parallel compositions of PEA: if a small set of parallel PEA satisfies a safety property, also a larger set of parallel PEA will satisfy it.

RTS+D – p.22/59

slide-34
SLIDE 34

Translation of CSP

main

c

= newgoal → start → Drive Drive

c

= (passed → Drive) (stop → main)

p0

(main)

true p1 true p2

(Drive)

true newgoal ∧ ¬ start ∧ ¬ stop ∧ ¬ passed start ∧ ¬ newgoal ∧ ¬ stop ∧ ¬ passed stop ∧ ¬ newgoal ∧ ¬ start ∧ ¬ passed

φidle φidle φidle

passed ∧ ¬ newgoal ∧ ¬ start ∧ ¬ stop

where φidle := ¬ newgoal ∧ ¬ start ∧ ¬ passed ∧ ¬ stop

RTS+D – p.23/59

slide-35
SLIDE 35

Translation of OZ

pinit Init p true φidle φidle φidle

newgoal ∧ com newgoal start ∧ com start passed ∧ com passed stop ∧ com stop where φidle := ¬ newgoal ∧ ¬ start ∧ ¬ passed ∧ ¬ stop ∧ current = current ′ ∧ goal = goal ′ ∧ dir = dir ′

RTS+D – p.24/59

slide-36
SLIDE 36

Translation of DC

Full DC cannot be translated into PEA: e.g.

¬ ✸( ev ; ℓ = 1; ev ),

which means

¬ ( true ; ev ; ℓ = 1; ev ; true)

would need infinitely many clocks.

RTS+D – p.25/59

slide-37
SLIDE 37

Translation of DC

However, we can translate a useful subset: counterexample formulae. Example 1: ¬ ✸( passed ; ℓ ≤ 3; passed ) :

RTS+D – p.26/59

slide-38
SLIDE 38

Translation of DC

However, we can translate a useful subset: counterexample formulae. Example 1: ¬ ✸( passed ; ℓ ≤ 3; passed ) : Phase-Event-Automaton: p0 true p1 c1 ≤ 3 passed, c1 := 0 ¬ passed,c1 = 3 ¬ passed ¬ passed

RTS+D – p.26/59

slide-39
SLIDE 39

Translation of DC

Example 2: ¬ ✸(⌈current = goal⌉;(⌈current = goal⌉ ∧ ℓ ≥ 2 ∧ ⊟stop))

RTS+D – p.27/59

slide-40
SLIDE 40

Translation of DC

Example 2: ¬ ✸(⌈current = goal⌉;(⌈current = goal⌉ ∧ ℓ ≥ 2 ∧ ⊟stop)) Phase-Event-Automaton: p0

current = goal

p1

current = goal

p2

current = goal

c2 < 2 true stop c2 := 0 true true true ¬ stop

RTS+D – p.27/59

slide-41
SLIDE 41

Automatic Verification

Automata-theoretic approach to verification: COD satisfies DC ? ↓ ↓ PEA:

A(CSP) A(OZ) A(DC)

  • Atest(¬DC)

Is bad state of Atest(¬DC) not reachable ?

RTS+D – p.28/59

slide-42
SLIDE 42

Automatic Verification

Automata-theoretic approach to verification: COD satisfies DC ? ↓ ↓ PEA:

A(CSP) A(OZ) A(DC)

  • Atest(¬DC)

Is bad state of Atest(¬DC) not reachable ? ↓ TCS:

T (...)

Transition Constraint System Model checking using ARMC or SLAB or H-PILoT on TCS

RTS+D – p.28/59

slide-43
SLIDE 43

Transition Constraint Systems

specify states and transitions by formulas ( constraints ): ➠ transition constraints relate pre- and post-state ➠ no notion of events, no notion of real-time However, events and clocks can be encoded. ➠ events: changes of Boolean variables:: stop′ = stop ➠ clocks: real-valued variables á la Lamport: c ′ = c +len ∧ len > 0

RTS+D – p.29/59

slide-44
SLIDE 44

Translation of PEA into TCS

Phase-Event-Automaton:

p0 true p1 c ≤ 3 passed, c := 0

¬ passed, c = 3 ¬ passed ¬ passed

Transition Constraint System:

Tr ⇔ ph = 0 ∧ ¬passed ∧ c ′ = c +len ∧ ph ′ = 0 ∨ ph = 0 ∧ passed ∧ c ′ = len ∧ c ′ ≤ 3 ∧ ph ′ = 1 ∨ ph = 1 ∧ ¬passed ∧ c ′ = c +len ∧ c ′ ≤ 3 ∧ ph ′ = 1 ∨ ph = 1 ∧ ¬passed ∧ c = 3 ∧ c ′ = c +len ∧ ph ′ = 0

RTS+D – p.30/59

slide-45
SLIDE 45

Model Checker ARMC

Podelski & Rybalchenko (since 2002)

Abstraction Refinement Model Checker Characteristics: ➠ ARMC checks for reachability, ➠ employs the CEGAR method: counterexample-guided abstraction refinement, ➠ uses Craig interpolation for predicate discovery„ ➠ evaluates implications in a decidable fragment

  • f first-order logic: linear arithmetic over reals,

➠ extended with uninterpreted function symbols. ➠ is implemented in SICStus Prolog.

RTS+D – p.31/59

slide-46
SLIDE 46

Experimental Results

Hoenicke & Maier (2005): ➠ The formula Min ≤ current ≤ Max was checked. ARMC proved validity in 2 minutes.

RTS+D – p.32/59

slide-47
SLIDE 47

Experimental Results

Hoenicke & Maier (2005): ➠ The formula Min ≤ current ≤ Max was checked. ARMC proved validity in 2 minutes. ➠ Valid for all possible choices of Min and Max.

RTS+D – p.32/59

slide-48
SLIDE 48

Experimental Results

Hoenicke & Maier (2005): ➠ The formula Min ≤ current ≤ Max was checked. ARMC proved validity in 2 minutes. ➠ Valid for all possible choices of Min and Max. ➠ Property depends on real-time: If one DC formula is omitted ARMC found counterexample in 20 seconds.

RTS+D – p.32/59

slide-49
SLIDE 49

Model Checker SLAB

Brückner, Dräger, Finkbeiner & Wehrheim (2008) Dräger, Kupriyanov, Finkbeiner & Wehrheim (2010)

Slicing Abstraction Model Checker Characteristics: ➠ SLAB checks for realizability of abstract error paths ➠ abstracts both states and transitions, ➠ uses slicing of abstractions and local refinement, ➠ employs Craig interpolation for predicate discovery, ➠ checks satisfiability in a decidable fragment

  • f first-order logic: linear arithmetic over reals,

RTS+D – p.33/59

slide-50
SLIDE 50

Abstract Error Paths

not Init not Init Bad T1 T3 T2 not Bad Init Init Bad not Bad

Does abstract error path correspond to a concrete one ?

RTS+D – p.34/59

slide-51
SLIDE 51

Slicing Abstactions

E.g. node elimination if Init ∧ Bad ⇒ false :

not Init not Init Bad T1 T3 T2 not Bad Init Init Bad not Bad

RTS+D – p.35/59

slide-52
SLIDE 52

Local Refinement

If error path does not correspond to a concrete one Craig interpolation is used to discover a predicate P for node splitting.

node splitting

not Init Bad T11 T31 T2 not Bad Init not Init not Bad P T12 T32 not P not Bad not Init

RTS+D – p.36/59

slide-53
SLIDE 53

Termination

not Init Bad T11 T31 T2 not Bad Init not Init not Init not Bad not Bad not P T12 T32 possible further slicing: P

Checking terminates if (1) the error path is realizable (system erroneous) or (2) the slice becomes empty (system correct).

RTS+D – p.37/59

slide-54
SLIDE 54

ETCS: Emergency Messages

RTS+D – p.38/59

slide-55
SLIDE 55

Components of Case Study

Specification in CSP-OZ-DC

  • J. Faber & Meyer (2006)

Com− Network

indicationToDriver driverAck driverEB getPosition updatePosition send receive send receive

Driver RBC Train Track

Infinite data types: Position = R, Speed = R≥0 Parameters: Length, TargetSpd, ...

RTS+D – p.39/59

slide-56
SLIDE 56

Specification: CSP-OZ-DC

Hoenicke & Olderog (since 2002)

Interface:

chan updPos : [id : {ID}, pos! : Position] chan compSBI : [loa?, sbi! : Position]

CSP specifies sequencing of events:

main

c

= Running |HandleEM Running

c

= updPos.ID?pos → getLOA.ID?loa → compSBI !loa?sbi → if sbi ≤ pos then ... else ...

RTS+D – p.40/59

slide-57
SLIDE 57

Specification: CSP-OZ-DC

Object-Z specifies state space ...

sbi : Position curPos : Position curSpd : Speed ...

... and operations:

com compSBI ∆(sbi) loa?, sbi! : Position sbi ′ = loa?−TargetSpdDist −StopDist −MaxDist sbi! = sbi ′

RTS+D – p.41/59

slide-58
SLIDE 58

Specification: CSP-OZ-DC

Duration Calculus restricts timing of states and events:

  • At least updBound seconds between two updPos events:

¬✸(updPos ; ℓ < updBound ; updPos) counterexample trace:

1 updPos updPos updPos l updBound

Time

RTS+D – p.42/59

slide-59
SLIDE 59

Specification: CSP-OZ-DC

RearTrain(ID : TrainID; StartPos, StartSBI : Position) chan updPos : [id : {ID}, pos! : Position] chan compSBI : [loa?, sbi! : Position] ...

CSP

main

c

= Running |HandleEM Running

c

= updPos.ID?pos → getLOA.ID?loa → compSBI !loa?sbi → if sbi ≤ pos then ... else ... ...

OZ

sbi : Position curPos : Position curSpd : Speed ... . . . com compSBI ∆(sbi) loa?, sbi! : Position sbi ′ = loa?−TargetSpdDist −StopDist −MaxDist sbi! = sbi ′

DC

¬✸(updPos ; ℓ < updBound ; updPos) ...

RTS+D – p.43/59

slide-60
SLIDE 60

Properties Checked

Meyer, Faber, Hoenicke & Rybalchenko (2008)

Two trains: ➠ RT requirements automatically verified with ARMC.

Example: ¬ ✸(receive.EmAlert ; ⊟applyEB ∧⊟driverAck ∧reactTime < ℓ) where reactTime = 8 sec. Experimental results 2008: 4,900 locations, 99,000 transitions, 47 variables ARMC: 216 minutes

RTS+D – p.44/59

slide-61
SLIDE 61

Properties Checked

Meyer, Faber, Hoenicke & Rybalchenko (2008)

Two trains: ➠ RT requirements automatically verified with ARMC.

Example: ¬ ✸(receive.EmAlert ; ⊟applyEB ∧⊟driverAck ∧reactTime < ℓ) where reactTime = 8 sec. Experimental results 2008: 4,900 locations, 99,000 transitions, 47 variables ARMC: 216 minutes

➠ Collision freedom:

2008: with manual decomposition into RT requirements

RTS+D – p.44/59

slide-62
SLIDE 62

ETCS: More Properties Checked

Application: ETCS with arbitrary no. of trains / segments:

Faber, Jacobs & Sofronie-Stokkermans (2010)

simplified CSP-OZ-DC model, but with 2-sorted pointer data structure:

next t next t next t prev s prev s prev s next next next

s s s

segm train prev t prev t prev t

Verified: invariant property of collision freedom.

RTS+D – p.45/59

slide-63
SLIDE 63

Data Verification with H-PILoT

Ihlemann, S. Jacobs & Sofronie-Stokkermans (2009) Hierarchical Proving by Instantiation in Local Theory extensions

Characteristics:

➠ Tool H-PILoT supports local theory extensions T0 ⊆ T1. ➠ Satisfiability of (quantified) formulae in extension T1 is reduced to satisfiability of ground formulae in the base theory T0. ➠ Standard SMT solvers check satisfiability of ground formulae in the base theory T0. ➠ Hierarchical reasoning / interpolation / QE for new classes of theories of data types, e.g.,

  • recursive functions,
  • many-sorted pointer structures.

RTS+D – p.46/59

slide-64
SLIDE 64

Syspect Tool

for modelling, specificying and verifying RTS systems with rich data. Students’ work continued in AVACS project “Beyond Timed Automata”. Faber, Linker, Olderog, Quesel (2011) level language purpose modelling UML profile model M of a real-time system R with rich data ↓ specification CSP-OZ-DC specification S of R as the formal semantics of M ↓ verification PEA

  • perational semantics O of S

↓ TCS representation of O as input for verification engines like ARMC, SLAB, or H-PILoT

RTS+D – p.47/59

slide-65
SLIDE 65

Tool Chain for Syspect Verification

Syspect (System Specification Tool) Statecharts Class Diagrams / OZ Annotations DC Annotations Test Formulas CSP OZ DC Transition Constraint System Counterexample System correct Visualisation Slicing Plug−In (−Slice) (−Slice) (−Slice) MobyPEA CSP−PEA OZ−PEA DC−PEA TF−XML DC−PEA peatoolkit Product PEA ARMC / SLAB Invariant checking / BMC H−PILoT (local and hierarchical reasoning)

RTS+D – p.48/59

slide-66
SLIDE 66

Further Developments

➠ Explicit Durations ➠ Parallel Composition

RTS+D – p.49/59

slide-67
SLIDE 67

Translatable DC Classes

(1) Full DC cannot be translated into PEA. (2) Counterexample formulae: powerset construction takes care of overlapping timed phases and yields deterministic PEA

PhD thesis Hoenicke (2006)

(3) Explicit Durations: translation (2) extended by stop watches In discrete time setting: Availability Automata

Hoenicke, Meyer & Olderog (2010)

RTS+D – p.50/59

slide-68
SLIDE 68

Explicit Durations

... can express timed availability requirements:

(speed ≥ target) ≥ 0.9·ℓ

“For at least 90 % of the time interval, the train meets its target speed.” ... correspond to integrators (stop watches), a source of undecidability separating TA and LHA.

New translations to automata for reachability analysis: ➠ Multi-Priced Time Automata

continuous time

➠ Availability Automata (new)

discrete time

RTS+D – p.51/59

slide-69
SLIDE 69

Availablity Automata

Availabilities in discrete setting (words).

regular availability expressions (rea) → availability automata (aa)

Example: ((up +down)∗.){up}≥ 1

3

q1 q2 x := 0 up,down up,down c(x) availability counter x with test c(x) = ({up} ≥ 1

3)

Kleene theorem. A language is recognized by a flat rae if and only if it is accepted by a simple aa. Powerset construction. Every simple aa can be determinized and complemented by inverting final states.

RTS+D – p.52/59

slide-70
SLIDE 70

Avoiding Product Construction

Large COD specifications yield (too) many parallel PEA. ETCS Emergency Messages: collision freedom for two trains

Full COD specifications yields 18 parallel PEAs.

RTS+D – p.53/59

slide-71
SLIDE 71

Avoiding Product Construction

Large COD specifications yield (too) many parallel PEA. ETCS Emergency Messages: collision freedom for two trains

Full COD specifications yields 18 parallel PEAs.

Formal decomposition of COD specification into a Verification Architecture and its instantiation:

PhD thesis Faber (2011)

EXT CHK

| = safe

extend check fail pass EXT FAR CHK REC

| = asm1 | = asm2

| = safe

extend check fail pass RTS+D – p.53/59

slide-72
SLIDE 72

Structural Transformations

For real-time systems with data (modelled by Extended Timed Automata), we ➠ isolate conditions (like independence of transitions

  • r memorylessness of locations),

➠ which enable property-preserving transformations that replace parallel by sequential composition and eliminate loops. ➠ This results in systems that allow for an easier conceptual and automatic analysis. More details: see lecture by Mani Swaminathan.

RTS+D – p.54/59

slide-73
SLIDE 73

Conclusion

Semantic methods + automatic verification techniques

RTS+D – p.55/59

slide-74
SLIDE 74

Ref: Specification Language

  • 1. J. Hoenicke & E.-R. Olderog.

CSP-OZ-DC: A combination of specification techniques for processes, data and time.

Nordic Journal of Computing, 9(4), 2003.

  • 2. J. Hoenicke.

Combination of Processes, Data, and Time.

PhD Thesis, Univ. Oldenburg, 2006.

  • 3. J. Hoenicke, R. Meyer & E.-R. Olderog.

Kleene, Rabin, and Scott are available.

In Proc. CONCUR, LNCS 6269, 2010.

  • 4. M. Möller, E.-R. Olderog, H. Rasch & H. Wehrheim.

Integrating a formal method into a software engineering process with UML and Java.

Formal Aspects of Computing 20, 2008.

RTS+D – p.56/59

slide-75
SLIDE 75

Ref: Verification Engines

  • 1. A. Podelski & A. Rybalchenko.

ARMC: The logical choice for software model checking with abstraction refinement.

  • Proc. Practical Aspects of Declarative Languages (PADL), LNCS 4281, 2007.
  • 2. K. Dräger, A. Kupriyanov, B. Finkbeiner & H. Wehrheim.

SLAB: A certifying model checker for infinite state concurrent systems.

In Proc. TACAS, LNCS 6015, 2010.

  • 3. C. Ihlemann & V. Sofronie-Stokkermans.

System description: H-PILoT.

In Proc. CADE 2009, LNCS, 2009.

  • 4. J. Faber, S. Linker, E.-R. Olderog & J.-D. Quesel.

Syspect – Modelling, Specifying, and Verifying Real-Time Systeme with Rich Data.

  • Int. J. Software Informatics 5 (1–2), 2011.

RTS+D – p.57/59

slide-76
SLIDE 76

Ref: Automatic Verification

  • 1. J. Hoenicke & P

. Maier. Model-checking of specifications integrating processes, data and time.

In Proc. Formal Methods (FM), LNCS 3583, 2005.

  • 2. J. Faber & R. Meyer.

Model checking data-dependent real-time properties of the European Train Control System.

In Proc. Formal Methods in Computer Aided Design (FMCAD), IEEE, 2006.

  • 3. R. Meyer, J. Faber, J. Hoenicke & A. Rybalchenko.

Model checking Duration Calculus: A practical approach.

Formal Aspects of Computing 20, 2008.

  • 4. J. Faber, C. Ihlemann, S. Jacobs & V. Sofronie-Stokkermans.

Automatic verification of parametric specifications with complex topologies.

In Proc. Integrated Formal Methods (IFM), LNCS 6396, 2010.

RTS+D – p.58/59

slide-77
SLIDE 77

Ref: Reduction

  • 1. I. Brückner.

Slicing concurrent real-time system specifications for verification.

In Proc. Integrated Formal Methods (IFM), 2007.

  • 2. J. Faber.

Verification Architectures: Compositional reasoning for real-time systems.

In Proc. Integrated Formal Methods (IFM), LNCS 6396, 2010.

  • 3. E.-R. Olderog & M. Swaminathan.

Structural transformations for data-enriched real-time systems.

Formal Aspects of Computing 27, 2015.

RTS+D – p.59/59