Object Check A Model Checking Tool for Executable

  • Slides: 47
Download presentation
Object. Check: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie

Object. Check: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ. of Texas at Austin Vladimir Levin Bell-Labs Lucent Technologies

Presentation Agenda • • Background and Overview of Object. Check Demonstration of Object. Check

Presentation Agenda • • Background and Overview of Object. Check Demonstration of Object. Check More Case Studies Summary and Future Work 2

Motivations • Executable OO modeling languages are widely applied to specify software system designs.

Motivations • Executable OO modeling languages are widely applied to specify software system designs. • Model Checking may improve the reliabilities of executable OO software system designs. • State-of-the-art model checkers are not directly applicable to executable OO system designs. • A tool supporting application of model checking to executable OO system designs is needed. 3

x. UML: An Executable OO Modeling Language • Executable dialect of UML; • Expressive

x. UML: An Executable OO Modeling Language • Executable dialect of UML; • Expressive system and class hierarchies; • Extended Moore state machines as state models; – Each state may have an associated state action; – Each state action is run-to-completion; • Asynchronous interleaving execution semantics. – A system execution is an asynchronous interleaving of the executions of state models in the system. 4

Architecture and Workflow of Object. Check Designer Property Specification Interface x. UML IDE Error

Architecture and Workflow of Object. Check Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 5

Development of Object. Check • Developed in conjunction with SDLCheck; – SDLCheck is an

Development of Object. Check • Developed in conjunction with SDLCheck; – SDLCheck is an SDL model checking tool developed by Robert P. Kurshan, Vladimir Levin, and Husnu Yenigun of Bell-labs. • Reuses modules from SDLCheck, such as optimization modules that conduct SPOR. – SPOR (Static Partial Order Reduction). 6

Presentation Agenda • • Background and Overview of Object. Check Demonstration of Object. Check

Presentation Agenda • • Background and Overview of Object. Check Demonstration of Object. Check More Case Studies Summary and Future Work 7

Case Study for Demonstration • Classic Dining Philosophers Problem • More realistic case studies

Case Study for Demonstration • Classic Dining Philosophers Problem • More realistic case studies will be shown after the demonstration. 8

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 9

10

10

11

11

12

12

13

13

14

14

15

15

16

16

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 17

18

18

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 19

20

20

21

21

22

22

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 23

24

24

25

25

26

26

27

27

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 28

29

29

30

30

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML

Step-by-Step Demonstration Designer Property Specification Interface x. UML IDE Error Visualizer Property x. UML Model Error Report x. UML-to-S/R Translator S/R Query S/R Model Error Report Generator Error Track COSPAN Model Checker 31

32

32

33

33

34

34

35

35

36

36

37

37

38

38

Presentation Agenda • • Background and Overview of Object. Check Demonstration of Object. Check

Presentation Agenda • • Background and Overview of Object. Check Demonstration of Object. Check More Case Studies Summary and Future Work 39

More Case Studies • NASA Robot Controller – A typical control-intensive embedded systems; –

More Case Studies • NASA Robot Controller – A typical control-intensive embedded systems; – Presented at FASE 2001 by Natasha Sharygina; • Online Ticket Sale System – A typical commercial transaction systems; – Presented at FASE 2002; – Focus: Integrated state space reduction. 40

NASA Robot Controller (Class Diagram) 41

NASA Robot Controller (Class Diagram) 41

NASA Robot Controller (A State Model) 42

NASA Robot Controller (A State Model) 42

An Online Ticket Sale System (Class Diagram) 43

An Online Ticket Sale System (Class Diagram) 43

An Online Ticket Sale System (A State Model) 44

An Online Ticket Sale System (A State Model) 44

Some Verification Statistics of Online Ticket Sale System • Verification of a liveness property

Some Verification Statistics of Online Ticket Sale System • Verification of a liveness property – After an agent is assigned to a customer, eventually the agent will be released. • Statistics related to state space reductions SPOR Off On SMC Off On Off Memory Usage Out of Memory 113. 73 M 17. 3 M Time Usage 44736. S 6668. 3 S On On 74. 0 M 1450. 3 S 45

Related Work • Most closely related work – UML Model Checking toolset from University

Related Work • Most closely related work – UML Model Checking toolset from University of Michigan – v. UML tool from Åbo Akademi University – Both tools employ UML dialects with ad-hoc execution semantics and without well-defined action semantics. 46

Summary and Future Work • Object. Check – Combines industrial software design and development

Summary and Future Work • Object. Check – Combines industrial software design and development environments and model checkers with research tools; – Provides comprehensive automation support for model checking x. UML models; – Has enabled verification of non-trivial software system designs modeled in x. UML. • Future work is focused on enhancing state space reduction capability of Object. Check. 47