Download - ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs
![Page 1: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/1.jpg)
ObjectCheck: 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
![Page 2: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/2.jpg)
2
Presentation Agenda
• Background and Overview of ObjectCheck
• Demonstration of ObjectCheckDemonstration of ObjectCheck
• More Case StudiesMore Case Studies
• Summary and Future WorkSummary and Future Work
![Page 3: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/3.jpg)
3
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.
![Page 4: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/4.jpg)
4
xUML: 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.
![Page 5: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/5.jpg)
5
Architecture and Workflow of ObjectCheck
Property Specification Interface xUML IDE Error Visualizer
xUML-to-S/R Translator Error Report Generator
COSPAN Model Checker
S/R ModelS/R Query
Error Report
Error Track
Designer
xUML ModelProperty
![Page 6: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/6.jpg)
6
Development of ObjectCheck
• 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).
![Page 7: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/7.jpg)
7
Presentation Agenda
• Background and Overview of ObjectCheck
• Demonstration of ObjectCheckDemonstration of ObjectCheck
• More Case StudiesMore Case Studies
• Summary and Future WorkSummary and Future Work
![Page 8: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/8.jpg)
8
Case Study for Demonstration
• Classic Dining Philosophers Problem
• More realistic case studies will be shown after the demonstration.
![Page 9: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/9.jpg)
9
Step-by-Step Demonstration
Designer
Property Specification Interface xUML IDE Error Visualizer
Error ReportxUML ModelProperty
xUML-to-S/R Translator Error Report Generator
Error TrackS/R ModelS/R Query
COSPAN Model Checker
![Page 10: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/10.jpg)
10
![Page 11: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/11.jpg)
11
![Page 12: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/12.jpg)
12
![Page 13: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/13.jpg)
13
![Page 14: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/14.jpg)
14
![Page 15: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/15.jpg)
15
![Page 16: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/16.jpg)
16
![Page 17: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/17.jpg)
17
Step-by-Step Demonstration
Designer
Property Specification Interface xUML IDE Error Visualizer
Error ReportxUML ModelProperty
xUML-to-S/R Translator Error Report Generator
Error TrackS/R ModelS/R Query
COSPAN Model Checker
![Page 18: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/18.jpg)
18
![Page 19: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/19.jpg)
19
Step-by-Step Demonstration
Designer
Property Specification Interface xUML IDE Error Visualizer
Error ReportxUML ModelProperty
xUML-to-S/R Translator Error Report Generator
Error TrackS/R ModelS/R Query
COSPAN Model Checker
![Page 20: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/20.jpg)
20
![Page 21: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/21.jpg)
21
![Page 22: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/22.jpg)
22
![Page 23: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/23.jpg)
23
Step-by-Step Demonstration
Designer
Property Specification Interface xUML IDE Error Visualizer
Error ReportxUML ModelProperty
xUML-to-S/R Translator Error Report Generator
Error TrackS/R ModelS/R Query
COSPAN Model Checker
![Page 24: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/24.jpg)
24
![Page 25: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/25.jpg)
25
![Page 26: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/26.jpg)
26
![Page 27: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/27.jpg)
27
![Page 28: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/28.jpg)
28
Step-by-Step Demonstration
Designer
Property Specification Interface xUML IDE Error Visualizer
Error ReportxUML ModelProperty
xUML-to-S/R Translator Error Report Generator
Error TrackS/R ModelS/R Query
COSPAN Model Checker
![Page 29: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/29.jpg)
29
![Page 30: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/30.jpg)
30
![Page 31: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/31.jpg)
31
Step-by-Step Demonstration
Designer
Property Specification Interface xUML IDE Error Visualizer
Error ReportxUML ModelProperty
xUML-to-S/R Translator Error Report Generator
Error TrackS/R ModelS/R Query
COSPAN Model Checker
![Page 32: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/32.jpg)
32
![Page 33: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/33.jpg)
33
![Page 34: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/34.jpg)
34
![Page 35: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/35.jpg)
35
![Page 36: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/36.jpg)
36
![Page 37: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/37.jpg)
37
![Page 38: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/38.jpg)
38
![Page 39: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/39.jpg)
39
Presentation Agenda
• Background and Overview of ObjectCheck
• Demonstration of ObjectCheckDemonstration of ObjectCheck
• More Case StudiesMore Case Studies
• Summary and Future WorkSummary and Future Work
![Page 40: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/40.jpg)
40
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.
![Page 41: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/41.jpg)
41
NASA Robot Controller (Class Diagram)
![Page 42: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/42.jpg)
42
NASA Robot Controller(A State Model)
![Page 43: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/43.jpg)
43
An Online Ticket Sale System (Class Diagram)
![Page 44: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/44.jpg)
44
An Online Ticket Sale System (A State Model)
![Page 45: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/45.jpg)
45
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 reductionsSPOR SMC Memory Usage Time Usage
Off Off Out of Memory -
Off On 113.73M 44736.S
On Off 17.3M 6668.3S
On On 74.0M 1450.3S
![Page 46: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/46.jpg)
46
Related Work
• Most closely related work– UML Model Checking toolset from University
of Michigan– vUML tool from Åbo Akademi University– Both tools employ UML dialects with ad-hoc
execution semantics and without well-defined action semantics.
![Page 47: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs](https://reader035.vdocument.in/reader035/viewer/2022070407/5681435f550346895dafdc11/html5/thumbnails/47.jpg)
47
Summary and Future Work
• ObjectCheck– Combines industrial software design and development
environments and model checkers with research tools;
– Provides comprehensive automation support for model checking xUML models;
– Has enabled verification of non-trivial software system designs modeled in xUML.
• Future work is focused on enhancing state space reduction capability of ObjectCheck.