closing the validation gap or verifying railway ... · anton setzer swansea university, swansea uk...

38
Closing the Validation Gap or Verifying Railway Interlockings in Agda Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan Village Center, Japan 26 January 2015 Anton Setzer Closing the Validation Gap 1/ 38

Upload: others

Post on 18-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap orVerifying Railway Interlockings in Agda

Anton SetzerSwansea University, Swansea UK

Shonan MeetingLogical Analysis of Descriptions and their Representations

Shonan Village Center, Japan

26 January 2015

Anton Setzer Closing the Validation Gap 1/ 38

Page 2: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Examples of Validation Problems

Closing the Validation Gap

Case Study: Formalisation of Railway Interlocking System

Proof of Safety

Anton Setzer Closing the Validation Gap 2/ 38

Page 3: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proviso

I Background in mathematical logic, proof theory and type theory.

I Be prepared of misuse or naive use of terminology from softwareengineering.

Anton Setzer Closing the Validation Gap 3/ 38

Page 4: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Examples of Validation Problems

Examples of Validation Problems

Closing the Validation Gap

Case Study: Formalisation of Railway Interlocking System

Proof of Safety

Anton Setzer Closing the Validation Gap 4/ 38

Page 5: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Examples of Validation Problems

Exam Question

I Assume you have two planes:I The code for the first one has been fully verified using automated

and interactive theorem proving, but the plane has not been tested.I The code for the second one has not been verified this way, but the

plane has been thoroughly tested.

I Which one do you choose to use?

Anton Setzer Closing the Validation Gap 5/ 38

Page 6: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Examples of Validation Problems

Validation Gap

I Verification can be done in a machine checked way.

I Verification is only relative to a given specification.

I How do you know that the specification guarantees that the programfulfils the requirements?

I Validation checks that a program fulfils the requirements or aspecification guarantees that the requirements are fulfilled.

I Cannot be done formally.

Anton Setzer Closing the Validation Gap 6/ 38

Page 7: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Examples of Validation Problems

Example Incomplete Specification

I We have written a program for controlling a railway interlockingsystem using SPARK Ada.

I Specification based on Hoare logic (pre and post conditions).

I Verification was carried out in a machine checked way.I When running the program it was incorrect.

I Trains disappeared.I Forgotten to add to the specification that trains should not get lost.I This happened in real world as well (disappearance of trains from a US

control system of railways).

Anton Setzer Closing the Validation Gap 7/ 38

Page 8: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Examples of Validation Problems

Complexity of Specification

I Tobias Nipkow has verified the security of a hotel key system.

I Specification was substantially longer than the program.

I Maybe it is easier to see that the program is secure than that thespecification guarantees security?

Anton Setzer Closing the Validation Gap 8/ 38

Page 9: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap

Examples of Validation Problems

Closing the Validation Gap

Case Study: Formalisation of Railway Interlocking System

Proof of Safety

Anton Setzer Closing the Validation Gap 9/ 38

Page 10: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap

Closing the Validation Gap

I Verification can be done provably correct or using systematicthorough testing.

I We can guarantee (up to a certain degree).

I Validation can only be done using semi-formal, systematic methods.I We cannot guarantee it.

I We cannot avoid a gap between specification and requirements.

I However we can make the gap as small as possible.

Anton Setzer Closing the Validation Gap 10/ 38

Page 11: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap

Requirements - Specification - System

Specification

System

Validation

Validation

RequirementsReal World

Model

Verification

Anton Setzer Closing the Validation Gap 11/ 38

Page 12: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap

Suggestion to have two Specifications

I:::::::::::::::Requirements

::::::::::::::specification which is as close as possible to the

requirements.I Corresponds as close as possible to a model of the real world situation.I Example: In railway interlocking systems model of railways.

I:::::::::Program

::::::::::::::specification which is used to verify the program.

I Should make it easy to verify that a program fulfils the specification.I Example: In railway interlocking systems signalling principles

E.g.: If signal A is green, signal B is red.

Anton Setzer Closing the Validation Gap 12/ 38

Page 13: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap

Interactive vs Automated Theorem Proving

I That the program fulfils the program specification is typicallyprovable by automated theorem proving.

I In case of railway interlocking systems show that a railway interlockingsystem fulfils signalling principles.

I That the program specification implies the requirementsspecification is typically provable by interactive theoremproving.

Anton Setzer Closing the Validation Gap 13/ 38

Page 14: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Closing the Validation Gap

Requirements and Program Specification

System

Requirements

Requirements Specification

Program Specification

Validation

Interactive Theorem Proving

Automated Theorem Proving or Testing

Anton Setzer Closing the Validation Gap 14/ 38

Page 15: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Examples of Validation Problems

Closing the Validation Gap

Case Study: Formalisation of Railway Interlocking System

Proof of Safety

Anton Setzer Closing the Validation Gap 15/ 38

Page 16: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Track Segments

I The basic unit into which one divides a rail yard is that of a

:::::track

::::::::::segment.

I A track segment is stretch of a track without any further smallerparts, which are significant for an analysis of a interlocking system.

I there are no sets of points in between (but a set of points might formone segment)

