lazy state space
play

LAZY STATE SPACE state equation CONSTRUCTION trap equation - - PowerPoint PPT Presentation

dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 QUALITATIVE ANALYSIS METHODS , OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES LINEAR PROGRAMMING static analysis place / transition


  1. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 QUALITATIVE ANALYSIS METHODS , OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES LINEAR PROGRAMMING static analysis place / transition invariants LAZY STATE SPACE state equation CONSTRUCTION trap equation - REACHABILITY ANALYSIS STUBBORN SET REDUCED (complete) reachability graph REACHABILITY GRAPH compressed state spaces BDDs, NDDs, ..., XDDs dynamic Kronecker products analysis reduced state spaces (model checking) coverability graph symmetry stubborn sets branching process Z:\Documents\teaching\pn-vo\pn_skript_fm\pn09_stubbornSetReduction.sld.fm 9 - 1 / 24 monika.heiner@b-tu.de 9 - 2 / 24

  2. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 STUBBORN SETS EXAMPLE & REDUCED RG SYSTEM DEADLOCK , P ETRI NET ❑ basic principle - lazy state space construction b1 P1_downA a1 -> only a subset of the complete rg is constructed P2_downB -> this subset still allows the decision of a2 b2 B certain properties RG red equiv RG P2_downA -> P1_downB equivalent with respect to some properties a3 b3 P2_repeat P1_repeat A -> suitable equivalence relation ? P2_upA P1_upB ❑ basic idea - a4 b4 partial order reduction techniques b5 a5 P2_upB -> not all interleaving sequences of P1_upA concurrent behavior (= partially ordered behavior) are considered INA ORD HOM NBM PUR CSV SCF CON SC Ft0 tF0 Fp0 pF0 MG SM FC EFC ES ❑ preserved properties Y Y Y Y N N Y Y N N N N N N N N Y DTP SMC SMD SMA CPI CTI B SB REV DSt BSt DTr DCF L LV L&S -> all dead states N Y Y N Y Y Y Y N Y ? N N N N N -> cyclic behavior monika.heiner@b-tu.de 9 - 3 / 24 monika.heiner@b-tu.de 9 - 4 / 24

  3. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 EXAMPLE , EXAMPLE SYSTEM DEADLOCK , SYSTEM DEADLOCK , ( COMPLETE ) RG REDUCED RG CONCURRENCY BRANCHING 1 1 17 16 10 17 16 14 14 1 10 1 P2_downA P2_downB P2_downA P2_upA P2_upB P2_downB P2_upA P2_upB P2_repeat P2_repeat P1_downA P1_downA P1_downA P1_downA P1_downA P1_downA P1_downA P1_downA 18 2 15 11 2 15 11 18 2 2 DEAD STATE DEAD STATE P2_downB P2_upB P2_downB P2_upB P2_repeat P2_repeat P1_downB P1_downB P1_downB P1_downB CONFLICT BRANCHING 12 3 12 3 3 3 P2_repeat P2_repeat P1_upB P1_upB P1_upB P1_upB 19 4 13 4 13 19 4 4 P2_repeat P2_downB P2_repeat P2_downB P1_upA P1_upA P1_upA P1_upA P1_upA P1_upA 6 5 5 6 5 7 8 9 7 8 9 5 P2_upA P2_upB P2_downB P2_downA P2_upA P2_downA P2_upB P2_downB P2_repeat P2_repeat P1_repeat P1_repeat P1_repeat P1_repeat P1_repeat P1_repeat P1_repeat P1_repeat P1_repeat P1_repeat 17 16 14 10 1 1 17 16 14 10 1 1 P2_downA P2_upA P2_upB P2_repeat P2_downA P2_upB P2_upA P2_repeat 19 nodes, 10 nodes, 32 arcs 12 arcs (saving: 9 nodes, 20 arcs) monika.heiner@b-tu.de 9 - 5 / 24 monika.heiner@b-tu.de 9 - 6 / 24

  4. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 STUBBORN SET , REACHABILITY GRAPH , CONSTRUCTION ALGORITHM CHARACTERISTICS ROCEDURE rg ( IN Net pn , IN Marking m 0 , OUT MSet nodes , OUT ArcSet arcs ); ❑ a marking-dependent selection of a set of independent transitions U { m 0 } MSet , // unprocessed markings = N ∅ = ; // rg nodes ❑ a set of independent transitions ∅ E ArcSet ; // rg arcs (pre, post, t) = m ' -> their behavior cannot be influenced Marking ; // successor marking by the excluded transitions t Transition ; -> “they are stubborn” U ≠ ∅ WHILE DO -> any sequence of excluded transitions cannot ∈ m U choose one ; enable or disable an included transition { } ∪ { } U U m N N m ; ; = – = -> their firing can be postponed -> contains at least one enabled transition FOR ALL enabled at m DO t ∈ m ' m ∆ t = + ; ❑ stubborn set reduced rg m ' ∉ N ∪ U IF // new marking ∪ { } U U m ' THEN -> slight variation of the standard algorithm = ENDIF ; -> at each marking (node): ∪ { ( , , ) } E E m m ' t = instead of firing all enabled transitions, ENDFOR only transitions of a stubborn set are fired ENDWHILE ; nodes = N ; arcs = E ; ENDPROC rg. monika.heiner@b-tu.de 9 - 7 / 24 monika.heiner@b-tu.de 9 - 8 / 24

  5. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 STUBBORN REDUCED RG , HOW TO CONSTRUCT CONSTRUCTION ALGORITHM STUBBORN SETS ROCEDURE rg ( IN Net pn , IN Marking m 0 , ❑ three basic steps OUT MSet nodes , OUT ArcSet arcs ); U { m 0 } (1) choose an enabled transition t and put it into U MSet , // unprocessed markings = N ∅ = ; // rg nodes FOR ALL enabled transition t in U DO ∅ E (2) ArcSet ; // rg arcs (pre, post, t) = m ' Marking ; // successor marking all transitions in conflict with t go into U t Transition ; ENDFOR -> conflict transitions: (Ft)F U ≠ ∅ WHILE DO ∈ -> any sequence of excluded transitions m U choose one ; cannot disable an included transition { } ∪ { } U U m N N m ; ; = – = FOR ALL disabled transition t in U DO FOR ALL of a stubborn set enabled at m DO t ∈ (3) m ' m ∆ t = + ; choose a scapegoat m ' ∉ N ∪ U IF (a place p which prevents t // new marking ∪ { } U U m ' from being enabled), THEN = ENDIF ; and all pre-transitions of p go into U ∪ { ( , , ) } E E m m ' t = ENDFOR ENDFOR -> any sequence of excluded transitions ENDWHILE ; cannot enable an included transition nodes = N ; arcs = E ; ❑ repeat (2) and (3) as long as necessary -> each set U constructed by this way ENDPROC rg. is a stubborn set at m monika.heiner@b-tu.de 9 - 9 / 24 monika.heiner@b-tu.de 9 - 10 / 24

  6. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 STUBBORN SETS , STUBBORN SETS , EXAMPLES (1) EXAMPLES (2) step1 B A a1 b1 ❑ for any dead state P2_downB P1_downA -> there is no stubborn set a2 b2 P1_downB P2_downA ❑ for non-dead states a3 b3 -> set of all transitions is a stubborn set (2) (2) step2 step4 ❑ any conflict-free enabled transition A B A B a1 -> is a stubborn set for itself b1 a1 b1 P2_downB P1_downA P1_downA P2_downB A B a2 b2 a2 b2 P2_downA P2_downA P1_downB P1_downB a3 b3 a3 b3 (3) (3) step5 step3 A B A B a1 b1 a1 b1 P1_downA P1_downA P2_downB P2_downB a2 b2 a2 b2 P2_downA P2_downA P1_downB P1_downB a3 b3 a3 b3 stop monika.heiner@b-tu.de 9 - 11 / 24 monika.heiner@b-tu.de 9 - 12 / 24

  7. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 STUBBORN SETS , EXAMPLE TRAVEL PLANNING , RG OBSERVATIONS ❑ 1 result U depends on the current marking m vorbereitungen_beginn 2 ❑ non-deterministic stubborn set construction auto packen camping hotel zug fuss -> result depends on non-deterministic choices 3 24 22 26 -> choose an enabled transition t packen packen packen fuss -> choose a scapegoat p fuss verbindung check auto auto hotel zug hotel zug camping camping hotel anrufen camping ❑ Charlie’s heuristics -> start with an enabled transition, 4 15 17 20 23 19 25 having few transistions in conflict packen packen packen packen check fuss verbindung fuss auto check verbindung hotel hotel hotel -> choose a scapegoat with few pre-transitions auto anrufen anrufen camping camping zug camping zug anrufen 8 13 10 16 12 18 21 ❑ smaller stubborn sets generally result packen packen packen check fuss verbindung hotel into smaller reduced rg verbindung anrufen check anrufen auto anrufen camping zug BUT, there are counter examples -> 5 9 14 11 ❑ there are various heuristics to determine packen check verbindung anrufen smaller stubborn sets -> basic step (3) 6 repeat vorbereitungen_ende BUT , increasing computational effort ❑ 7 -> may exceed benefit gained -> what is more worth: space or run time ? monika.heiner@b-tu.de 9 - 13 / 24 monika.heiner@b-tu.de 9 - 14 / 24

  8. dependability engineering & Petri nets SS 2018 dependability engineering & Petri nets SS 2018 DINING PHILOSOPHERS , EXAMPLE TRAVEL PLANING , REDUCED RG RG AND REDUCED RG , SIZES 1 # phils P / T R stub R begin_preparations 2 1 6 / 4 4 4 2 10 / 8 8 10 3 15 / 12 20 35 camping hotel 4 20 / 16 38 118 concurrent activity 1 5 25 / 20 62 392 3 6 30 / 24 92 1.297 ask_for_rooms 7 35 / 28 128 4.286 4 8 40 / 32 170 14.158 9 45 / 36 218 46.763 10 50 / 40 272 154.450 train car feet concurrent 11 55 / 44 332 510.116 activity 2 9 8 12 60 / 48 398 13 65 / 52 470 (5.56 e+6) 14 70 / 56 548 check 15 75 / 60 632 (60.7 e+6) ask_for_ schedule 5 concurrent activity 3 pack 6 repeat end_preparations 7 -> only one interleaving sequence is represented monika.heiner@b-tu.de 9 - 15 / 24 monika.heiner@b-tu.de 9 - 16 / 24

Recommend


More recommend