Skip to main content

The Understandability of Models for Behaviour

  • Conference paper
  • First Online:
Model-Driven Engineering and Software Development (MODELSWARD 2019)

Abstract

Models are used mainly to communicate among humans the most relevant aspects of the item being modelled. Moreover, for achieving impact in modern complex applications, modelling languages and tools must support some level of composition. Furthermore, executable models are the foundations of model-driven development; therefore, it is crucial that we study the understandability of executable behaviour models, especially from the perspective of modular composition. We examine the match between the delicate semantics of executable models for applications such as reactive- and real-time systems and developers’ usually simple conception. Performing a series of experiments with UML statecharts and logic-labelled finite-state machines (LLFSMs), we explore understandability of event-driven vs. logic-labelled state machines as well as the architectural options for modular composition. We find that expertise in model manipulation is essential, and that clarification of the semantics of LLFSMs is necessary for them to remain formally verifiable and suitable for robotic and embedded systems.

Supported by Griffith University and Universiat Pompeu Fabra.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Figure 2 [45, Figure 2.7] appears in Wikipedia’s page on UML state machines and is distributed as commons material; we also used it on our experiments.

  2. 2.

    Again, we use the model-to-model transformation of Fig. 1 to emphasise that entry and exit actions are a syntactically convenient notation.

