Skip to main content
Log in

Simulation-based analysis of UML statechart diagrams: methods and case studies

  • Published:
Software Quality Journal Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. In the same way that testing results are only valid with respect to the set of test cases used to establish the testing results.

  2. 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.

    Google Scholar 

  • 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.

    Article  MATH  MathSciNet  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Whittle, J. (2000). Formal approaches to systems analysis using UML: An overview. Journal of Database Management, 11(4), 4–13.

    Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Sol M. Shatz.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-007-9020-9

Keywords

Navigation