I there are no crossings in between,I they are not divided by signals into parts.

Anton Setzer Closing the Validation Gap 16/ 38

Page 17: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Example

I In the following example we have track segments s1 - s6.

I The two branches of the set of points p1 form segment s2.

I The two branches of the set of points p2 form segment s4.

s1

s2

p1

s4

s5

p2

s6

s3

sig1 sig4

sig5sig6sig7sig8

sig9sig10

sig3sig2

Anton Setzer Closing the Validation Gap 17/ 38

Page 18: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Signals

I Signals control the access from one train segment to the next one.I They are drawn in the direction of use, e.g. Signal sig2 is visible from

s1 and controls access to s2.I In the example sig2, sig7, sig9, control access to the set of points p1,

and sig3, sig6, sig10 control access to p2.I sig1, sig5 control access to s1, s5 respectively, and sig8, sig4 control

access to the neighbouring rail yards.

s1

s2

p1

s4

s5

p2

s6

s3

sig1 sig4

sig5sig6sig7sig8

sig9sig10

sig3sig2

Anton Setzer Closing the Validation Gap 18/ 38

Page 19: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Train Routes

I The control system for such a rail yard has several:::::train

:::::::routes.

I A::::train

::::::route is a sequence of track segments, the train can follow

without ever having to stop in between (except in emergency cases).I The beginning of a train route and its end should be delimited by

signals.I The first one prevents entering the train route, the second one, delimits

access from this train route to the following train routes.

I The segment before the guarding signal belongs to the route.

Anton Setzer Closing the Validation Gap 19/ 38

Page 20: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Train Routes

I So we have a train route (s1,s2,s6)I with segments s1,s2, s6I guarded by signal sig2

I Routes r1, r2 are connected if after having traversed route r1 one canproceed to route r2

I route (s1,s2,s6) and route (s6,s4,s5) are connected.

s1

s2

p1

s4

s5

p2

s6

s3

sig1 sig4

sig5sig6sig7sig8

sig9sig10

sig3sig2

Anton Setzer Closing the Validation Gap 20/ 38

Page 21: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Formalisation in Agda

I We followKarim Kanso and Anton Setzer: A light-weight integration ofautomated and interactive theorem proving. Mathematical Structuresin Computer Science, FirstView, 2014, pp. 1 - 25.

Anton Setzer Closing the Validation Gap 21/ 38

Page 22: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Formalisation

I We have sets and relations

Segment : SetTrain : SetRoute : SetConnected : Route→ Route→ SetSegInRoute : Segment→ Route→ Set

Anton Setzer Closing the Validation Gap 22/ 38

Page 23: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Model

I Time is given asTime = N : Set

I Depending on t : Time we assume

trainRoutet : Train→ RoutesignalAspectt : Route→ {proceed, danger}

Anton Setzer Closing the Validation Gap 23/ 38

Page 24: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Abstract Assumptions about Routes and Trains

I Single-Entry-Point: If two routes route1 and route2 are connected toroute route3, there is a segment (the one before the signal of route3

which is in route1 and route2):

∀route1, route2, route3.Connected route1 route3

→ Connected route2 route3

→ ∃segment.(SegInRoute segment route1

∧SegInRoute segment route2)

I Trains follow connected routes and obey signals:

∀t, train.(trainRoutet train ≡ trainRoutet+1 train)∨(Connected (trainRoutet train) (trainRoutet+1 train)∧signalAspectt(trainRoutet+1 train) ≡ proceed)

Anton Setzer Closing the Validation Gap 24/ 38

Page 25: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Abstract Signal Principle 1: Opposing Signals are not bothGreen

I If a segment is in two different routes, the signal of one of the routesmust have aspect danger:

∀t, route1, route2, segment.route1 6≡ route2

→ SegInRoute segment route1

→ SegInRoute segment route2

→ (signalAspectt route1 ≡ danger∨signalAspectt route2 ≡ danger)

Anton Setzer Closing the Validation Gap 25/ 38

Page 26: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Abstract Signal Principle 2: Routes of Trains are Guarded

I If a train is using a route, all routes with access to the segments ofthis route are guarded by red signal:

∀t, train, segment, route.SegInRoute segment (trainRoutet train)→ SegInRoute segment route→ signalAspectt route ≡ danger

Anton Setzer Closing the Validation Gap 26/ 38

Page 27: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Case Study: Formalisation of Railway Interlocking System

Initial Condition

∀train1, train2, segmenttrain1 6≡ train2

→ ¬(SegInRoute segment (trainRoute0 train1)∧SegInRoute segment (trainRoute0 train2))

Anton Setzer Closing the Validation Gap 27/ 38

Page 28: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Examples of Validation Problems

Closing the Validation Gap

Case Study: Formalisation of Railway Interlocking System

Proof of Safety

Anton Setzer Closing the Validation Gap 28/ 38

Page 29: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Collision Free

Theorem

Assume the above abstract conditions. Then trains don’t collide, i.e.

∀t, train1, train2, segmenttrain1 6≡ train2

→ ¬(SegInRoute segment (trainRoutet train1)∧SegInRoute segment (trainRoutet train2))

