470 likes | 542 Views
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. Presentation Agenda. Background and Overview of ObjectCheck
E N D
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
Presentation Agenda • Background and Overview of ObjectCheck • Demonstration of ObjectCheck • More Case Studies • Summary and Future Work
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.
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.
Designer Property xUML Model Error Report S/R Query S/R Model Error Track Architecture and Workflow of ObjectCheck Property Specification Interface xUML IDE Error Visualizer xUML-to-S/R Translator Error Report Generator COSPAN Model Checker
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).
Presentation Agenda • Background and Overview of ObjectCheck • Demonstration of ObjectCheck • More Case Studies • Summary and Future Work
Case Study for Demonstration • Classic Dining Philosophers Problem • More realistic case studies will be shown after the demonstration.
Step-by-Step Demonstration Designer Property Specification Interface xUML IDE Error Visualizer Property xUML Model Error Report xUML-to-S/R Translator Error Report Generator S/R Query S/R Model Error Track COSPAN Model Checker
Step-by-Step Demonstration Designer Property Specification Interface xUML IDE Error Visualizer Property xUML Model Error Report xUML-to-S/R Translator Error Report Generator S/R Query S/R Model Error Track COSPAN Model Checker
Step-by-Step Demonstration Designer Property Specification Interface xUML IDE Error Visualizer Property xUML Model Error Report xUML-to-S/R Translator Error Report Generator S/R Query S/R Model Error Track COSPAN Model Checker
Step-by-Step Demonstration Designer Property Specification Interface xUML IDE Error Visualizer Property xUML Model Error Report xUML-to-S/R Translator Error Report Generator S/R Query S/R Model Error Track COSPAN Model Checker
Step-by-Step Demonstration Designer Property Specification Interface xUML IDE Error Visualizer Property xUML Model Error Report xUML-to-S/R Translator Error Report Generator S/R Query S/R Model Error Track COSPAN Model Checker
Step-by-Step Demonstration Designer Property Specification Interface xUML IDE Error Visualizer Property xUML Model Error Report xUML-to-S/R Translator Error Report Generator S/R Query S/R Model Error Track COSPAN Model Checker
Presentation Agenda • Background and Overview of ObjectCheck • Demonstration of ObjectCheck • More Case Studies • Summary and Future Work
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.
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
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.
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.