Reduction and Slicing of Hierarchical State Machines Mats Heimdahl et al. University of Minnesota

23
Reduction and Slicing of Hierarchical State Machines Mats Heimdahl et al. University of Minnesota Presented by Tom McMullen For CISC836 1

description

Reduction and Slicing of Hierarchical State Machines Mats Heimdahl et al. University of Minnesota. Presented by Tom McMullen For CISC836. Outline. Primer Problem Space Paper Overview Application (Case Study) Limitations Critique Discussion. Primer. - PowerPoint PPT Presentation

Transcript of Reduction and Slicing of Hierarchical State Machines Mats Heimdahl et al. University of Minnesota

Page 1: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

1

Reduction and Slicing of Hierarchical State MachinesMats Heimdahl et al.

University of Minnesota

Presented by Tom McMullenFor CISC836

Page 2: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

2

Outline

• Primer • Problem Space• Paper Overview• Application (Case Study)• Limitations• Critique• Discussion

Page 3: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

3

Primer

• Presented at 1997 Proceedings 6th European Software Engineering Conference

• Cited by 65 (source: Google Scholar)

Page 4: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

4

Problem Space

• Formal Specification Languages– Difficult to understand and use– Not well understood by application experts

Page 5: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

5

Problem Space

• State Machine Representation– Better, but…

Inevitable Complexity for large systems

Page 6: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

6

Problem Space

Page 7: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

7

What this paper proposes…

• Address complexity of HSMs• In Order To:– Present information in digestible chunks

• Method:– Step 1: Simplify based on scenario– Step 2: Slice for desired values

Page 8: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

8

A Quick Refresher…

• Hierarchical State Machines (HSM)

Page 9: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

9

A Quick Refresher…

• Slicing

Page 10: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

10

A quick refresher…

• Program Slicing

Page 11: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

11

Application

• Applied to HSMs– RSML (Requirements State Machine Language)• Specification of safety-critical systems

Page 12: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

12

RSML

Page 13: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

13

Testbed Specification

• TCAS II– Traffic alert and Collision Avoidance System

Page 14: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

14

Page 15: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

15

Step 1: Reduce

• Produce simplified RSML model• Interpretation based on scenario– Domain restriction of next-state relation– How do we classify an intruder who has stopped

reporting altitude?

Page 16: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

16

Step 1: Reduce

• Eliminate infeasible columns for scenario• Reduction Algorithm limited to enumerated vars

Page 17: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

17

Step 2: Slice

• Slicing Algorithm– Based on marking of Abstract Syntax Tree– RSML parser part of earlier research

• Data Flow Slices (if a transition can be taken)– Data Dependency of Guarding Transition

• Control Flow Slices (when a transition is taken)– Generation of a trigger event

Page 18: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

18

Step 3: Profit?...

• Iterative slices are then combined• Attempt to answer our questions• Reduced complexity• Increased Understandability

Page 19: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

19

Page 20: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

20

Case Study

• Applied to most complex part of TCAS II RSML Model

• Subjective notion of complexity / understandability

• Metrics:– # of transitions– Perceived Table Size– Effective Table Size

Page 21: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

21

Case Study

• Results– Promising• Significant reduction in table size

– But..• Reduction in # of transitions not as expected

Page 22: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

22

Critique

• Case Study details lacking– Which TCAS model? What Questions/Scenario?– 1998 paper has a more detailed case

study/empirical data• Too much emphasis on RSML– Small application– More detail on slicing HSM in general

• Reduction and Slicing algorithms not presented– Data flow / control flow slices not explained in depth

Page 23: Reduction and Slicing of Hierarchical State Machines Mats  Heimdahl et al. University of Minnesota

23

Discussion