multi core model checking for biological applications
play

Multi-core model checking for biological applications Jaco van de - PowerPoint PPT Presentation

UNIVERSITY OF TWENTE. Formal Methods & Tools. Multi-core model checking for biological applications Jaco van de Pol 22 November 2013 NWPT13, Tallinn ... Multi-core Reachability Multi-core LTL model checking Timed Automata


  1. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recursive indexing (Tree Compression) Blom, Lisser, van de Pol, Weber [PDMC’07, JLC’09] 4 5 6 4 4 1 0 0 3 4 8 4 4 1 1 0 3 5 5 4 4 1 2 0 4 5 6 4 1 3 0 1 3 4 8 4 1 3 1 1 3 5 5 4 1 3 2 1 4 5 6 5 6 3 0 2 3 4 8 5 6 3 0 6 1 2 0 1 3 5 5 5 6 3 1 8 2 2 1 3 2 5 2 3 4 5 4 4 3 4 4 1 3 5 5 6 H K ( K − 1) × H 2 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 11 / 56

  2. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recursive indexing (Tree Compression) Blom, Lisser, van de Pol, Weber [PDMC’07, JLC’09] 4 5 6 4 4 1 0 0 3 4 8 4 4 1 1 0 3 5 5 4 4 1 2 0 4 5 6 4 1 3 0 1 3 4 8 4 1 3 1 1 3 5 5 4 1 3 2 1 4 5 6 5 6 3 0 2 3 4 8 5 6 3 0 6 1 2 0 1 3 5 5 5 6 3 1 8 2 2 1 3 2 5 2 3 4 5 4 4 3 4 4 1 3 5 5 6 H K ( K − 1) × H 2 Analysis √ ◮ Locality = ⇒ balanced tree ( N + 2 � N + 4 4 ( N ) · · · ≈ N ) Compresses states of lenght K to almost 2 (!) ◮ Hard to parallelize: ◮ Sequential operation on tree of tables ◮ Many small (variable size) hash tables UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 11 / 56

  3. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one � 3 , 5 , 5 , 4 , 1 , 3 � UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  4. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one � 3 , 5 , 5 , 4 , 1 , 3 � � 3 , 5 , 5 � � 4 , 1 , 3 � 5 3 3 5 4 1 � 3 , 5 � � 4 , 1 � UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  5. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one � 3 , 5 , 5 , 4 , 1 , 3 � 4 1 � 3 , 5 , 5 � � 4 , 1 , 3 � 5 3 3 5 4 1 3 5 � 3 , 5 � � 4 , 1 � UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  6. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one � 3 , 5 , 5 , 4 , 1 , 3 � 4 1 6 5 � 3 , 5 , 5 � � 4 , 1 , 3 � 6 5 1 3 1 3 3 5 4 1 3 5 � 3 , 5 � � 4 , 1 � UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  7. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one � 3 , 5 , 5 , 4 , 1 , 3 � 4 1 2 5 6 5 � 3 , 5 , 5 � � 4 , 1 , 3 � 6 5 1 3 1 3 3 5 4 1 3 5 � 3 , 5 � � 4 , 1 � 2 5 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  8. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one ◮ Incremental updates: use the Dependency Matrix ◮ ( K − 1) → log 2 ( K − 1) lookups � 3 , 5 , 5 , 4 , 1 , 3 � � 3 , 5 , 9 , 4 , 1 , 3 � 4 1 2 5 ? 5 6 5 6 5 1 3 6 9 1 3 3 5 4 1 3 5 2 5 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  9. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallel Tree Compression Laarman, van de Pol, Weber [spin11], Laarman, van der Vegt [memics’11] Solution ◮ Reuse lockless hash table: merge tree of tables into one ◮ Incremental updates: use the Dependency Matrix ◮ ( K − 1) → log 2 ( K − 1) lookups ◮ Further improvements: ◮ Zobrist incremental hashing (’69), Cleary hash compaction (’84) � 3 , 5 , 5 , 4 , 1 , 3 � � 3 , 5 , 9 , 4 , 1 , 3 � 4 1 2 5 ? 5 6 5 6 5 1 3 6 9 1 3 3 5 4 1 3 5 2 5 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 12 / 56

  10. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Compression Experiments from 2011 [BEEM database] Laarman, van de Pol, Weber [spin11] %#" '())"*+,-()../+0" 12.3"'245)" ◮ Tree compression is a recursive !"#$%&''(")*+,!-"%*./012** 6-7,25"8())"*+,-()../+0" %!" 96::;<=>"+-7,25" 96::;<=>"*+,-()../+0" variant of SPIN’s Collapse (’97) $#" $!" ◮ Exploit combinatorial structure: #" ◮ State vectors are highly similar ◮ Impressive compression ratios !" !" #!" $!!" $#!" %!!" %#!" &!!" '-,-&*3&)4-5*.67-&2** ◮ Extreme case: firewire tree 6000 LTSmin-mc Table LTSmin-mc Tree 5000 DiVinE 2.2 Uncompressed: 14 GB SPIN SPIN Collapse 4000 optimal (linear speedup) Tree Compression: 96 MB time (sec) 3000 ◮ Compression comes for free 2000 ◮ Arithmetic intensity increases 1000 ◮ Less memory-bus traffic 0 1 2 4 6 8 10 12 14 16 #cores UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 13 / 56

  11. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 14 / 56

  12. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Symbolic Model Checking based on BDDs Bryant [IEEE Trans. Comp.’86], Burch,Clarke, McMillan [LICS’90] BDD data structures ◮ Unique Table (to store BDD nodes) X ◮ Computed Cache (apply operations) Y Z 1 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 15 / 56

  13. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Symbolic Model Checking based on BDDs Bryant [IEEE Trans. Comp.’86], Burch,Clarke, McMillan [LICS’90] BDD data structures ◮ Unique Table (to store BDD nodes) X ◮ Computed Cache (apply operations) Symbolic Reachability (chaining strategy) Y Require: I : initial state, R 1 , . . . , R N : subtransitions Ensure: V new : set of reachable states from I by � R i 1: V old := 0 ; V new := I Z 2: while V old � = V new do V old := V new 3: for i = 1 to N do 4: 1 0 V new := V new Or RelProd ( V new , R i ) 5: UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 15 / 56

  14. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Multi-core Binary Decision Diagrams Tom van Dijk, Alfons Laarman, van de Pol [pdmc’12] Multi-core BDDs ◮ Use shared hashtable for Unique Table, Operations Cache ◮ Parallelize computation tree of recursive operations ( Apply ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 16 / 56

  15. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Multi-core Binary Decision Diagrams Tom van Dijk, Alfons Laarman, van de Pol [pdmc’12] Multi-core BDDs ◮ Use shared hashtable for Unique Table, Operations Cache ◮ Parallelize computation tree of recursive operations ( Apply ) Complications for Parallelism ◮ BDD nodes can be removed ◮ Irregular task graph ◮ Fine-grained parallelism UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 16 / 56

  16. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Multi-core Binary Decision Diagrams Tom van Dijk, Alfons Laarman, van de Pol [pdmc’12] Multi-core BDDs ◮ Use shared hashtable for Unique Table, Operations Cache ◮ Parallelize computation tree of recursive operations ( Apply ) Complications for Parallelism Solutions ◮ BDD nodes can be removed ◮ Tombstones, garbage collect ◮ Irregular task graph ◮ Work-stealing ◮ Fine-grained parallelism ◮ Use split deque UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 16 / 56

  17. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallelizing the BDD Operations Parallel BDD operations ◮ Organize recursive calls to RelProd and Or in a task dependency graph ◮ Same task might be created several times: store result in the shared Computed Table UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 17 / 56

  18. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallelizing the BDD Operations Parallel BDD operations ◮ Organize recursive calls to RelProd and Or in a task dependency graph ◮ Same task might be created several times: store result in the shared Computed Table ◮ Fine-grained task-parallelism: ◮ Parent spawns children for subtasks, and waits upon their completion ◮ Load balancing by work-stealing; use e.g. Cilk [Blumofe ’95] or Wool [Fax´ en ’08] UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 17 / 56

  19. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Parallelizing the BDD Operations Parallel BDD operations ◮ Organize recursive calls to RelProd and Or in a task dependency graph ◮ Same task might be created several times: store result in the shared Computed Table ◮ Fine-grained task-parallelism: ◮ Parent spawns children for subtasks, and waits upon their completion ◮ Load balancing by work-stealing; use e.g. Cilk [Blumofe ’95] or Wool [Fax´ en ’08] Split double-ended queue in public and private part t s h • • • • • • • • • • stolen stealable worker-private UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 17 / 56

  20. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Results: speedup of BDD operations for model checking Model 30 bakery.4 bakery.8 Experiments collision.5 25 iprotocol.7 lifts.4 ◮ BEEM benchmarks, again lifts.7 20 schedule world.2 Speedup schedule world.3 ◮ On 4 × 12 = 48 core NUMA 15 ◮ Speedup up to 32 (=66.7%) 10 ◮ Small models don’t scale 5 (time spent in work stealing) 0 10 20 30 40 Workers UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 18 / 56

  21. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Results: speedup of BDD operations for model checking Model 30 bakery.4 bakery.8 Experiments collision.5 25 iprotocol.7 lifts.4 ◮ BEEM benchmarks, again lifts.7 20 schedule world.2 Speedup schedule world.3 ◮ On 4 × 12 = 48 core NUMA 15 ◮ Speedup up to 32 (=66.7%) 10 ◮ Small models don’t scale 5 (time spent in work stealing) 0 10 20 30 40 Workers Conclusion ◮ So far only speed up for the BDD-operations ◮ Even for large models, many small BDDs are involved ◮ Ongoing: parallelize Symbolic Reachability itself UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 18 / 56

  22. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 19 / 56

  23. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Model Checking by Accepting Cycles LTL Model Checking ◮ A buggy run in a system can be viewed as an infinite word ◮ Absence of bugs: emptiness of some B¨ uchi automaton ◮ S ⊆ P iff S ∩ P = ∅ iff S × ¬P has no accepting cycle 2 1 6 3 4 5 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 20 / 56

  24. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Model Checking by Accepting Cycles LTL Model Checking ◮ A buggy run in a system can be viewed as an infinite word ◮ Absence of bugs: emptiness of some B¨ uchi automaton ◮ S ⊆ P iff S ∩ P = ∅ iff S × ¬P has no accepting cycle ◮ Graph problem: find a reachable accepting state on a cycle 2 2 1 1 6 6 3 4 5 5 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 20 / 56

  25. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Model Checking by Accepting Cycles LTL Model Checking ◮ A buggy run in a system can be viewed as an infinite word ◮ Absence of bugs: emptiness of some B¨ uchi automaton ◮ S ⊆ P iff S ∩ P = ∅ iff S × ¬P has no accepting cycle ◮ Graph problem: find a reachable accepting state on a cycle ◮ Basic algorithm: Nested Depth First Search (NDFS) Properties of NDFS 2 2 1 1 6 6 ◮ NDFS runs in linear time ◮ Inherently depends on post-order ◮ Post-order is P-complete [Reif’85] 3 4 5 5 ◮ Not parallelizable (unless P=NC) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 20 / 56

  26. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recall: Nested Depth First Search [CVWY’92] [Holzmann’92] ◮ Blue search: explore graph in DFS order ◮ states on the blue search stack are cyan Blue search 1: procedure dfsBlue ( s ) 2: add s to Cyan 8: move s from Cyan to Blue UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 21 / 56

  27. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recall: Nested Depth First Search [CVWY’92] [Holzmann’92] ◮ Blue search: explore graph in DFS order ◮ states on the blue search stack are cyan Blue search 1: procedure dfsBlue ( s ) 2: add s to Cyan 3: for all successors t of s do 4: if t �∈ Blue ∪ Cyan then 5: dfsBlue ( t ) 8: move s from Cyan to Blue UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 21 / 56

  28. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recall: Nested Depth First Search [CVWY’92] [Holzmann’92] ◮ Blue search: explore graph in DFS order ◮ states on the blue search stack are cyan ◮ on backtracking from an accepting state: Blue search 1: procedure dfsBlue ( s ) 2: add s to Cyan 3: for all successors t of s do 4: if t �∈ Blue ∪ Cyan then 5: dfsBlue ( t ) 6: if s is accepting then 7: dfsRed ( s ) 8: move s from Cyan to Blue UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 21 / 56

  29. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recall: Nested Depth First Search [CVWY’92] [Holzmann’92] ◮ Blue search: explore graph in DFS order ◮ states on the blue search stack are cyan ◮ on backtracking from an accepting state: ◮ Red search: find an accepting cycle Blue search Red search 1: procedure dfsBlue ( s ) 2: add s to Cyan 1: procedure dfsRed ( s ) 3: for all successors t of s do 2: add s to Red 4: if t �∈ Blue ∪ Cyan then 3: for all successors t of s do 5: dfsBlue ( t ) 6: if s is accepting then 7: dfsRed ( s ) 6: if t �∈ Red then 7: dfsRed ( t ) 8: move s from Cyan to Blue UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 21 / 56

  30. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recall: Nested Depth First Search [CVWY’92] [Holzmann’92] ◮ Blue search: explore graph in DFS order ◮ states on the blue search stack are cyan ◮ on backtracking from an accepting state: ◮ Red search: find an accepting cycle ◮ exit as soon as the cyan stack is reached Blue search Red search 1: procedure dfsBlue ( s ) 2: add s to Cyan 1: procedure dfsRed ( s ) 3: for all successors t of s do 2: add s to Red 4: if t �∈ Blue ∪ Cyan then 3: for all successors t of s do 5: dfsBlue ( t ) 4: if t ∈ Cyan then 6: if s is accepting then 5: Exit: cycle detected 7: dfsRed ( s ) 6: if t �∈ Red then 7: dfsRed ( t ) 8: move s from Cyan to Blue UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 21 / 56

  31. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Recall: Nested Depth First Search [CVWY’92] [Holzmann’92] ◮ Blue search: explore graph in DFS order ◮ states on the blue search stack are cyan ◮ on backtracking from an accepting state: ◮ Red search: find an accepting cycle ◮ exit as soon as the cyan stack is reached ◮ Linear time, depends on post-order Blue search Red search 1: procedure dfsBlue ( s ) 2: add s to Cyan 1: procedure dfsRed ( s ) 3: for all successors t of s do 2: add s to Red 4: if t �∈ Blue ∪ Cyan then 3: for all successors t of s do 5: dfsBlue ( t ) 4: if t ∈ Cyan then 6: if s is accepting then 5: Exit: cycle detected 7: dfsRed ( s ) 6: if t �∈ Red then 7: dfsRed ( t ) 8: move s from Cyan to Blue UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 21 / 56

  32. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 22 / 56

  33. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Simple idea: Swarmed Nested Depth First Search Laarman, Langerak, van de Pol, Wijs [ATVA’11] Multi-core Swarmed NDFS ◮ W workers perform independent random NDFS ◮ Visited states are stored in a shared hashtable ◮ All workers use their own set of colors (2W bits per state) ◮ Speeds up bug hunting only Blue search Red search 1: procedure dfsBlue ( s , i ) 2: add s to Cyan [ i ] 1: procedure dfsRed ( s , i ) 3: for all successors t of s do 2: add s to Red [ i ] 4: if t �∈ Blue [ i ] ∪ Cyan [ i ] then 3: for all successors t of s do 5: dfsBlue ( t , i ) 4: if t ∈ Cyan [ i ] then 6: if s is accepting then 5: Exit: cycle detected 7: dfsRed ( s , i ) 6: if t �∈ Red [ i ] then 8: move s from Cyan [ i ] to Blue [ i ] 7: dfsRed ( t , i ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 23 / 56

  34. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Multi-core Nested Depth First Search Laarman, van de Pol,...[ATVA’11][PDMC’11]; Evangelista,L,vdP [ATVA’12] Multi-core NDFS (several variations) ◮ Collaboration between NDFS workers ◮ Share red and/or blue globally ◮ Workers backtrack on parts finished by others ◮ Correctness: Complicated to restore post-order ◮ Performance: Reasonable scalability Blue search Red search 1: procedure dfsBlue ( s , i ) 2: add s to Cyan [ i ] 1: procedure dfsRed ( s , i ) 3: for all successors t of s do 2: add s to Red 4: if t �∈ Blue ∪ Cyan [ i ] then 3: for all successors t of s do 5: dfsBlue ( t , i ) 4: if t ∈ Cyan [ i ] then 6: if s is accepting then 5: Exit: cycle detected 7: dfsRed ( s , i ) 6: if t �∈ Red then 8: move s from Cyan [ i ] to Blue 7: dfsRed ( t , i ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 24 / 56

  35. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... OWCTY (BFS) and Swarmed NDFS versus Parallel NDFS Experiments from [ATVA’11] on BEEM benchmarks on 16 cores !"#(%*' !"#(%)' !"#$%&'( ()*+ ',-&#.' !"#(%&' !"#(%!' !"#(%%' +,+-./' !"#$%!' 01'+,+-./' ,'2'3' ,'2'!4'5'3' !"#$%&' !"#$%&' !"#$%!' !"#(%%' !"#(%!' !"#(%&' !"#(%)' !"#(%*' !/"#$%&'( ()*+ ',-&#.' Swarmed versus Sequential NDFS Conclusions ◮ Swarmed NDFS speeds up bug hunting UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 25 / 56

  36. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... OWCTY (BFS) and Swarmed NDFS versus Parallel NDFS Experiments from [ATVA’11] on BEEM benchmarks on 16 cores !"#(%*' !"#(%*' !"#(%)' !"#(%)' !"#$%&'() )*+, (-.'$/( !"#$%&'( ()*+ ',-&#.' !"#(%&' !"#(%&' !"#(%!' !"#(%!' !"#(%%' !"#(%%' +,+-./' +,+-./' 01'+,+-./' !"#$%!' 01'+,+-./' !"#$%!' ,'2'3' ,'2'3' ,'2'!%'4'3' ,'2'!4'5'3' !"#$%&' !"#$%&' !"#$%&' !"#$%!' !"#(%%' !"#(%!' !"#(%&' !"#(%)' !"#(%*' !"#$%&' !"#$%!' !"#(%%' !"#(%!' !"#(%&' !"#(%)' !"#(%*' !/"#$%&'( ()*+ ',-&#.' !"#$%&'(0 1 #) )*+, (-.'$/( Swarmed versus Swarmed versus Sequential NDFS Parallel NDFS Conclusions ◮ Swarmed NDFS speeds up bug hunting ◮ Parallel NDFS also speeds up verification UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 25 / 56

  37. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... OWCTY (BFS) and Swarmed NDFS versus Parallel NDFS Experiments from [ATVA’11] on BEEM benchmarks on 16 cores !"#(%*' !"#(%*' !"#(%)' !"#(%)' !"#(%)' !"#$%&'() )*+, (-.'$/( !"#$%&'( ()*+ ',-&#.' !"#(%&' !"#(%&' !"#(%&' !"#$%&'() *+ ,) -.*/ (01'$2( !"#(%!' !"#(%!' !"#(%!' !"#(%%' !"#(%%' !"#(%%' +,+-./' +,+-./' +,+-./' 01'+,+-./' !"#$%!' 01'+,+-./' !"#$%!' 01'+,+-./' ,'2'3' !"#$%!' ,'2'3' 2'3',' ,'2'!%'4'3' ,'2'!4'5'3' 2'3'!%'4',' !"#$%&' !"#$%&' 2'3'!5!%'4',' !"#$%&' !"#$%&' !"#$%!' !"#(%%' !"#(%!' !"#(%&' !"#(%)' !"#(%*' !"#$%&' !"#$%!' !"#(%%' !"#(%!' !"#(%&' !"#(%)' !"#(%*' !"#$%&' !"#$%!' !"#(%%' !"#(%!' !"#(%&' !"#(%)' !"#(%* !/"#$%&'( ()*+ ',-&#.' !"#$%&'(0 1 #) )*+, (-.'$/( !"#$%&'(3 . #4 45+6 (01'$2( Swarmed versus Swarmed versus OWCTY (BFS) versus Sequential NDFS Parallel NDFS Parallel NDFS Conclusions ◮ Swarmed NDFS speeds up bug hunting ◮ Parallel NDFS also speeds up verification ◮ Parallel NDFS finds bugs faster than OWTCY (BFS) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 25 / 56

  38. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Experiments extended to 48 cores From [PDMC’12] . See fmt.cs.utwente.nl/tools/ltsmin/performance/ Reachability LTL model checking Legend Legend ● divine−table ● divine−owcty 40 ltsmin−cleary−tree 40 ltsmin−table ltsmin−cndfs ltsmin−tree spin−pb 30 30 Speedup spin−hc Speedup spin−nohc 20 20 10 10 ● ● ● ● ● ● ● ● ● ● ● ● ● 0 ● 0 0 10 20 30 40 50 0 10 20 30 40 50 Threads Threads Promela: Bakery protocol Promela: Elevator controllor UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 26 / 56

  39. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Interim Evaluation: what did we learn? Reachability: Implementation matters, keep it simple ◮ Leave workers alone when possible; load balancing ◮ Rely on randomness to avoid “duplicate work” ◮ Careful design of concurrent data structures UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 27 / 56

  40. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Interim Evaluation: what did we learn? Reachability: Implementation matters, keep it simple ◮ Leave workers alone when possible; load balancing ◮ Rely on randomness to avoid “duplicate work” ◮ Careful design of concurrent data structures LTL model checking ◮ Previous parallel algorithms (OWCTY) used BFS: O ( N 2 ) ◮ Now: linear, speedups . . . P = NC , or what did we do? ◮ W → ∞ versus W = 48 ◮ Worst case O ( N · W ), no speedup UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 27 / 56

  41. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Interim Evaluation: what did we learn? Reachability: Implementation matters, keep it simple ◮ Leave workers alone when possible; load balancing ◮ Rely on randomness to avoid “duplicate work” ◮ Careful design of concurrent data structures LTL model checking ◮ Previous parallel algorithms (OWCTY) used BFS: O ( N 2 ) ◮ Now: linear, speedups . . . P = NC , or what did we do? ◮ W → ∞ versus W = 48 ◮ Worst case O ( N · W ), no speedup Remaining theoretical questions ◮ Average (randomized) runtime/scalability analysis ◮ Why doesn’t this work for Strongly Connected Components? UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 27 / 56

  42. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Practical Evaluation: Solved multi-core model checking? Multi-core MC is compatible Quite general ◮ On-the-fly ◮ Arbitrary state/edge labels ◮ Partial-order reduction ◮ mCRL2, Promela, DVE, GSPN, ◮ State compression ◮ LLVM, C, xUML, POOSL, ?? ◮ Symbolic model checking ◮ Domain Specific Languages? UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 28 / 56

  43. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Practical Evaluation: Solved multi-core model checking? Multi-core MC is compatible Quite general ◮ On-the-fly ◮ Arbitrary state/edge labels ◮ Partial-order reduction ◮ mCRL2, Promela, DVE, GSPN, ◮ State compression ◮ LLVM, C, xUML, POOSL, ?? ◮ Symbolic model checking ◮ Domain Specific Languages? Remaining Questions ◮ Even better speedup – especially for symbolic model checking ◮ Quite restricted to explicit state model checking ◮ Infinite state systems? data, recursion, time, . . . UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 28 / 56

  44. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Model checking LTL for Timed Automata Laarman, Olesen, Dalsgaard, Kim Larsen, vdPol [FORMATS’12] [CAV’13] Handling Timed Automata ◮ Work with timed zones (DBM) for Timed B¨ uchi Automata ◮ Checking LTL properties for Uppaal timed automata ◮ Use subsumption to prune Nested DFS where possible ◮ Multi-core NDFS algorithm for Timed B¨ uchi Automata UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 29 / 56

  45. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Model checking LTL for Timed Automata Laarman, Olesen, Dalsgaard, Kim Larsen, vdPol [FORMATS’12] [CAV’13] Handling Timed Automata ◮ Work with timed zones (DBM) for Timed B¨ uchi Automata ◮ Checking LTL properties for Uppaal timed automata ◮ Use subsumption to prune Nested DFS where possible ◮ Multi-core NDFS algorithm for Timed B¨ uchi Automata Tool support LTL DBM ltl2ba property library Uppaal opaal successor LTSmin verification xml−file generator C++ code mc−NDFS result ◮ Open source through opaal and LTSmin ◮ opaal-modelchecker.com/ ◮ fmt.cs.utwente.nl/tools/ltsmin/ UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 29 / 56

  46. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 30 / 56

  47. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  48. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � ℓ 0 , 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  49. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � � 0 � 2 . 7 − → ℓ 0 , ℓ 0 , 0 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  50. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � � 0 � � 1 . 8 � 2 . 7 1 . 8 − → ℓ 0 , − → ℓ 1 , ℓ 0 , 0 0 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  51. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � � 0 � � 1 . 8 � � 0 � 2 . 7 1 . 8 0 . 5 − → ℓ 0 , − → ℓ 1 , − → ℓ 2 , ℓ 0 , 0 0 0 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  52. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � � 0 � � 1 . 8 � � 0 � � 2 . 0 � 2 . 7 1 . 8 0 . 5 2 . 0 − → ℓ 0 , − → ℓ 1 , − → ℓ 2 , − → ℓ 1 , ℓ 0 , 0 0 0 0 2 . 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  53. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � � 0 � � 1 . 8 � � 0 � � 2 . 0 � 2 . 7 1 . 8 0 . 5 2 . 0 − → ℓ 0 , − → ℓ 1 , − → ℓ 2 , − → ℓ 1 , �→ ℓ 0 , 0 0 0 0 2 . 0 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  54. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Timed B¨ uchi Automata [Alur,Dill’94] [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Ingredients ◮ locations ( ℓ 0 , ℓ 1 , ℓ 2 ), can be initial or accepting ◮ transitions, governed by real-valued clocks ( x , y ) ◮ timed runs should respect clock guards, resets, invariants � 0 � � 0 � � 1 . 8 � � 0 � � 2 . 0 � 2 . 7 1 . 8 0 . 5 2 . 0 − → ℓ 0 , − → ℓ 1 , − → ℓ 2 , − → ℓ 1 , �→ ℓ 0 , 0 0 0 0 2 . 0 Question: is the B¨ uchi language empty? . . . . . . . no counterexample Does a (non-zeno) timed run exist that visits an accepting state infinitely often? UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 31 / 56

  55. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Finite representation: zone abstraction, extrapolation [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Finite representation by zones (DBM) [Dill’89] [Daws,Tripakis’98] ◮ A zone is a set of constraints ◮ finite by taking into account the lower/upperbounds UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 32 / 56

  56. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Finite representation: zone abstraction, extrapolation [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Finite representation by zones (DBM) [Dill’89] [Daws,Tripakis’98] ◮ A zone is a set of constraints ◮ finite by taking into account the lower/upperbounds ℓ 0 , Z 0 Z 0 := y = x UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 32 / 56

  57. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Finite representation: zone abstraction, extrapolation [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Finite representation by zones (DBM) [Dill’89] [Daws,Tripakis’98] ◮ A zone is a set of constraints ◮ finite by taking into account the lower/upperbounds ℓ 0 , Z 0 ℓ 1 , Z 1 Z 0 := y = x y ≤ x ∧ y ≤ 2 Z 1 := UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 32 / 56

  58. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Finite representation: zone abstraction, extrapolation [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Finite representation by zones (DBM) [Dill’89] [Daws,Tripakis’98] ◮ A zone is a set of constraints ◮ finite by taking into account the lower/upperbounds ℓ 0 , Z 0 ℓ 1 , Z 1 ℓ 2 , Z 2 Z 0 := y = x y ≤ x ∧ y ≤ 2 Z 1 := := y = x ∧ y ≤ 2 Z 2 UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 32 / 56

  59. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Finite representation: zone abstraction, extrapolation [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Finite representation by zones (DBM) [Dill’89] [Daws,Tripakis’98] ◮ A zone is a set of constraints ◮ finite by taking into account the lower/upperbounds ℓ 0 , Z 0 ℓ 1 , Z 1 ℓ 2 , Z 2 Z 0 := y = x y ≤ x ∧ y ≤ 2 Z 1 := := y = x ∧ y ≤ 2 Z 2 ℓ 1 , Z 2 No accepting run! UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 32 / 56

  60. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Finite representation: zone abstraction, extrapolation [ x > 2] x := 0 , y := 0 x := 0 , y := 0 y := 0 ℓ 0 ℓ 1 ℓ 2 y ≤ 2 y ≤ 2 Finite representation by zones (DBM) [Dill’89] [Daws,Tripakis’98] ◮ A zone is a set of constraints ◮ finite by taking into account the lower/upperbounds ℓ 0 , Z 0 ℓ 1 , Z 1 ℓ 2 , Z 2 Z 0 := y = x y ≤ x ∧ y ≤ 2 Z 1 := ⊒ := y = x ∧ y ≤ 2 Z 2 ℓ 1 , Z 2 Subsumption: Z 2 ⊆ Z 1 , so ( ℓ 1 , Z 2 ) ⊑ ( ℓ 1 , Z 1 ) No accepting run! UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 32 / 56

  61. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption, or inclusion abstraction Why explore a state again, if it is subsumed by a previous state? s 0 s 3 s 0 s 1 s 0 s 1 ⊒ s 1 s 2 s 2 s 2 s 3 s 3 ⊑ s 1 subsumption Zone abstraction UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 33 / 56

  62. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption, or inclusion abstraction Why explore a state again, if it is subsumed by a previous state? s 0 s 3 s 0 s 1 s 0 s 1 ⊒ s 1 s 2 s 2 s 2 s 3 s 3 ⊑ s 1 subsumption Zone abstraction Known results [Behrmann et al’04] [Tripakis’09] [Li’09] ◮ finite zone abstraction preserves reachability of locations ◮ finite zone abstraction also preserve B¨ uchi emptiness ◮ subsumption preserves reachability of locations as well UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 33 / 56

  63. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption, or inclusion abstraction Why explore a state again, if it is subsumed by a previous state? s 0 s 3 s 0 s 1 s 0 s 1 ⊒ s 1 s 2 s 2 s 2 s 3 s 3 ⊑ s 1 subsumption Zone abstraction Known results [Behrmann et al’04] [Tripakis’09] [Li’09] ◮ finite zone abstraction preserves reachability of locations ◮ finite zone abstraction also preserve B¨ uchi emptiness ◮ subsumption preserves reachability of locations as well Open problem posed in [Tripakis’09] Is emptiness of Timed B¨ uchi Automata preserved by subsumption? UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 33 / 56

  64. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption, or inclusion abstraction Why explore a state again, if it is subsumed by a previous state? s 0 s 3 s 0 s 1 s 0 s 1 ⊒ s 1 s 2 s 2 s 2 s 3 s 3 ⊑ s 1 subsumption Zone abstraction Known results [Behrmann et al’04] [Tripakis’09] [Li’09] ◮ finite zone abstraction preserves reachability of locations ◮ finite zone abstraction also preserve B¨ uchi emptiness ◮ subsumption preserves reachability of locations as well Open problem posed in [Tripakis’09] Is emptiness of Timed B¨ uchi Automata preserved by subsumption? NO UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 33 / 56

  65. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 34 / 56

  66. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Analysis of accepting spirals with subsumption [CAV’13] ⊑ is a simulation relation: → s ′ t ′ ⊑ ⊑ → s t ⊑ is a finite abstraction UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 35 / 56

  67. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Analysis of accepting spirals with subsumption [CAV’13] ⊑ is a simulation relation: → s ′ t ′ ⊑ ⊑ → s t s’ ⊑ is a finite abstraction s t Lemma: If s has an accepting cycle then any s ′ ⊒ s has it as well Preservation of accepting cycles Proof Sketch s ′ ⊑ s → + → ∗ t t UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 35 / 56

  68. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Analysis of accepting spirals with subsumption [CAV’13] ⊑ is a simulation relation: → s ′ t ′ ⊑ ⊑ t’’ → s t s’ t’ ⊑ is a finite abstraction s t Lemma: If s has an accepting cycle then any s ′ ⊒ s has it as well Preservation of accepting cycles Proof Sketch → + s ′ → ∗ t ′ t ′′ ⊑ ⊑ ⊑ s → + → ∗ t t UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 35 / 56

  69. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Analysis of accepting spirals with subsumption [CAV’13] ⊑ is a simulation relation: t’’’ → s ′ t ′ ⊑ ⊑ t’’ → s t s’ t’ ⊑ is a finite abstraction s t Lemma: If s has an accepting cycle then any s ′ ⊒ s has it as well Preservation of accepting cycles Proof Sketch · · · · · · → + → + → + s ′ → ∗ t ′ t ′′ t ′′′ ⊑ ⊑ ⊑ ⊑ s → + → + · · · · · · → + → ∗ t t t UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 35 / 56

  70. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Analysis of accepting spirals with subsumption [CAV’13] ⊑ is a simulation relation: t’’’ → s ′ t ′ ⊑ ⊑ t’’ → s t s’ t’ ⊑ is a finite abstraction s t Lemma: If s has an accepting cycle then any s ′ ⊒ s has it as well Preservation of accepting cycles Proof Sketch · · · x · · · → + → + → + → + x s ′ → ∗ t ′ t ′′ t ′′′ ⊑ ⊑ ⊑ ⊑ ⊑ s → + → + · · · · · · → + → + → ∗ t t t t UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 35 / 56

  71. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption in Nested Depth First Search [CAV’13] Blue search find accepting states in post order 1: procedure dfsBlue ( s ) 2: Cyan := Cyan ∪ { s } 3: for all successors t of s do 4: if t �∈ Blue ∪ Cyan then 5: dfsBlue ( t ) 6: if s is accepting then 7: dfsRed ( s ) 8: Blue , Cyan := Blue ∪ { s } , Cyan \{ s } Red search find cycles on accepting states 1: procedure dfsRed ( s ) Postcondition: no accepting spiral reachable 2: Red := Red ∪ { s } 3: for all successors t of s do 4: if t ∈ Cyan then 5: Exit: cycle detected 6: if t �∈ Red then 7: dfsRed ( t ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 36 / 56

  72. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption in Nested Depth First Search [CAV’13] Blue search find accepting states in post order 1: procedure dfsBlue ( s ) 2: Cyan := Cyan ∪ { s } 3: for all successors t of s do 4: if t �∈ Blue ∪ Cyan then 5: dfsBlue ( t ) 6: if s is accepting then 7: dfsRed ( s ) 8: Blue , Cyan := Blue ∪ { s } , Cyan \{ s } Red search find cycles on accepting states 1: procedure dfsRed ( s ) Postcondition: no accepting spiral reachable 2: Red := Red ∪ { s } 3: for all successors t of s do 4: t ⊒ Cyan then Accepting spiral found! if 5: Exit: cycle detected 6: if t �∈ Red then 7: dfsRed ( t ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 36 / 56

  73. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption in Nested Depth First Search [CAV’13] Blue search find accepting states in post order 1: procedure dfsBlue ( s ) 2: Cyan := Cyan ∪ { s } 3: for all successors t of s do 4: if t �∈ Blue ∪ Cyan then 5: dfsBlue ( t ) 6: if s is accepting then 7: dfsRed ( s ) 8: Blue , Cyan := Blue ∪ { s } , Cyan \{ s } Red search find cycles on accepting states 1: procedure dfsRed ( s ) Postcondition: no accepting spiral reachable 2: Red := Red ∪ { s } 3: for all successors t of s do 4: t ⊒ Cyan then Accepting spiral found! if 5: Exit: cycle detected 6: if t �⊑ Red then Spiral on t would give spiral from Red 7: dfsRed ( t ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 36 / 56

  74. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Subsumption in Nested Depth First Search [CAV’13] Blue search find accepting states in post order 1: procedure dfsBlue ( s ) 2: Cyan := Cyan ∪ { s } 3: for all successors t of s do 4: if t �∈ Blue ∪ Cyan ∧ t �⊑ Red then Prune the blue search 5: dfsBlue ( t ) 6: if s is accepting then 7: dfsRed ( s ) 8: Blue , Cyan := Blue ∪ { s } , Cyan \{ s } Red search find cycles on accepting states 1: procedure dfsRed ( s ) Postcondition: no accepting spiral reachable 2: Red := Red ∪ { s } 3: for all successors t of s do 4: t ⊒ Cyan then Accepting spiral found! if 5: Exit: cycle detected 6: if t �⊑ Red then Spiral on t would give spiral from Red 7: dfsRed ( t ) UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 36 / 56

  75. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Experiments: speedup up to 48 cores Reachability: [Formats’12] . LTL model checking: [CAV’13] BFS Reachability on Timed Automata Checking LTL on Timed Automata 50 Model Model ● csma ● fischer6 fddi train−crossing−stdred−5 40 fischer−1 train−gate−N10 40 fischer−2 train−gate−N9 train−gate viking15 viking17 30 ● 30 ● ● Speedup Speedup ● 20 ● 20 ● ● ● ● ● ● 10 10 ● ● ● ● ● ● ● 0 0 0 10 20 30 40 50 0 10 20 30 40 50 Threads Threads Experiments with opaal and LTSmin – open source hours − → minutes − → seconds UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 37 / 56

  76. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 38 / 56

  77. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Signaling Pathway in Cell Biology Kinase pathways: spreading the Phosphor token UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 39 / 56

  78. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Signaling Pathway in Cell Biology Kinase pathways: spreading the Phosphor token ◮ Biochemical equilibrium reactions: ◮ E + S + ATP ⇋ ES + ATP → ES P + ADP ⇋ E + S P + ADP ◮ Simplify to one interaction (here activiation): E − → S UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 39 / 56

  79. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Signaling Network in Cell Biology Complex network dynamics ◮ Node interactions: ◮ activation ◮ inhibition ◮ Crosstalk and Feedback ◮ Ultimate questions: ◮ understand & control ◮ key to finding a cure UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 40 / 56

  80. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... How to model signaling networks? Mathematical models (ODE) [Gillespie ’77] dA dt = k 1 · B − k 2 · C − k 3 · A ◮ A , B , C are molecule concentrations ◮ k 1 , k 2 , k 3 are kinetic parameters ◮ Precise, strong tools (simulation, stability) ◮ Difficult, too many parameters are unknown Boolean networks [Kauffman’69] B ∧ ¬ C = ⇒ A ◮ Easy to handle, biologically relevant ◮ No timing, no concentrations at all ◮ So how to execute this? UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 41 / 56

  81. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Using Networks of Timed Automata Modeling Assumptions ◮ Every reactant is a Timed Automaton � � ◮ It maintains a discrete activation level: active active + inactive ◮ Clocks trigger when the activation level goes up or down ◮ Activation/Inhibition: broadcast communication between automata reacting[1]? update(), c:= 0 time T depends on activation reacting[2]? update(), c:= 0 levels: L [ r 1 ][ r 2 ] and U [ r 1 ][ r 2 ] reacting[3]? update(), c:= 0 not_reacting reacting[1]? cant_react() c >= T reacting[0]! reacting[2]? react(), c := 0 stubborn updating start reacting[3]? waiting c <= T can_react() update() c <= T c > T c >= T c := T c < T update() UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 42 / 56

  82. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... Table of Contents 1 Multi-core Reachability Shared hash table Parallel state compression Multi-core BDDs 2 Multi-core LTL model checking B¨ uchi automata for LTL model checking Parallel Nested Depth First Search 3 Timed Automata: subsumption of symbolic states Timed B¨ uchi automata and subsumption LTL model checking with subsumption 4 ANIMO: Signalling Networks in Computational Biology Modeling Signaling Networks in Cell Biology ANIMO: Interactive Modeling and Analysis Silicon Experiments: Osteoarthritis UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 43 / 56

  83. ... Multi-core Reachability Multi-core LTL model checking Timed Automata Signalling Networks ... ANIMO: Analysis of Networks by Interactive Modeling Schivo, Scholma, Karperien, Langerak, vdPol, Post, Urquidi, Vet, Wanders, (FMT, HMI, BioEng) [BIBE’12] [GENE’13] [J-BHI’14] ANIMO is a Cytoscape plugin, running UPPAAL in the background UNIVERSITY OF TWENTE. Multi-core MC for Biology 22 November 2013 44 / 56

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend