Abstract
Model-driven engineering (MDE) is an important enabler in the development of complex, reactive, often real-time, and software-intensive systems, as it shifts the level of specification from computing concepts (the “how”) to conceptual models or abstractions in the problem domain (the “what”). Domain-specific modelling (DSM) in particular allows to specify these models in a domain-specific modelling language (DSML), using concepts and notations of a specific domain. It allows the use of a custom visual syntax which is closer to the problem domain and therefore more intuitive. Models created in DSMLs are used, among others, for simulation, (formal) analysis, documentation, and code synthesis for different platforms. The goal is to enable domain experts, such as a power plant engineer, to develop, to understand, and to verify models more easily, without having to use concepts outside of their own domain. The first step in the DSM approach when modelling in a new domain is, after a domain analysis, creating an appropriate DSML. In this chapter, we give an introduction to DSML engineering and show how it can be used to develop a human–computer interaction interface. A DSML is fully defined by its syntax and semantics. The syntax consists of (i) the abstract syntax, defining the DSML constructs and their allowed combinations, captured in a metamodel, and (ii) the concrete syntax, specifying the visual representation of the different constructs. The semantics defines the meaning of models created in the domain. In this chapter, we show how two types of semantics (operational and translational) can be modelled using model transformations. Operational semantics gives meaning to the modelling language by continuously updating the model’s state, effectively building a simulator. Translational semantics defines mappings of models in one language onto models in a language with known semantics. This enables the automatic construction of behavioural models, as well as models for verification. The former can be used for automated code synthesis (leading to a running application), whereas the latter leads to model checking. We choose to specify properties for model checking using the ProMoBox approach, which allows the modelling of properties in a syntax similar to the original DSML. A major advantage of this approach is that the modeller specifies both requirements (in the form of properties) and design models in a familiar notation. The properties modelled in this domain-specific syntax are verified by mapping them to lower-level languages, such as Promela, and results are mapped back to the domain-specific level. To illustrate the approach, we create a DSML for modelling the human–computer interaction interface of a nuclear power plant.
The original version of the book was revised: For detailed information please see Erratum. The erratum to the book is available at 10.1007/978-3-319-51838_21
An erratum to this chapter can be found at http://dx.doi.org/10.1007/978-3-319-51838-1_21
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Barišić A, Amaral V, Goulão M, Barroca B (2011) Quality in use of domain-specific languages: a case study. In: Proceedings of the 3rd ACM SIGPLAN workshop on evaluation and usability of programming languages and tools, ACM, PLATEAU’11, pp 65–72
Boulanger F, Hardebolle C, Jacquet C, Marcadet D (2011) Semantic adaptation for models of computation. In: 2011 11th International conference on application of concurrency to system design (ACSD), pp 153–162. doi:10.1109/ACSD.2011.17
Cellier FE (1991) Continuous system modeling. Springer
Costagliola G, Deufemia V, Polese G (2004) A framework for modeling and implementing visual notations with applications to software engineering. ACM Trans Soft Eng Methodol 13(4):431–487
Dwyer MB, Avrunin GS, Corbett JC (1999) Patterns in property specifications for finite-state verification. In: International conference software engineering, pp 411–420
Guerra E, de Lara J, Kolovos DS, Paige RF (2010) A visual specification language for model-to-model transformations. In: VL/HCC
Guerra E, de Lara J, Wimmer M, Kappel G, Kusel A, Retschitzegger W, Schönböck J, Schwinger W (2013) Automated verification of model transformations based on visual contracts. Autom Soft Eng 20(1):5–46. doi:10.1007/s10515-012-0102-y
Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8(3):231–274
Harel D, Naamad A (1996) The STATEMATE semantics of statecharts. ACM Trans Softw Eng Methodol 5(4):293–333
Harel D, Rumpe B (2004) Meaningful modeling: what’s the semantics of "semantics"? Computer 37(10):64–72
Holzmann GJ (1997) The model checker SPIN. Trans Softw Eng 23(5):279–295
Kelly S, Tolvanen JP (2008) Domain-specific modeling: enabling full code generation. Wiley
Kleppe A (2007) A language description is more than a metamodel. In: Fourth international workshop on software language engineering
Kühne T (2006) Matters of (meta-) modeling. Softw Syst Model 5:369–385
Kühne T, Mezei G, Syriani E, Vangheluwe H, Wimmer M (2009) Explicit transformation modeling. In: MoDELS workshops. Lecture notes in computer science. Springer, 6002:240–255
Lucio L, Mustafiz S, Denil J, Vangheluwe H, Jukss M (2013) FTG+PM: an integrated framework for investigating model transformation chains. In: SDL 2013: model-driven dependability engineering. Lecture notes in computer science, vol 7916. Springer, pp 182–202
Meyers B, Vangheluwe H (2014) A multi-paradigm modelling approach for the engineering of modelling languages. In: Proceedings of the doctoral symposium of the ACM/IEEE 17th international conference on model driven engineering languages and systems, CEUR Workshop Proceedings, pp 1–8
Meyers B, Wimmer M, Vangheluwe H, Denil J (2013) Towards domain-specific property languages: the ProMoBox approach. In: Proceedings of the 2013 ACM workshop on domain-specific modeling. ACM, New York, NY, USA, DSM’13, pp 39–44. doi:10.1145/2541928.2541936
Meyers B, Deshayes R, Lucio L, Syriani E, Vangheluwe H, Wimmer M (2014) ProMoBox: a framework for generating domain-specific property languages. In: Software language engineering. Lecture notes in computer science, vol 8706. Springer International Publishing, pp 1–20
Moody D (2009) The "physics" of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans Softw Eng 35(6):756–779
Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4):541–580
Petre M (1995) Why looking isn’t always seeing: readership skills and graphical programming. Commun ACM 38(6):33–44
Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th annual symposium on foundations of computer science. IEEE computer society, Washington, DC, USA, SFCS’77, pp 46–57. doi:10.1109/SFCS.1977.32
Risoldi M (2010) A methodology for the development of complex domain-specific languages. PhD thesis, University of Geneva. http://archive-ouverte.unige.ch/unige:11842
Sendall S, Kozaczynski W (2003) Model transformation: the heart and soul of model-driven software development. IEEE Softw 20(5):42–45
Smith MH, Holzmann GJ, Etessami K (2001) Events and constraints: a graphical editor for capturing logic requirements of programs. In: Proceedings of the fifth IEEE international symposium on requirements engineering. IEEE computer society. Washington, DC, USA, RE’01, pp 14–22. http://dl.acm.org/citation.cfm?id=882477.883639
Syriani E (2011) A multi-paradigm foundation for model transformation language engineering. PhD thesis, McGill University, Canada
Syriani E, Vangheluwe H (2013) A modular timed graph transformation language for simulation-based design. Softw Syst Model 12(2):387–414
Syriani E, Vangheluwe H, Mannadiar R, Hansen C, Van Mierlo S, Ergin H (2013) AToMPM: a web-based modeling environment. In: Proceedings of MODELS’13 demonstration session, pp 21–25
Vangheluwe H (2008) Foundations of modelling and simulation of complex systems. ECEASST 10
Zeigler BP, Praehofer H, Kim TG (2000) Theory of modeling and simulation, 2nd edn. Academic Press
Zhang Y, Xu B (2004) A survey of semantic description frameworks for programming languages. SIGPLAN Not 39(3):14–30
Acknowledgements
This work was partly funded by a PhD fellowship from the Research Foundation - Flanders (FWO) and the Agency for Innovation by Science and Technology in Flanders (IWT). Partial support by the Flanders Make strategic research centre for the manufacturing industry is also gratefully acknowledged.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Van Mierlo, S., Van Tendeloo, Y., Meyers, B., Vangheluwe, H. (2017). Domain-Specific Modelling for Human–Computer Interaction. In: Weyers, B., Bowen, J., Dix, A., Palanque, P. (eds) The Handbook of Formal Methods in Human-Computer Interaction. Human–Computer Interaction Series. Springer, Cham. https://doi.org/10.1007/978-3-319-51838-1_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-51838-1_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51837-4
Online ISBN: 978-3-319-51838-1
eBook Packages: Computer ScienceComputer Science (R0)