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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
State machine diagram tutorial (2018). https://www.lucidchart.com/pages/uml-state-machine-diagram. Accessed 20 June 2019
Basili, V.R., Shull, F., Lanubile, F.: Building knowledge through families of experiments. IEEE Trans. Softw. Eng. 25(4), 456–473 (1999)
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
Brooks, R.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)
Colburn, T., Shute, G.: Abstraction in computer science. Minds Mach. 17(2), 169–184 (2007)
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)
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
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)
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)
Dijkstra, E.W.: Foreword. In: Hinchey, M.G., Dean, N.C. (eds.) Teaching and Learning Formal Methods, pp. vii–viii. Elsevier, Amsterdam (1996)
Douglass, B.P.: Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison-Wesley, Boston (1999)
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)
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)
Estivill-Castro, V., Hexel, R.: Downloads (2016). http://mipal.net.au/downloads.php. Accessed 20 June 2019
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)
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
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)
Fakhroutdinov, K.: State Machine Diagrams (2009). https://www.uml-diagrams.org/state-machine-diagrams.html. Accessed 20 June 2019
Finney, K.: Mathematical notation in formal specification: too difficult for the masses? IEEE Trans. Softw. Eng. 22(2), 158–159 (1996)
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)
Gansner, E.R., Koutsofios, E., North, S.: Drawing graphs with dot (2015). https://www.graphviz.org/pdf/dotguide.pdf. Accessed 20 June 2019
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
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)
Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, New York (1998)
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)
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)
Kitchenham, B.A., et al.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28(8), 721–734 (2002)
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
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)
Mellor, S.J.: UML point/counterpoint: modeling complex behavior simply. Embedded Syst. Program. 13, 38–42 (2000)
Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Not. Theor. Comput. Sci. 152, 125–142 (2006)
Mitchell, R., McKim, J., Meyer, B.: Design by Contract, by Example. Addison-Wesley, Reading (2002)
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
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)
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
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
Petre, M.: UML in practice. In: International Conference on Software Engineering, ICSE 2013, pp. 722–731. IEEE Press, Piscataway (2013)
R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2016). https://www.R-project.org/
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
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)
Richardson, M.: Guideline: Statechart Diagram. https://tinyurl.com/RichardsonStatechart (2015). Accessed 09 Oct 2019
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
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)
Samek, M.: Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems. Newnes, Newton (2008)
Samek, M.: UML State Machine (2009). https://en.wikipedia.org/wiki/UML_state_machine. Accessed 20 June 2019
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
Shaw, M.: Toward higher-level abstractions for software systems. Data Knowl. Eng. 5(2), 119–128 (1990)
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)
World Wide Web Consortium: State chart XML (SCXML): State machine notation for control abstraction, 1 September 2005
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)