Abstract
We present a comprehensive unified modeling language (UML) statechart diagram analysis framework. This framework allows one to progressively perform different analysis operations to analyze UML statechart diagrams at different levels of model complexity. The analysis operations supported by the framework are based on analyzing Petri net models converted from UML statechart diagrams using a previously proposed transformation approach. After introducing the general framework, the paper emphasizes two simulation-based analysis operations from the framework: direct MSC inspection, which provides a visual representation of system behavior described by statechart diagrams; and a pattern-based trace query technique, which can be used to define and query system properties. Two case-study examples are presented with different emphasis. The gas station example is a simple multi-object system used to demonstrate both the visual and query-based analysis operations. The early warning system example uses only one object, but features composite states and includes analysis specifically aimed at one composite state feature, history states.
Similar content being viewed by others
Notes
In the same way that testing results are only valid with respect to the set of test cases used to establish the testing results.
This example is adapted from a specification and partial statechart solution provided by N. Medvidović (Department of Computer Science, Univ. of Southern Calif.), with permission.
References
Baresi, L., & Pezzè, M. (2001). On formalizing UML with high-level Petri nets. In G. Agha & F. De Cindio (Eds.), Concurrent object-oriented programming and Petri nets (a special volume in Petri Nets series), (Vol. 2001 of LNC, pp. 271–300). Springer Verlag.
Bondavalli, A., Dal Cin, M., Latella, D., Majzik, I., Fataricza, A., & Savoia, G. (2001). Dependability analysis in the early phases of UML-based system design. Journal of Computer Systems Science and Engineering, 16(5), 265–275.
Booch, G., Jacobson, I., & Rumbaugh, J. (1999). The unified modeling language user guide. Reading: Addison-Wesley.
Corbett, J. C., Dwyer, M. B., Hatcliff, J., Laubach, S., Pasareanu, Robby, C. S., & Zheng, H. (2000). Bandera: Extracting finite-state models from Java source code. Proceedings of international conference on software engineering (ICSE ‘‘00), IEEE.
Crane, M. L., & Dingel, J. (2005). UML vs. Classical vs. Rhapsody statecharts: Not all models are created equal. Proceedings of 8th international conference on model driven engineering languages and systems, October 2–7, 2005.
Design/CPN. See http://www.daimi.au.dk/designCPN/
Dong, Z., Fu, Y., & He, X. (2003). Deriving hierarchical predicate/transition nets from statechart diagrams. Proceedings of international conference on software engineering and knowledge engineering (SEKE’03).
Dwyer, M. B., Avrunin, G. S., & Corbett, J. C. (1999). Patterns in property specifications for finite-state verification. Proceedings of international conference on software engineering (ICSE ‘‘99). IEEE.
Gabor, H., & Istvan, H. M. (2000). Quantitative analysis of dependability critical systems based on UML statechart models. Proceedings of international symposium on high assurance systems engineering (HASE ‘00), IEEE.
Gery, E., Harel, D., & Palatshy, E. (2002). Rhapsody: A complete lifecycle model-based development system. Proceedings of international conference on integrated formal methods (pp. 1–10).
Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8, 231–274.
Harel, D., & Politi, M. (1998). Modeling reactive systems with statecharts. New York: McGraw-Hill.
Hu, Z., & Shatz, S. M. (2004). Mapping UML diagrams to a Petri net notation to exploit tool support for system simulation. Proceedings of international conference on software engineering and knowledge engineering (SEKE’04) (pp. 213–219).
Hu, Z., & Shatz, S. M. (2005). A transformation approach for modeling and analysis of complex UML statecharts: A case study. Proceedings of the international workshop on the applications of UML/MDA to software systems (UMSS05). Las Vegas, NV, June.
Hu, Z., & Shatz, S. M. (2006). Explicit modeling of semantics associated with composite states in UML statecharts. Journal of Automated Software Engineering, 13(4), 423–467.
ITU-T Recommendation Z.120: Message Sequence Chart. International Telecommunication Union; Telecommunication Standardization Sector (ITU-T), 1999.
Jensen, K. (1997). Coloured Petri nets: Basic concepts, analysis methods and practical use. Springer Verlag, 2nd corrected printing 1997.
Kristensen, L. M., Christensen, S., & Jensen, K. (1998). The practitioner’s guide to coloured Petri nets. International Journal on Software Tools for Technology Transfer (pp. 98–132). Springer Verlag.
Lilius, J. & Paltor, I. (1999). vUML: A tool for verifying UML models. Proceedings of the 14th international conference on automated software engineering (pp. 255–258), IEEE.
McUmber, W. E., & Cheng, B. H. (1999). UML-based analysis of embedded systems using a mapping to VHDL. In Proceedings of IEEE high assurance software engineering (HASE99). IEEE.
Message Sequence Chart Library, available at www.daimi.au.dk/designCPN/libs/mscharts/
Murata, T. (1989). Petri Nets: Properties analysis and applications. Proceedings of IEEE, 77(4), 541–580.
ObjectGEODE. www.csverilog.com
OMG. UML Semantics 1.5, available at www.uml.org
OMG. UML Semantics 2.0, available at www.uml.org
Paltor, I., & Lilius, J. (1999). Formalizing UML state machines for model checking. In R. France & B. Rumpe (Eds.), UML’99 – The unified modeling language. Beyond the standard (Vol. 1723 in LNCS). Springer.
Pettit, IV, R. G. (2003). Improving the reliability of concurrent object-oriented software designs. Workshop on object-oriented real-time and dependable systems (WORDS03). Capri, Italy, October.
Pettit, IV, R. G., & Gomaa, H. (2000). Validation of dynamic behavior in UML using colored Petri nets, In S. Kent, A. Evans, & B. Selic (Eds.), Proceedings of UML 2000 Workshop – Dynamic behaviour in UML models: Semantic questions (Vol. 1939 in LNCS). Springer Verlag.
Pettit, IV, R. G., & Gomaa, H. (2001). Modeling state-dependent objects using colored Petri nets. Proceedings of coloured Petri nets 2001: Modeling of objects, components and agents workshop. Aarhus, Denmark, August, 2001.
Rational Rose Realtime Documentation. Version 2003.06, Rational Software Corporation.
Saldhana, J. A., Shatz, S. M., & Hu, Z. (2001). Formalization of object behavior and interactions from UML models. International Journal of Software Engineering and Knowledge Engineering, 11(6), 643–673.
Whittle, J. (2000). Formal approaches to systems analysis using UML: An overview. Journal of Database Management, 11(4), 4–13.
Xu, H., & Shatz, S. M. (2003). A framework for model-based design of agent-oriented software. IEEE Transactions on Software Engineering, 29(1), 15–30.
Acknowledgement
We acknowledge Robert Parkes for his contributions in the implementation and documentation of the SQT tool, and we thank the reviewers for many insightful suggestions that significantly improved the technical and presentation quality of the described work.
Author information
Authors and Affiliations
Corresponding author
Additional information
This material is based upon work supported by the US Army Research Office under grant number W911NF-05-1-0573.
Rights and permissions
About this article
Cite this article
Lian, J., Hu, Z. & Shatz, S.M. Simulation-based analysis of UML statechart diagrams: methods and case studies. Software Qual J 16, 45–78 (2008). https://doi.org/10.1007/s11219-007-9020-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-007-9020-9