Domain-Specific Modelling for Human-Computer Interaction

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.

[1]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[2]  Gerti Kappel,et al.  Automated verification of model transformations based on visual contracts , 2013, Automated Software Engineering.

[3]  Gennaro Costagliola,et al.  A framework for modeling and implementing visual notations with applications to software engineering , 2004, TSEM.

[4]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[5]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[6]  허윤정,et al.  Holzmann의 ˝The Model Checker SPIN˝에 대하여 , 1998 .

[7]  Christophe Jacquet,et al.  Semantic Adaptation for Models of Computation , 2011, 2011 Eleventh International Conference on Application of Concurrency to System Design.

[8]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[9]  Juan de Lara,et al.  A Visual Specification Language for Model-to-Model Transformations , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[10]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[11]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[12]  Baowen Xu,et al.  A survey of semantic description frameworks for programming languages , 2004, SIGP.

[13]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[14]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[15]  Bart Meyers,et al.  A Multi-Paradigm Modelling Approach for the Engineering of Modelling Languages , 2014, MoDELS.

[16]  Hans Vangheluwe,et al.  FTG+PM: An Integrated Framework for Investigating Model Transformation Chains , 2013, SDL Forum.

[17]  Hans Vangheluwe,et al.  A modular timed graph transformation language for simulation-based design , 2013, Software & Systems Modeling.

[18]  Eugene Syriani,et al.  A multi-paradigm foundation for model transformation language engineering , 2011 .

[19]  Bart Meyers,et al.  Towards domain-specific property languages: the ProMoBox approach , 2013, DSM '13.

[20]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[21]  Miguel Goulão,et al.  Quality in use of domain-specific languages: a case study , 2011, PLATEAU '11.

[22]  Hans Vangheluwe,et al.  AToMPM: A Web-based Modeling Environment , 2013, MoDELS.

[23]  Hans Vangheluwe,et al.  Foundations of Modelling and Simulation of Complex Systems , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[24]  François E. Cellier,et al.  Continuous system modeling , 1991 .

[25]  B. P. Ziegler,et al.  Theory of Modeling and Simulation , 1976 .

[26]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[27]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[28]  Bart Meyers,et al.  ProMoBox: A Framework for Generating Domain-Specific Property Languages , 2014, SLE.

[29]  Matteo Risoldi,et al.  A methodology for the development of complex domain specific languages , 2010 .

[30]  Kousha Etessami,et al.  Events and constraints: a graphical editor for capturing logic requirements of programs , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[31]  Hans Vangheluwe,et al.  Explicit transformation modeling , 2009, MODELS'09.

[32]  A. G. Kleppe,et al.  A Language Description is More than a Metamodel , 2007 .

[33]  Marian Petre,et al.  Why looking isn't always seeing: readership skills and graphical programming , 1995, CACM.