02291 system integration
play

02291: System Integration Symbolic Model Checking Hubert Baumeister - PowerPoint PPT Presentation

02291: System Integration Symbolic Model Checking Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2020 Model Checking M | = Models M are Kripke structures Formulas are Computational Tree Logic


  1. 02291: System Integration Symbolic Model Checking Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2020

  2. Model Checking M | = φ ◮ Models M are Kripke structures ◮ Formulas φ are Computational Tree Logic (CTL) formulas ◮ Proving: Model checking ◮ How to decide | = ? ◮ Compute [ | φ | ] = { s | M , s | = φ } ◮ Then M | = φ if and only if I ⊆ [ | φ | ]

  3. How to compute [ | φ | ] ? Minimal set of operators CTL formulae can be basically reduced to a. p , ¬ φ , φ ∨ ψ b. EX φ c. EG φ For example ◮ AG φ can be expressed as ¬ EF ¬ φ

  4. How to compute [ | φ | ] ? a [ | p | ] = { s | p ∈ λ ( s ) } for basic propositions p ∈ V b [ |¬ φ | ] = S \ [ | φ | ] c [ | EX φ | ] = R − 1 ([ | φ | ]) = { s | ∃ t : ( s , t ) ∈ R and t ∈ [ | φ | ] } d [ | EG φ | ] = [ | φ | ] ∩ R − 1 ([ | EG φ | ]) ◮ EG φ ⇔ φ ∧ EX EG φ ◮ We are looking for the greatest fixpoint of this equation ◮ Kleene’s fixpoint theorem allows to compute the greatest fixpoint by 1 π 0 = S 2 π 1 = [ | φ | ] ∩ R − 1 ( π 0 ) . . . n π n = [ | φ | ] ∩ R − 1 ( π n − 1 ) → π m is the greatest fixpoint if π m = π m − 1

  5. Greatest fixpoint ∃ S ⊆ N : S = S ∩ { 3 }

  6. Example: EG y π 0 = S

  7. Example: EG y : 1. Iteration π 1 = [ | y | ] ∩ R − 1 ( π 0 )

  8. Example: EG y : 1. Iteration π 1 = [ | y | ] ∩ R − 1 ( π 0 )

  9. Example: EG y : 1. Iteration π 1 = [ | y | ] ∩ R − 1 ( π 0 )

  10. Example: EG y : 1. Iteration π 1 = [ | y | ] ∩ R − 1 ( π 0 )

  11. Example: EG y : 2. Iteration π 2 = [ | y | ] ∩ R − 1 ( π 1 )

  12. Example: EG y : 2. Iteration π 2 = [ | y | ] ∩ R − 1 ( π 1 )

  13. Example: EG y : 2. Iteration π 2 = [ | y | ] ∩ R − 1 ( π 1 )

  14. Example: EG y : 2. Iteration π 2 = [ | y | ] ∩ R − 1 ( π 1 )

  15. Example: EG y : 3. Iteration π 3 = [ | y | ] ∩ R − 1 ( π 2 )

  16. Example: EG y : 3. Iteration π 3 = [ | y | ] ∩ R − 1 ( π 2 )

  17. Example: EG y : 3. Iteration π 3 = [ | y | ] ∩ R − 1 ( π 2 )

  18. Example: EG y : 3. Iteration π 3 = [ | y | ] ∩ R − 1 ( π 2 )

  19. Example: EG y : Conclusion ◮ π 3 = π 2 is the greatest fixpoint ◮ [ | EG y | ] = { s 0 , s 2 , s 4 } , i.e., EG y holds for states s 0 , s 2 , and s 4 ◮ M �| = EG y because I = { s 0 , s 1 } �⊆ [ | EG y | ]

  20. Model checking ◮ Press button technology ◮ Spin, Upaal, . . . ◮ Problems ◮ Finite state space ◮ State explosion ◮ UML and Model checking ◮ State machines � = Kripke structures

  21. Advanced reading ◮ Kenneth L. McMillan’s thesis on ”Symbolic Model Checking” http://www.kenmcmil.com/thesis.html 1999 ◮ E. Clarke, O. Grumberg, D. Peled ”Model Checking” MIT Press1999 ◮ EM Clarke, BH Schlingloff ”Model Checking” Chapter 21 in Handbook of Automated Reasoning - Elsevier Science Publishers BV, Amsterdam, The Netherlands, 2000 http://www2.informatik.hu-berlin.de/˜hs/ Publikationen/2000_Handbook-of-Automated-Reasoning_ Clarke-Schlingloff_Model-Checking.ps ◮ St. Merz ”Model Checking: A Tutorial Overview” http://www.loria.fr/˜merz/papers/mc-tutorial.pdf 2001

  22. Model checker ◮ For model checking UML state machines and UML collaborations ◮ Hugo/RT http: //www.pst.ifi.lmu.de/Forschung/projekte/hugo/index.html ◮ UMC http://fmt.isti.cnr.it/umc ◮ General model checker ◮ nuSMV http://nusmv.fbk.eu/ ◮ Spin http://netlib.bell-labs.com/netlib/spin/whatispin.html ◮ Uppaal http://www.uppaal.com/ ◮ Links to other model checkers http://en.wikipedia.org/wiki/Model_checking

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