Skip to main content

A Set of Metrics of Non-locality Complexity in UML State Machines

  • Conference paper
  • First Online:
Behavior Modeling -- Foundations and Applications

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 6368))

Abstract

One of the barriers to widespread adoption of behavior modeling languages lies in the complexity of the models. We show in the context of UML state machines how non-locality, i.e., the information for the current behavior of a model being spread over several model elements instead of being locally available, may make seemingly intuitive and simple models rather complex and error-prone. We present a set of metrics to measure the complexity of UML state machines arising from different kinds of non-locality. Our metrics give a better understanding of the complexity of UML state machines, and may alert the modeler to pay more attention to pitfalls in apparently simple UML state machines.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This example is inspired by [14].

  2. 2.

    Strictly using the terms defined in the UML Specification, this is a special case of the run-to-completion step. For simplicity, we do not use the concept run-to-completion in this paper. Since we ignore most of the pseudo states, see Sect. 3.1, a run-to-completion event is actually very similar to our execution step.

  3. 3.

    In other words, t is a target-unstructured transition, see below, Definition 3.

References

  1. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Kenneth Zadeck, F.: An efficient method of computing static single assignment form. In: Conference Record of the \(16^{\rm th}\) Annual ACM Symposium Principles of Programming Languages (POPL 1989), pp. 25–35. ACM Press (1989)

    Google Scholar 

  2. Drusinsky, D.: Modeling and Verification Using UML Statecharts. Elsevier, Amsterdam (2006)

    Google Scholar 

  3. Guo, L., Sangiovanni-Vincentelli, A.L., Pinto, A.: A complexity metric for concurrent finite state machine based embedded software. In: \(8^{{\rm th}}\) IEEE International Symposium on Industrial Embedded Systems (SIES 2013), pp. 189–195. IEEE (2013)

    Google Scholar 

  4. Hall, M.: Complexity metrics for hierarchical state machines. In: Cohen, M.B., Ó Cinnéide, M. (eds.) SSBSE 2011. LNCS, vol. 6956, pp. 76–81. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  5. Object Management Group. OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.4.1. Specification, OMG (2011). http://www.omg.org/spec/UML/2.4.1/Superstructure

  6. Schmidt, C.D.: Model-Driven Engineering. IEEE Comput. 39(2), 25–31 (2006)

    Article  Google Scholar 

  7. Vallecillo, A., Koch, N., Cachero, C., Comai, S., Fraternali, P., Garrigó, I., Gómes, J., Kappel, G., Knapp, A., Matera, M., Meliá, S., Moreno, N., Pröll, B., Reiter, T., Retschitzegger, W., Rivera, J.E., Schauerhuber, A., Schwinger, W., Wimmer, M., Zhang, G.: MDWEnet: A practical approach to achieving interoperability of model-driven web engineering methods. In: Koch, N., Vallecillo, A., Houben, G.-J. (eds.) Proceedings of the \(3^{{\rm rd}}\) International Workshop on Model-Driven Web Engineering (MDWE 2007), vol. 261 of CEUR-WS (2007)

    Google Scholar 

  8. http://en.wikipedia.org/wiki/Cyclomatic_complexity. Accessed on 2014–04-30

  9. http://code.google.com/p/umple/wiki/MasuringStateMachineComplexity. Accessed on 2014–04-30

  10. Zhang, G.: Aspect-Oriented State Machines. Ph.D thesis, Ludwig-Maximilians-Universität München (2010)

    Google Scholar 

  11. Zhang, G.: Aspect-oriented modeling of mutual exclusion in UML state machines. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 162–177. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  12. Zhang, G., Hölzl, M.: A set of metrics for states and transitions in UML state machines. In: Proceedings of the \(6^{{\rm th}}\) International Workshop on Behaviour Modeling-Foundations and Applications (BM-FA 2014). ACM, New York (2014)

    Google Scholar 

  13. Zhang, G., Hölzl, M.: HiLA: high-level aspects for UML state machines. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 104–118. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  14. Zhang, G., Hölzl, M.M.: Weaving semantic aspects in HiLA. In: Hirschfeld, R., Tanter, É., Sullivan, K.J., Gabriel, R.P. (eds.) Proceedings of the 11th International Conference on Aspect-Oriented Software Development, (AOSD 2012), pp. 263–274. ACM Press (2012)

    Google Scholar 

Download references

Acknowledgment

This work has been partially sponsored by the EU project ASCENS, 257414.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gefei Zhang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Zhang, G., Hölzl, M.M. (2015). A Set of Metrics of Non-locality Complexity in UML State Machines. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds) Behavior Modeling -- Foundations and Applications. Lecture Notes in Computer Science(), vol 6368. Springer, Cham. https://doi.org/10.1007/978-3-319-21912-7_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-21912-7_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-21911-0

  • Online ISBN: 978-3-319-21912-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics