Abstract
In hierarchical state machines, the states can be ordinary states or superstates which are state machines themselves. The notion of hierarchical state machines was popularized by the introduction of Statecharts, and exists in various object-oriented software development methodologies. This paper surveys results concerning the impact of hierarchy for formal specification and verification. We present a systematic study of the complexity of model checking problems in presence of hierarchy, the succinctness afforded by hierarchy from a language-theoretic perspective, and heuristics for exploiting hierarchy in model checking tools.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. Alur, K. Etessami, and M. Yannakakis. Analysis of recursive state machines. In Proc. of the 13th International Conference on Computer Aided Verification, LNCS 2102, pages 207-220. Springer, 2001.
R. Alur and R. Grosu. Modular refinement of hierarchic reactive machines. In Proceedings of the 27th Annual ACM Symposium on Principles of Programming Languages, pages 390-402, 2000.
R. Alur, R. Grosu, and M. McDougall. Efficient reachability analysis of hierarchical reactive machines. In Computer Aided Verification, 12th International Conference, LNCS 1855, pages 280-295. Springer, 2000.
R. Alur, S. Kannan, and M. Yannakakis. Communicating hierarchical state machines. In Automata, Languages and Programming, 26th International Colloquium, pages 169-178. Springer, 1999.
R. Alur, S. La Torre, and P. Madhusudan. Modular strategies for recursive game graphs. In TACAS’03: Ninth International Conference on Tools and Algorithms for the Construction and Analysis of Software, LNCS 2619, pages 363-378, 2003.
R. Alur, M. McDougall, and Z. Yang. Exploiting behavioral hierarchy for efficient model checking. In Computer Aided Verification, 14th International Conference, LNCS 2404, pages 338-342. Springer, 2002.
R. Alur and M. Yannakakis. Model checking of hierarchical state machines. ACM Transactions on Programming Languages and Systems, 23(3):1–31, 2001.
T. Ball and S. Rajamani. Bebop: A symbolic model checker for boolean programs. In SPIN 2000 Workshop on Model Checking of Software, LNCS 1885, pages 113-130. Springer, 2000.
T. Ball and S. Rajamani. The SLAM toolkit. In Computer Aided Verification, 13th International Conference, 2001.
G. Behrmann, K. Larsen, H. Andersen, H. Hulgaard, and J. Lind-Nielsen. Verification of hierarchical state/event systems using reusability and compositionality. In TACAS’ 99: Fifth International Conference on Tools and Algorithms for the Construction and Analysis of Software, LNCS 1579, pages 163-177. Springer, 1999.
M. Benedikt, P. Godefroid, and T. Reps. Model checking of unrestricted hierarchical state machines. In Automata, Languages and Programming, 28th International Colloquium, volume LNCS 2076, pages 652-666. Springer, 2001.
A. Biere, A. Cimatti, E. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In Proceedings of the 5th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 193-207, 1999.
G. Booch, I. Jacobson, and J. Rumbaugh. Unified Modeling Language User Guide. Addison Wesley, 1997.
A. Boujjani, J. Esparza, and O. Maler. Reachability analysis of pushdown automata: Applications to model checking. In CONCUR’97: Concurrency Theory, Eighth International Conference, LNCS 1243, pages 135-150. Springer, 1997.
R. Brayton, G. Hachtel, A. Sangiovanni-Vincentelli, F. Somenzi, A. Aziz, S. Cheng, S. Edwards, S. Khatri, Y. Kukimoto, A. Pardo, S. Qadeer, R. Ranjan, S. Sarwary, T. Shiple, G. Swamy, and T. Villa. VIS: A system for verification and synthesis. In Proceedings of the Eighth International Conference on Computer Aided Verification, LNCS 1102, pages 428-432. Springer-Verlag, 1996.
R. Bryant. Graph-based algorithms for boolean-function manipulation. IEEE Transactions on Computers, C-35(8), 1986.
J. Burch, E. Clarke, D. Dill, L. Hwang, and K. McMillan. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170, 1992.
O. Burkart and B. Steffen. Model checking for context-free processes. In CONCUR’92: Concurrency Theory, Third International Conference, LNCS 630, pages 123-137. Springer, 1992.
A. Chakrabarti, L. de Alfaro, T. Henzinger, M. Jurdzinski, and F. Mang. Interface compatibility checking for software modules. In Proceedings of the 14th International Conference on Computer-Aided Verification, LNCS 2404, pages 428-441. Springer, 2002.
W. Chan, R. Anderson, P. Beame, S. Burns, F. Modugno, D. Notkin, and J. Reese. Model checking large software specifications. IEEE Transactions on Software Engineering, 24(7):498–519, 1998.
E. Clarke and E. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, LNCS 131, pages 52-71. Springer-Verlag, 1981.
E. Clarke, O. Grumberg, and D. Peled. Model checking. MIT Press, 2000.
E. Clarke and R. Kurshan. Computer-aided verification. IEEE Spectrum, 33(6):61–67, 1996.
C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1:275–288, 1992.
D. Drusinsky and D. Harel. On the power of bounded concurrency I: finite automata. Journal of the ACM, 41(3):517–539, 1994.
J. Esparza, D. Hansel, P. Rossmanith, and S. Schwoon. Efficient algorithms for model checking pushdown systems. In Computer Aided Verification, 12th International Conference, LNCS 1855, pages 232-247. Springer, 2000.
D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.
T. Henzinger, R. Jhala, R. Majumdar, G. Necula, G. Sutre, and W. Weimer. Temporal-safety proofs for systems code. In CAV 02: Proc. of 14th Conf. on Computer Aided Verification, LNCS 2404, pages 526-538. Springer, 2002.
G. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall, 1991.
G. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–295, 1997.
J. Hopcroft and J. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979.
O. Kupferman, M. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. Journal of the ACM, 47(2):312–360, 2000.
R. Kurshan. Computer-aided Verification of Coordinating Processes: the automata-theoretic approach. Princeton University Press, 1994.
S. La Torre, M. Napoli, M. Parento, and G. Parlato. Hierarchical and recursive state machines with context dependent properties. In Automata, Languages and Programming, 30th International Colloquium, LNCS 2719, pages 776-789, 2003.
N. Leveson, M. Heimdahl, H. Hildreth, and J. Reese. Requirements specification for process control systems. IEEE Transactions on Software Engineering, 20(9):684–707, 1994.
O. Lichtenstein and A. Pnueli. Checking that finite-state concurrent programs satisfy their linear specification. In Proceedings of the 12th ACM Symposium on Principles of Programming Languages, pages 97-107, 1985.
Z. Manna and A. Pnueli. The temporal logic of reactive and concurrent systems: Specification. Springer-verlag, 1991.
K. McMillan. Symbolic model checking: an approach to the state explosion problem. Kluwer Academic Publishers, 1993.
A. Pnueli. The temporal logic of programs. In Proceedings of the 18th IEEE Symposium on Foundations of Computer Science, pages 46-77, 1977.
B. Selic, G. Gullekson, and P. Ward. Real-time object oriented modeling and design. J. Wiley, 1994.
W. Thomas. Automata on infinite objects. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 133-191. Elsevier Science Publishers, 1990.
M. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, 1994.
I. Walukiewicz. Pushdown processes: Games and model-checking. Information and Computation, 164(2):234–263, 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Alur, R. (2003). Formal Analysis of Hierarchical State Machines. In: Dershowitz, N. (eds) Verification: Theory and Practice. Lecture Notes in Computer Science, vol 2772. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39910-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-39910-0_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21002-3
Online ISBN: 978-3-540-39910-0
eBook Packages: Springer Book Archive