objectcheck: a model checking tool for executable object-oriented software system designs fei xie...

47
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

Upload: warren-welch

Post on 18-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

10

Page 11: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

11

Page 12: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

12

Page 13: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

13

Page 14: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

14

Page 15: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

15

Page 16: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

16

Page 17: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

18

Page 19: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

20

Page 21: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

21

Page 22: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

22

Page 23: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

24

Page 25: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

25

Page 26: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

26

Page 27: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

27

Page 28: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

29

Page 30: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

30

Page 31: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

32

Page 33: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

33

Page 34: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

34

Page 35: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

35

Page 36: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

36

Page 37: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

37

Page 38: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

38

Page 39: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

41

NASA Robot Controller (Class Diagram)

Page 42: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

42

NASA Robot Controller(A State Model)

Page 43: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

43

An Online Ticket Sale System (Class Diagram)

Page 44: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

44

An Online Ticket Sale System (A State Model)

Page 45: ObjectCheck: A Model Checking Tool for Executable Object-oriented Software System Designs Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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 Fei Xie and James C. Browne Dept. of Computer Sciences Univ

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.