References

  1. A crash course in UML state machines (2015). https://www.state-machine.com/doc/AN_Crash_Course_in_UML_State_Machines.pdf. Accessed 20 June 2019

  2. State machine diagram tutorial (2018). https://www.lucidchart.com/pages/uml-state-machine-diagram. Accessed 20 June 2019

  3. Basili, V.R., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25(4), 456–473 (1999)

    Article  Google Scholar 

  4. Börger, E., Cavarra, A., Riccobene, E.: Modeling the dynamics of UML state machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912, pp. 223–241. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44518-8_13

    Chapter  MATH  Google Scholar 

  5. Brooks, R.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)

    Article  Google Scholar 

  6. Colburn, T., Shute, G.: Abstraction in computer science. Minds Mach. 17(2), 169–184 (2007)

    Article  Google Scholar 

  7. Cruz-Lemus, J.A., Genero, M., Manso, M.E., Morasca, S., Piattini, M.: Assessing the understandability of UML statechart diagrams with composite states–a family of empirical studies. Empir. Softw. Eng. 14(6), 685–719 (2009)

    Article  Google Scholar 

  8. Cruz-Lemus, J.A., Genero, M., Manso, M.E., Piattini, M.: Evaluating the effect of composite states on the understandability of UML statechart diagrams. In: Briand, L., Williams, C. (eds.) MODELS 2005. LNCS, vol. 3713, pp. 113–125. Springer, Heidelberg (2005). https://doi.org/10.1007/11557432_9

    Chapter  Google Scholar 

  9. Cruz-Lemus, J.A., Maes, A., Genero, M., Poels, G., Piattini, M.: The impact of structural complexity on the understandability of UML statechart diagrams. Inf. Sci. 180(11), 2209–2220 (2010)

    Article  MathSciNet  Google Scholar 

  10. De Lucia, A., Gravino, C., Oliveto, R., Tortora, G.: An experimental comparison of ER and UML class diagrams for data modelling. Empir. Softw. Eng. 15(5), 455–492 (2010)

    Article  Google Scholar 

  11. Dijkstra, E.W.: Foreword. In: Hinchey, M.G., Dean, N.C. (eds.) Teaching and Learning Formal Methods, pp. vii–viii. Elsevier, Amsterdam (1996)

    Google Scholar 

  12. Douglass, B.P.: Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison-Wesley, Boston (1999)

    Google Scholar 

  13. Drusinsky, D.: Modeling and Verification Using UML Statecharts: A Working Guide to Reactive System Design, Runtime Monitoring and Execution-based Model Checking. Newnes, Oxford (2006)

    Google Scholar 

  14. Dzidek, W.J., Arisholm, E., Briand, L.C.: A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans. Softw. Eng. 34(3), 407–432 (2008)

    Article  Google Scholar 

  15. Estivill-Castro, V., Hexel, R.: Downloads (2016). http://mipal.net.au/downloads.php. Accessed 20 June 2019

  16. Estivill-Castro, V., Hexel, R.: Resolving the asymmetry of on-exit versus on-entry in executable models of behaviour. In: 7th International Conference on Model-Driven Engineering and Software Development, MODELSWARD, pp. 51–63 (2019)

    Google Scholar 

  17. Estivill-Castro, V., Hexel, R., Lusty, C.: High performance relaying of C++11 objects across processes and logic-labeled finite-state machines. In: Brugali, D., Broenink, J.F., Kroeger, T., MacDonald, B.A. (eds.) SIMPAR 2014. LNCS (LNAI), vol. 8810, pp. 182–194. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11900-7_16

    Chapter  Google Scholar 

  18. Estivill-Castro, V., Hexel, R., Rosenblueth, D.A.: Efficient model checking and FMEA analysis with deterministic scheduling of transition-labeled finite-state machines. In: 3rd World Congress on Software Engineering, WCSE 2012, pp. 65–72. IEEE Computer Society (CPS), Wuhan (2012)

    Google Scholar 

  19. Fakhroutdinov, K.: State Machine Diagrams (2009). https://www.uml-diagrams.org/state-machine-diagrams.html. Accessed 20 June 2019

  20. Finney, K.: Mathematical notation in formal specification: too difficult for the masses? IEEE Trans. Softw. Eng. 22(2), 158–159 (1996)

    Article  Google Scholar 

  21. Finney, K., Fedorec, A.M.: An empirical study of specification readability. In: Hinchey, M.G., Dean, N.C. (eds.) Teaching and Learning Formal Methods, pp. 117–129. Elsevier, Amsterdam (1996)

    Google Scholar 

  22. Gansner, E.R., Koutsofios, E., North, S.: Drawing graphs with dot (2015). https://www.graphviz.org/pdf/dotguide.pdf. Accessed 20 June 2019

  23. Genero, M., Miranda, D., Piattini, M.: Defining metrics for UML statechart diagrams in a methodological way. In: Jeusfeld, M.A., Pastor, Ó. (eds.) ER 2003. LNCS, vol. 2814, pp. 118–128. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39597-3_12

    Chapter  Google Scholar 

  24. Glinz, M.: Problems and deficiencies of UML as a requirements specification language. In: 10th International Workshop on Software Specification and Design, p. 11. IEEE Computer Society (2000)

    Google Scholar 

  25. Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, New York (1998)

    Google Scholar 

  26. Höst, M., Regnell, B., Wohlin, C.: Using students as subjects–a comparative study of students and professionals in lead-time impact assessment. Empir. Softw. Eng. 5(3), 201–214 (2000)

    Article  Google Scholar 

  27. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1), 31–39 (2008). https://doi.org/10.1016/j.scico.2007.08.002. Special Issue on Second issue of experimental software and toolkits (EST)

    Article  MathSciNet  MATH  Google Scholar 

  28. Kitchenham, B.A., et al.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28(8), 721–734 (2002)

    Article  Google Scholar 

  29. Kopetz, H.: Real-Time Systems - Design Principles for Distributed Embedded Applications. RTSS, 2nd edn. Springer, Boston (2011). https://doi.org/10.1007/978-1-4419-8237-7

    Book  MATH  Google Scholar 

  30. Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)

    Article  Google Scholar 

  31. Mellor, S.J.: UML point/counterpoint: modeling complex behavior simply. Embedded Syst. Program. 13, 38–42 (2000)

    Google Scholar 

  32. Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Not. Theor. Comput. Sci. 152, 125–142 (2006)

    Article  Google Scholar 

  33. Mitchell, R., McKim, J., Meyer, B.: Design by Contract, by Example. Addison-Wesley, Reading (2002)

    Google Scholar 

  34. Moody, D.: The “physics” of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009). https://doi.org/10.1109/TSE.2009.67

    Article  Google Scholar 

  35. Mustafa, B.A.: An experimental comparison of use case models understanding by novice and high knowledge users. In: New Trends in Software Methodologies, Tools and Techniques - 9th SoMeT 2010. Frontiers in Artificial Intelligence and Applications, vol. 217, pp. 182–199. IOS Press (2010)

    Google Scholar 

  36. Object Management Group: Action language for foundational UML (Alf) – concrete syntax for a UML action language. Version 1.1. Technical report formal/2017-07-04, An OMG Action Language for Foundational UML Publication (2017). Normative reference: http://www.omg.org/spec/ALF/1.1

  37. Object Management Group: OMG unified modeling language version 2.5.1. Technical report formal/2017-12-05, OMG Object Management Group Publication (2017). Normative reference: http://www.omg.org/spec/UML

  38. Petre, M.: UML in practice. In: International Conference on Software Engineering, ICSE 2013, pp. 722–731. IEEE Press, Piscataway (2013)

    Google Scholar 

  39. R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2016). https://www.R-project.org/

  40. Reggio, G., Astesiano, E., Choppy, C., Hussmann, H.: Analysing UML active classes and associated state machines - a lightweight formal approach. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 127–146. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-46428-X_10

    Chapter  Google Scholar 

  41. Reggio, G., Leotta, M., Ricca, F., Clerissi, D.: What are the used UML diagrams? A preliminary survey. In: 3rd International Workshop on Experiences and Empirical Studies in Software Modeling (EESSMod 2013 Co-Located with MODELS 2013), vol. 1078, pp. 3–12. CEUR (2013)

    Google Scholar 

  42. Richardson, M.: Guideline: Statechart Diagram. https://tinyurl.com/RichardsonStatechart (2015). Accessed 09 Oct 2019

  43. Robbins, J.E.: Cognitive support features for software development tools. Ph.D. thesis, Department of Information and Computer Science, University of California, Irvine (1999). Advisor: Prof. D. F. Redmiles

    Google Scholar 

  44. Rumpe, R.: Executable modeling with UML - a vision or a nightmare? In: Issues and Trends of Information Technology Management in Contemporary Associations Volume 1, pp. 697–701. Idea Group Publishing (2002)

    Google Scholar 

  45. Samek, M.: Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems. Newnes, Newton (2008)

    Book  Google Scholar 

  46. Samek, M.: UML State Machine (2009). https://en.wikipedia.org/wiki/UML_state_machine. Accessed 20 June 2019

  47. Seshia, S.A., Sharygina, N., Tripakis, S.: Modeling for verification. Handbook of Model Checking, pp. 75–105. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8_3

    Chapter  Google Scholar 

  48. Shaw, M.: Toward higher-level abstractions for software systems. Data Knowl. Eng. 5(2), 119–128 (1990)

    Article  Google Scholar 

  49. Wood, S.K., Akehurst, D.H., Uzenkov, O., Howells, W.G.J., McDonald-Maier, K.D.: A model-driven development approach to mapping UML state diagrams to synthesizable VHDL. IEEE Trans. Comput. 57(10), 1357–1371 (2008)

    Article  MathSciNet  Google Scholar 

  50. World Wide Web Consortium: State chart XML (SCXML): State machine notation for control abstraction, 1 September 2005

    Google Scholar 

  51. Zimmerman, M.K., Lundqvist, K., Leveson, N.: Investigating the readability of state-based formal requirements specification languages. In: 24th International Conference on Software Engineering, ICSE, pp. 33–43 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vladimir Estivill-Castro .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Estivill-Castro, V., Hexel, R. (2020). The Understandability of Models for Behaviour. In: Hammoudi, S., Pires, L., Selić, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2019. Communications in Computer and Information Science, vol 1161. Springer, Cham. https://doi.org/10.1007/978-3-030-37873-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-37873-8_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-37872-1

  • Online ISBN: 978-3-030-37873-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics