University of Minnesota
Software Engineering Center

You are here

Reduction and Slicing of Hierarchical State Machines

Date of Publication: 
September 1997
Associated Research Groups: 
Publication Files: 
Formal specification languages are often criticized for being difficult to understand, difficult to use, and unacceptable by software practitioners. Notations based on state machines, such as, Statecharts, Requirements State Machine Language (RSML), and SCR, are suitable for modeling of embedded systems and eliminate many of the main drawbacks of formal specification languages. Although a specification language can help eliminate accidental complexity, the inherent complexity of many of today’s systems inevitably leads to large and complex specifications. Thus, there is a need for mechanisms to simplify a formal specification and present information to analysts and reviewers in digestible chunks. In this paper, we present a two tiered approach to slicing (or simplification) of hierarchical finite state machines. We allow an analyst to simplify a specification based on a scenario. The remaining behavior, called an interpretation of the specification, can then be sliced to extract the information effecting selected variables and transitions. To evaluate the effectiveness and utility of slicing in hierarchical state machines, we have implemented a prototype tool and applied our slicing approach to parts of a specification of a large avionics system called TCAS II (Traffic alert and Collision Avoidance System II).
Proceedings of the Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering
@InProceedings{Heimdahl97:slicing, author = {M.P.E. Heimdahl and M.W. Whalen}, title = {Reduction and Slicing of Hierarchical State Machines}, booktitle = {Proceedings of the Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering}, year = {1997}, month = {September}, OPTannote = {} }