Abstract
We investigate techniques for verifying hierarchical systems, i.e., finite state systems with a nesting capability. The straightforward way of analysing a hierarchical system is to first flatten it into an equivalent non-hierarchical system and then apply existing finite state system verification techniques. Though conceptually simple, flattening is severely punished by the hierarchical depth of a system. To alleviate this problem, we develop a technique that exploits the hierarchical structure to reuse earlier reachability checks of superstates to conclude reachability of substates. We combine the reusability technique with the successful compositional technique of J. Lind-Nielsen, H.R. Andersen, G. Behrmann, H. Hulgaard, K. Kristoffersen, and K.G. Larsen, 1998. In: Tools and Algorithms for the Construction and Analysis of Systems, Vol. 1384 of Lecture Notes in Computer Science, pp. 201–216, and investigate the combination experimentally on industrial systems and hierarchical systems generated according to our expectations to real systems. The experimental results are very encouraging: whereas a flattening approach degrades in performance with an increase in the hierarchical depth (even when applying the technique of J. Lind-Nielsen et al. (1998)), the new approach proves not only insensitive to the hierarchical depth, but even leads to improved performance as the depth increases.
Similar content being viewed by others
References
R. Alur and M. Yannakakis, “Model checking of hierarchical state machines,” in Proceedings of the 6th ACM Symposium on Foundations, 1998.
S.B. Andersen, G. Behrmann, C.K. Pedersen, and P.S. Vestergaard, “Reuseability and compositionality applied to verification of hierarchical systems,” Master's thesis, Aalborg University, 1998.
G. Booch, I. Jacobsen, and J. Rumbaugh, Unified Modelling Language User Guide, Addison Wesley, 1997.
R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. C-35, pp. 677–691, 1986.
D. Harel, “Statecharts: A visual formalism for complex systems,” Science of Computer Programming, Vol. 8, pp. 231–274, 1987.
‘IAR VisualState A/S’. http://www.iar.com.
‘I-Logix Inc.’ http://www.ilogix.com.
F. Jahanian and A. Mok, “A graphtheoretic approach for timing analysis and its implementation,” IEEE Transactions on Computers, Vol. C-36, No. 8, pp. 961–975, 1987.
N. Leveson, M.P. Heimdahl, H. Hildreth, and J. Reese, “Requiremets specification for process control systems,” IEEE Transactions on Software Engineering, Vol. 20, No. 9, pp. 694–707, 1994.
J. Lind-Nielsen, H.R. Andersen, G. Behrmann, H. Hulgaard, K. Kristoffersen, and K.G. Larsen, “Verification of large state/event systems using compositionality and dependency analysis,” in Tools and Algorithms for the Construction and Analysis of Systems, Vol. 1384 of Lecture Notes in Computer Science, pp. 201–216, 1998.
‘ObjecTime Limited’. http://www.objectime.on.ca.
D.Y. Park, J.U. Skakkebæk, and D.L. Dill, “Static analysis to identify invariants in RSML specifications,” in Formal Techniques in Real-Time and Fault-Tolerant Systems,Vol. 1486 of Lecture Notes in Computer Science, pp. 133–142, 1998.
‘Rational Software Corporation’. http://www.rational.com.
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object-Oriented Modeling and Design, Prentice-Hall, Englewood Cliffs, New Jersey, 1991.
B. Selic, G. Gullekson, and P.T. Ward, Real-Time Object Oriented Modeling and Design, J. Wiley, New York, 1994.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Behrmann, G., Larsen, K., Andersen, H. et al. Verification of Hierarchical State/Event Systems using Reusability and Compositionality. Formal Methods in System Design 21, 225–244 (2002). https://doi.org/10.1023/A:1016095519611
Issue Date:
DOI: https://doi.org/10.1023/A:1016095519611