Ten Diverse Formal Models for a CBTC Automatic Train Supervision - - PowerPoint PPT Presentation

ten diverse formal models for a cbtc automatic train
SMART_READER_LITE
LIVE PREVIEW

Ten Diverse Formal Models for a CBTC Automatic Train Supervision - - PowerPoint PPT Presentation

MARS / VPT 2018 Thessaloniki, 20 April 2018 Ten Diverse Formal Models for a CBTC Automatic Train Supervision System Franco Mazzanti ISTI CNR Pisa Italy Origins of the study Define an ATS scheduling approach to achieve deadlock free train


slide-1
SLIDE 1

Franco Mazzanti ISTI CNR Pisa Italy

MARS / VPT 2018 Thessaloniki, 20 April 2018

Ten Diverse Formal Models for a CBTC Automatic Train Supervision System

slide-2
SLIDE 2

Origins of the study

Thessaloniki, 20 April 2018 Ten Diverse Formal Models … 2

Trace-IT ASTRail Define an ATS scheduling approach to achieve deadlock free train dispatching. Case Study: a project defined CBTC scenario Investigate and experiment with a rich set of formal methods an tools to compose a survey on the suggested use of formal methods in the railway field. Trace-IT case study re-used as one of the experiments.

Official Disclaimer: The opinions and results discussed in this presentation reflects only the author’s view and the Shift2Rail Joint Undertaking is not responsible for any use that may be made of the presented information.

slide-3
SLIDE 3

The Trace-IT goal

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Ÿ We have a metro layout. Ÿ We have an automatic (unmanned) metro service. Ÿ Each train has its mission statically defined, provided to the ATS as static configuration data (timetable) Ÿ We have to design the logic of the ATS scheduling kernel, to successfully dispatch all the trains, leading them to destination avoiding deadlocks (also in case of arbitrary delays)

slide-4
SLIDE 4

The Trace-IT project demonstrator case study

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

yellow blue >> yellow >> blue red >> green >> green red

Vicolo Corto Via Accademia BCA01 I II Piazza Università I II BCA02 Via Verdi I II BCA03 Piazza Dante I II III BCA05 BCA04 I II I I II Vicolo Stretto Via Marco Polo Via Roma Viale dei Giardini Parco della Vittoria I II III I II III IV Viale Monterosa

5 7 8 10 11 12 15 16 17 18 20 22 23 24 25 26 27 28 29 30 31 32 13 9 6 4 1 3 2

31 25 23 20 16 13 12 10 9 8 7 6 27 28 29 30 32 5 4 3 2 1 26 24 22 17 15 18 11

Ÿ 8 trains providing circular services

slide-5
SLIDE 5

Itineraries vs circuits

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

BCA01 Piazza Università I II BCA02

3 4 5 6

Segments correspond to entry/exit itineraries of stations Itineraries are composed of several track circuits

slide-6
SLIDE 6

Handling the problem size

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Via Accademia BCA01 I II Piazza Università I II BCA02 Via Verdi I II

3 2 5 1

BCA03

7

4 6 9 BCA03 Piazza Dante I II III BCA05 Via Marco Polo Via Roma Viale dei Giardini Parco della Vittoria I II III I II III IV

10 11 12 15 16 17 18 20 22 23 24 25 26 27

9 Vicolo Corto BCA05 BCA04 I II I I II Vicolo Stretto Viale Monterosa

27 28 29 30 31 32 8 13

SECTION 2 SECTION 3 SECTION 1

slide-7
SLIDE 7

The Section 2 layout and train missions.

4

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train0 train2 train3 train1 train4 train6 train7 train5 1 1 1 1 1 1 1 1 1 3 5 7 23 24 25 26 13 18 17

Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

slide-8
SLIDE 8

4

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train0 1 1 23 13 18 17

Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

The Section 2 layout and train missions.

slide-9
SLIDE 9

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train4 1 3 23 13 18 17

The Section 2 layout and train missions.

slide-10
SLIDE 10

4

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train1 1 3 23 13 18 17

Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

The Section 2 layout and train missions.

slide-11
SLIDE 11

The Trace-IT case study

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train5 1 24 13 18 17

slide-12
SLIDE 12

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train2 1 5 13 18 17

The Section 2 layout and train missions.

slide-13
SLIDE 13

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train6 1 25 13 18 17

The Section 2 layout and train missions.

