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

Transcript of 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

2

Outline

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

3

Primer

• Presented at 1997 Proceedings 6th European Software Engineering Conference

• Cited by 65 (source: Google Scholar)

4

Problem Space

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

5

Problem Space

• State Machine Representation– Better, but…

Inevitable Complexity for large systems

6

Problem Space

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

8

A Quick Refresher…

• Hierarchical State Machines (HSM)

9

A Quick Refresher…

• Slicing

10

A quick refresher…

• Program Slicing

11

Application

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

12

RSML

13

Testbed Specification

• TCAS II– Traffic alert and Collision Avoidance System

14

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?

16

Step 1: Reduce

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

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

18

Step 3: Profit?...

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

19

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

21

Case Study

• Results– Promising• Significant reduction in table size

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

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

23

Discussion