I. Introduction
Modelling is a common activity in most technical and engineering domains that aims at representing a complex problem in a simpler, more abstract, more understandable, or more focused manner, for a specific purpose. Modelling yields models that can be used for simplifying communication among different stakeholders, serve as a blue-print for performing engineering tasks, as sources (or targets) of specific analysis or verification and validation (V&V) activities. Models together with model manipulations are the core artefacts of Model-Driven Engineering (MDE) [1]. MDE is an engineering approach that aims at raising the level of abstraction at which engineers operate, moving from a problem-/reality-specific complex and detailed world, to a less detailed, more flexible and more comprehensive level. For example, in software engineering, modelling allows moving from a detailed machine-oriented code-centric level to an architecture level, allowing engineers to focus on the coarse-grained structures and behaviours of a system, supporting reasoning about qualities of the system, such as maintainability, reliability and security.