slide-14
SLIDE 14

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train3 1 7 13 18 17

The Section 2 layout and train missions.

slide-15
SLIDE 15

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train7 1 26 13 18 17

The Section 2 layout and train missions.

slide-16
SLIDE 16

A sample deadlock occurrence

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 13 18 17 1 1 1 1 1 1 1 1

slide-17
SLIDE 17

The Trace-IT solution

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

T0 = [1 , 9, 10, 13, 15, 20, 23] Mission for train0 A0 = [ 0, 0, 0, 1, 0, -1, 0] Region-A Constraints for train0

20 8 5 6 7 1 2 10 11 12 15 16 22 23 24 25 26 27

9

3 4 train0 23 13 18 17 1 10

RA = current occupation count LA = max occupation count = 7

A

[RA +1 <= 7] RA++ RA --

slide-18
SLIDE 18

The progression rule (e.g. for train0)

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

T0 = [1 , 9, 10, 13, 15, 20, 23] Mission for train0 A0 = [ 0, 0, 0, 1, 0, -1, 0] Region-A Increments/Decr. for train0 P0 = n current progress point of train0 (index in T0) when <next endpoint of train0 is free> i.e. for all i: T0[P0+1] !=Ti[Pi] and <train0 move does not saturate any region> i.e. for all regions A, … : RA + A0[P0+1] <= LA the train can advance: i.e. P0 = P0+1, RA = RA+A0[P0] RA = n current degree of occupancy of region A LA = 7 maximum degree of occupancy for region A

slide-19
SLIDE 19

The reference structure of the model

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

T0 = [1 , 9, 10, 13, 15, 20, 23]; A0 = [ 0, 0, 0, 1, 0, -1, 0]; B0 = [ 0, 0, 0, 1, 0, -1, 0]; … T7 = [26, 22, 17, 18, 12, 27, 7]; A7 = [ 1, 0, 0, -1, 0, 0, 0]; B7 = [ 1, 0, 0, -1, 0, 0, 0]; LA = 7; LB =7

Global Constants Global Variables

P0, P1, ..., P7 := 0; RA:=1, RB :=1

Train Rules

Train0: [guard train0] / actions train0 … Train7: [guard train7] / actions train7

slide-20
SLIDE 20

The encoding of the model: UMC

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

train0: s1 -> s1 {- [P0<6 & T0[P0+1] !=T5[P5] &…& T0[P0+1] !=T7[P7] & RA+A0[P0+1]<=LA & RB+B0[P0+1]<=LB] / P0 := P0+1; RA := RA+A0[P0]; RB := RB+B0[P0]; } … train7: s1 -> s1 {…}

slide-21
SLIDE 21

The encoding of the model: SPIN

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

do :: atomic { (P0<6 && T0[P0+1] !=T1[P1] && … && T0[P0+1] !=T7[P7] && (RA+A0[P0+1])<=LA && (RB+B0[P0+1]<=LB) ) -> P0 = (P0+1); RA = RA+A0[P0]; RB = RB+B0[P0]; }; :: atomic { };

  • d;
slide-22
SLIDE 22

The encoding of the model: CADP/LNT

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

loop select

  • nly if

P0<6 and T0[P0+1] !=T1[P1] and … and T0[P0+1] !=T7[P7] and (RA+A0[P0+1])<=LA and (RB+B0[P0+1]<=LB) then MOVE (0 of Train_Number); P0 := (P0+1); RA := RA+A0[P0]; RB := RB+B0[P0]; end if [ ]

  • nly if

… end select end loop

slide-23
SLIDE 23

The encoding of the model: ProB

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

OPERATIONS move0 = PRE P0<6 & T0(P0+1) /=T1(P1) &…& T0(P0+1) /=T7(P7) & RA+A0(P0+1)<=LA & RB+B0(P0+1)<=LB THEN P0 := P0+1; RA := RA+A0(P0); RB := RB+B0(P0); END; move1 = …

slide-24
SLIDE 24

The encoding of the model: NuSMV/ nuXmv

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