Anton Setzer Closing the Validation Gap 29/ 38

Page 30: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Proof of Theorem

I Induction on t : Time.

I t = 0 follows by the initial condition.

I For t → t + 1 assume train1, train2, segment s.t.

train1 6≡ train2

SegInRoute segment (trainRoutet+1 train1)SegInRoute segment (trainRoutet+1 train2)

and show a contradiction.I If none of the trains have moved (so their routes are as before) this

follows by IH.

Anton Setzer Closing the Validation Gap 30/ 38

Page 31: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Proof of Theorem

I If only train1 has moved we have:

signalAspectt(trainRoutet+1 train1) ≡ proceed(since train1 obeys signals)

SegInRoute segment (trainRoutet+1 train2)SegInRoute segment (trainRoutet train2)

(by trainRoutet+1 train2 = trainRoutet train2)SegInRoute segment (trainRoutet+1 train1)signalAspectt (trainRoutet+1 train1) ≡ danger

(by Abstract Signal Principle 2)Contradiction

I The case where only train2 has moved follows similarly.

Anton Setzer Closing the Validation Gap 31/ 38

Page 32: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Proof of Theorem

I If both train1, train2 have moved to the same route we have

trainRoutet+1 train1 ≡ trainRoutet+1 train2

Connected (trainRoutet train1) (trainRoutet+1 train1)Connected (trainRoutet train2) (trainRoutet+1 train2)

Since train routes of trains are connected∃segment

SegInRoute segment (trainRoutet train1)∧SegInRoute segment (trainRoutet train2)(by single entry to routes)

Contradiction to IH

Anton Setzer Closing the Validation Gap 32/ 38

Page 33: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Proof of Theorem

I If both train1, train2 have moved to different routes we have

signalAspectt (trainRoutet+1 train1) ≡ proceedsignalAspectt (trainRoutet+1 train2) ≡ proceed

(Since trains obey signals)trainRoutet+1 train1 6≡ trainRoutet+1 train2

SegInRoute segment (trainRoutet+1 train1)SegInRoute segment (trainRoutet+1 train2)(signalAspectt (trainRoutet+1 train1) ≡ danger∨signalAspectt (trainRoutet+1 train2) ≡ danger)

Contradiction

Anton Setzer Closing the Validation Gap 33/ 38

Page 34: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Points in Routes of Trains are Locked

I Similarly we were able to show that under additional conditions onpoints we haveIf a set of points is in facing direction of a route of a train, then theset of points is locked.

Anton Setzer Closing the Validation Gap 34/ 38

Page 35: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Sketch of Reduction to Real Interlockings

I The conditions on trainRoutet and signalAspectt are still abstract.I In order to reduce it to concrete interlockings we take the following

stepsI Formalise state (consisting of interlocking state, location circuits,

trains).I Formalise desired inputs to state.I Define initial state.I Define functions computing next state depending on state and desired

input.I Define concrete signalling principles and conditions on locations/trains

for initial state and next state.I Show that the functions above fulfil these concrete conditions.I Compute trainRoutet , signalAspectt .I Show that concrete conditions above imply the abstract conditions on

trainRoutet , signalAspectt .I Therefore the interlocking system is safe.

Anton Setzer Closing the Validation Gap 35/ 38

Page 36: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Evaluation

I Even in this simplified situation it is rather complicated to see thatthe signalling principles imply safety.

I In usual validation this is done by hand.

I In the above approach we have formalised it mathematically in Agdaand shown that the signalling principles imply safety.

I Therefore the validation gap has been narrowed.

Anton Setzer Closing the Validation Gap 36/ 38

Page 37: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

Conclusion

I Validation gap between Specification and Requirements.

I By having a requirements specification which is as close aspossible to the requirements this gap can be narrowed.

I Replaces arguments which are carried out informally in the head ofthe validator by robust mathematical arguments.

I Two step verification:I Step 1: Program fulfils program specification.I Step 2: Program specification implies requirements specification.

I Full verification of real world interlocking system in Agda has beencarried out (PhD thesis Karim Kanso).Interlocking system could be executed in Agda as an interactiveprogram.

Anton Setzer Closing the Validation Gap 37/ 38

Page 38: Closing the Validation Gap or Verifying Railway ... · Anton Setzer Swansea University, Swansea UK Shonan Meeting Logical Analysis of Descriptions and their Representations Shonan

Proof of Safety

References

I Karim Kanso and Anton Setzer: A light-weight integration ofautomated and interactive theorem proving. Mathematical Structuresin Computer Science, FirstView, 2014, pp. 1 - 25.

I Karim Kanso: Agda as a Platform for the Development of VerifiedRailway Interlocking Systems. PhD thesis, Department of ComputerScience, Swansea University, Swansea, UK.http://www.swan.ac.uk/∼csetzer/articlesFromOthers/index.html

I Karim Kanso: Formal Verification of Ladder Logic. MRes thesis,Department of Computer Science, Swansea University, Swansea, UK.http://www.swan.ac.uk/∼csetzer/articlesFromOthers/index.html

Anton Setzer Closing the Validation Gap 38/ 38