TRANS RUNNING=0 -> P0<6 && T0[P0+1] !=T1[P1] &…& T0[P0+1] !=T7[P7] & (RA+A0[P0+1])<=LA & (RB+B0[P0+1])<=LB ? next(P0)=(P0+1) & next(P1)=P1 &…& next(P7)=P7 & next(RA)= RA+A0[P0; next(RB)=RB+B0[P0]; : next(P0)=P0 &...& next(P7)=P7 & next(RA)=RA & next(RB)=RB … TRANS RUNNING=7 ->

slide-25
SLIDE 25

The encoding of the model: FDR4 / CSPm

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

AllTrains (P0, P1, P2, P3, P4, P5, P6, P7, RA, RB) = ( P0 < 6 and el(T0,P0+1) != el(T1,P1) and … and el(T0,P0+1) != el(T7,P7) and RA + el(A0,P0+1) <= LA and RB + el(B0,P0+1) <= LB ) & move0 -> AllTrains(P0+1,P1,P2,P3,P4,P5,P6,P7, RA+el(A0,P0+1), RB+el(B0,P0+1)) [ ] ( P1 < 6 and …

slide-26
SLIDE 26

The encoding of the model: mCRL2

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

proc AllTrains(P0,P1,P2,P3,P4,P5,P6,P7:Nat, RA,RB: Int) = ( P0 < 6 && T0(P0+1) != T1(P1) &&… && T0(P0+1) != T7(P7) && RA+A0(P0+1) <= LA && RB+ B0(P0+1)<=LB ) & move(0) -> AllTrains(P0+1,P1,P2,P3,P4,P5,P6,P7, RA+A0(P0+1), RB+B0(P0+1)) [ ] ( P1 < 6 && …

slide-27
SLIDE 27

The encoding of the model: TLAplus

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Move0 == /\ P0 < 6 /\ T0[P0+2] /=T1[P1+1] /\ … /\ T0[P0+2] /=T7[P7+1] /\ RA + A0[P0+2] <= LA /\ RB + B0[P0+2] <= LB /\ P0' = (P0+1) /\ RA' = RA+A0[P0+2] /\ RB' = RB+B0[P0+2] /\ UNCHANGED <<P1,P2,P3,P4,P5,P6,P7>> Move1 == … Next == Move0 \/ Move1 \/ Move2 \/ Move3 \/ Move4 \/ Move5 \/ Move6 \/ Move7

slide-28
SLIDE 28

Considerations:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

So what ????

slide-29
SLIDE 29

Considerations:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Blackboard models / Event-Condition-Action models / can have a common Guard-Transition models / reference baseline

slide-30
SLIDE 30

Considerations:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Diversity in tool selection / model encoding more trustable verification results Blackboard models / Event-Condition-Action models / can have a common Guard-Transition models / reference baseline

slide-31
SLIDE 31

Considerations:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Blackboard models / Event Condition Action models / can have a common baseline Guard Transition models / Diversity in tool selection / model encoding more trustable verification results better exploitation of the verification features of multiple existing frameworks. e.g. Branching vs. Linear

  • vs. Refinements vs. Compositional

e.g. tool. friendliness vs. ability to deal with very large models e.g. timed vs untimed

slide-32
SLIDE 32

Further Works:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

More frameworks taken into consideration: Simulink / SCADE / SAL / UPPAAL / …. More features compared: Code Generation? Report Generation? Language Expressiveness Time Retated Aspects? Probability? Modularity Simulation? Model-based Testing? Standard input format? Inport/Export Maturity Industrial Diffusion Customer Support Cost Certification Documentation

slide-33
SLIDE 33

Official Formal Disclaimer:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

The opinions and results discussed in this presentation reflect

  • nly the author’s view and the Shift2Rail Joint Undertaking is not

responsible for any use that may be made of the presented information. This work has received funding from the S2RJU under the European Union’s Horizon 2020 research and innovation programme under grant agreement No 777561.

slide-34
SLIDE 34

Senior Researcher

Franco Mazzanti

THANK YOU!

ISTI CNR Via Moruzzi 1, Pisa , Italy http://fmt.isti.cnr.it/~mazzanti

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under Grant Agreement No 777561 Call identifier: H2020-S2RJU-2017 Topic: S2R-OC-IP2-01-2017 – Operational conditions of the signalling and automation systems; signalling system hazard analysis and GNSS SIS characterization along with Formal Method application in railway field

CONTACTS

slide-35
SLIDE 35

The incremental design/verification approach:

4 Thessaloniki, 20 April 2018 Ten Diverse Formal Models …

Initial model (handling basic deadlocks) Model Checking New sections, counters, and updated missions No more deadlocks or false positives New deadlocks or false positives Validated ATS Data Train Missions