The Conformance Relation Challenge: Building Flexible Modelling Frameworks Nicolas Hili Jean-Sebastien Sottet School of Computing, Queen’s University Luxembourg Institute of Science and Technology Kingston, Ontario, Canada 5 avenue des Hauts Fourneaux, Email: hili@cs.queensu.ca Esch/Alzette, Luxembourg Email: jean-sebastien.sottet@list.lu Abstract—Recent works in Model-Driven Engineering (MDE) to answer the relevant questions about when and what we advocate the need for more flexibility in modelling environments need to relax. Such questions are left out in existing flexible by relaxing the conformance relation between a model and its modelling tools, so the attention is drawn to the graphical metamodel. Most of the current works on flexibility only focus on the creation of the concrete syntax, leaving out important consid- aspect and collaborative features. It requires building a view erations about the development of the abstract syntax. Different on the different dimensions that flexibility could comprise. approaches to relaxing the conformance relation between a model This paper is structured as follows: Past efforts for intro- and a metamodel exist, but no one has so far endeavoured to ducing flexibility into modeling frameworks are detailed in build a unified vision of the different dimensions that flexibility Section II; Section III is an attempt of defining a view of could comprise. This paper is an attempt to define such a unified view of flexibility in MDE, focusing on the conformance relation flexibility focusing on the conformance relation problem; With problem. respect to these dimensions, we have compared some existing approaches relaxing the conformance with the two reference I. I NTRODUCTION implementations [6], [7] in Section V; Section VI concludes The development of Domain Specific Modeling Languages the paper. (DSMLs) traditionally follows a top-down approach where II. BACKGROUND both abstract and concrete syntaxes are respectively formulated and sketched, before user models can be created [1]. However, A. Approaches to Relaxing the Model Conformance Relation in some contexts (early insights, problem discovery, evolution, Traditionally, Model-Driven Engineering (MDE) is promot- etc.), such rigid approaches are no longer tenable. In order to ing the use of models that conform to a given and well give enough freedom to the modeler, models should no longer defined metamodel. The conformance relation then has to be be limited to a predefined structure. strictly enforced in order to exploit the models correctly [8]. Recent works are promoting the need of bringing flexibility However, in certain situations e.g., early exploratory, the strict into modelling frameworks and tools. However, the semantics conformance relation is not always desired and has to be of “flexibility” remain fuzzy, and flexible tools address it in a relaxed. variety of forms and degrees. It goes beyond pure tooling con- Several solutions have been proposed to relax the con- cerns and affects different aspects of the modelling language: formance relation. The approaches of [9], [10] propose to syntaxes, semantics, pragmatics, and usage. For instance, decouple the metamodel and model conception/creation and concrete syntax flexibility is of importance but it is widely evolution. More precisely, in [10] the authors decouple the addressed. We believe the conformance relaxation is a complex two functions of a metamodel regarding a model: it has a issue and largely undervalued compared to existing work in templating function (for instantiation) and its typing function. the literature focusing on features such as collaboration or In [9], the objective is to allow the model to evolve without sketching diagramming whiteboards, for instance see [2]–[5]. considering the problem of conformance. It uses an inter- Thus, we focus in this article on the conformance relation mediary representation called GIMM [9], which is a generic problem, based on our previous works [6], [7]. representation (domain agnostic) in which every model can be To our knowledge, no one has so far built such a unified expressed. Then, metamodel could be updated to ensure that view, leaving users and developers who want to choose, conformance is correct. compare, or evaluate flexible modelling tools that fit their The way of relaxing the conformance relation is explored needs. This paper presents a preliminary attempt to structure in [11]. The relaxed models are expressed in a graphical such a view of flexibility. We hope that this view can be used language where constraints can solely be specified by the as a guideline for users, developers, and toolsmiths who want graphical tool. In this work, the authors proposed a solution to choose or build flexible modelling tools and frameworks. to tighten the conformance relation: identifying inconsistencies Relaxing the conformance relation is not enough and has to and applying repairing algorithms. be balanced with the need of enforcing validation when the In [12], the authors addressed the notion of flexibility modelling language is stabilized. Therefore, it is important through type polymorphism. They allow a model to be con- form to multiple types, or metamodels. It allows the models The first dimension (Time/Phase of flexibility) is the process to be reused in different contexts, e.g., different interfacing view on model flexibility. It is related to the maturity and DSLs, by modelling different tools. alignment of the models/metamodels during the modelling Other approaches address specific issues such as model evo- process. In early phases of the development, modelers are lution or problem discovery. Approaches for model/metamodel exploring the problem scope and nature. Thus, free modelling co-evolution [13]–[15] help to withstand metamodel evolution is favored as a way of prototyping, using sketching tools and to automatically or semi-automatically adapt models. for example, in order to increase productivity. This allows These techniques usually rely on the identification of some for defining models even before any metamodel is available transformation patterns: creation of new concepts, deletion of up to the traditional MDE phase (where a model is said to existing concepts, addition to some attributes, etc. conform to the metamodel). In late phases of the development Bottom-up metamodeling [16] is another approach which process, production, strict modelling should be encouraged, as consists in inferring what the metamodel should be, regarding metamodels are stabilised and the focus should be put on a a set of existing models. It allows for the creation of a model strict definition of the models conforming to the metamodels. independent of the metamodel definition. By analogy, we The intermediate point of the axis represents phases where can compare this approach with NoSQL databases for which the progressive consolidation of models/metamodels triggers schemas do not have to be defined. possible problems that require a convergence of the definitions. We have defined a reference implementation of this dimension B. Emerging Frameworks and Technologies for Flexibility in Fleximeta1 . Some recent research efforts have brought flexibility into The second dimension (Conformance/Granularity Level) is modelling frameworks, either by relying on and extending the structural/object view on model flexibility. It is related to existing modelling languages (such as Ecore), or by using new the tuning of flexibility regarding model elements. For the first technologies and languages. point of the axis, the model element could have no reference Among them, some endeavoured to bring capabilities of metamodel (no conformance check, no type). The model is Eclipse Modeling Framework (EMF) [17] into web-based then fully flexible. For the second point, the model is still environments. Some attempts are direct ports of EMF into flexible but is related to a metamodel element (i.e., a first Javascript [18] using the EMF prototypes. Other interesting kind of typing). he third point (partially flexible) encompasses frameworks include Ecore.js [19], which is developed in all the constraints releases on conformance relation: it can JavaScript and available through NodeJS, and EMF-Rest [20], be set on specific elements (such as a reference cardinality, [21], which intends to bring EMF capabilities through a REST attribute value type, etc.). The last point (full conformance) API. is the classical definition of conformance. This dimension has The muddle approach [22], based on Epsilon [23], proposes for reference implementation the JSMF framework2 . to use an intermediate representation (called Muddle) of Ecore The third dimension deals with the gradient of the speci- models in order to work on some uncertainty. It allows work- ficity of semantics. During the elaboration of a language ing with models (e.g., using model to model transformation) the semantics (semantic mapping, semantic domain) may not that partially conform to a given metamodel. be clearly defined first (fuzzy language semantic as defined Due to its lightweight notation, JavaScript Object Notation in [27]). Indeed, it should be the result of discussions amongst (JSON) is used in MDE over XML for defining models the language stakeholders. The level of granularity of the and metamodels. Moddle [24] is a language for designing semantic domain could also be more or less precise like in models using JavaScript and JSON. It was developed for ontologies [28]. The four levels of semantics go from agnostic BPMN.io [25]. Metamodels are defined dynamically, however, models (i.e., core level ontologies) to application (or problem) models cannot be created without defining the metamodel first. specific models. The intermediary levels depict the domain Besides, models cannot be validated and Moddle provides a specificity (e.g., a metamodel for modelling wireframes in limited model coverage. user interface design) or multi-domain (e.g., a metamodel MoDiGen [26] uses JSON to address scalability. Meta- for covering the engineering of user interfaces). The level of models and models are defined using JSON. However, no knowledge genericity (e.g., domain agnostic) expressed in the implementation appears to exist as no programming language metamodels, allows for a certain flexibility: the conformance is mentioned. Besides, there is no mention about how models relation is thus relaxed by a broader domain coverage. are concretely “instantiated” from the metamodel definition in The related work covers one or more graduations of the JSON. dimensions. For example, GIMM [9] relies on a higher level of semantic genericity when it is needed to be less strict (i.e., III. D IMENSIONS OF F LEXIBILITY tolerant modelling phase). A comparison of tools dealing with In our previous work [6], [7], we addressed the flexibility the abstract syntax flexibility is proposed in the next section. according to two orthogonal and complementary dimensions (see Fig. 1). To these dimensions we add the semantic dimen- sion related to the “ontological level” of information described 1 available at: https://github.com/nicolas-hili/FlexiMeta [7] in the metamodel. 2 source and documentation available at: https://js-mf.github.io/ [6] Conformance Ganularity level Full conformance Partially flexible metamodel Full flexible metamodel No metamodel No conformance checking Exploration Consolidation Production Domain-agnostic Multi-domains Time/Phase of flexibility Domain-specific dimensions Application-specific logical implication Specificity of Semantics Fig. 1: Dimensions of Flexibility IV. R EFERENCE I MPLEMENTATIONS concerned by what the abstract syntax should be. This phase In this section we describe the two reference tools [6], [7] favors fast prototyping and in this sense, is close to the philos- that drive this initiative. FlexiMeta and JSMF illustrate the ophy of Agile methods. No validation is possible during this time/phase of flexibility and the conformance granularity axis phase as the abstract syntax has not been defined yet. At most, respectively. metamodels can be inferred from the exploratory phase and give some suggestions to the designers. Therefore, metamodel A. FlexiMeta inference techniques can be complementary at the exploratory FlexiMeta34 is a modelling framework that promotes cre- phase to assist in the migration to the consolidation phase. ativity over a strict model conformance. It is intended to ad- Consolidation Phase: The consolidation phase is an dress the problem of co-conception of models and metamodels intermediary phase during which metamodels are built. It in an arbitrary order, i.e., without assuming one is created is intended to remain until the metamodels reach a stable before the other. To do so, it distinguishes several phases over state. During this phase, partial validation of models created time, corresponding to the different levels of definition of a during the exploratory phase is possible, but is unobtrusive, as metamodel with which a model can comply. For each phase, metamodels are not stable yet. Tolerant validation is intended a right balance between flexibility and validation is found in to warn designers about possible incoherence and digressions order to bridge the gap between creativity and strict model between the models and the metamodel. This phase is the conformance. The three phases are: most important one and could be considered as the meet-in- Exploratory Phase: The main focus during the ex- the-middle which aims at filling the gap between creativity and ploratory phase is to encourage creativity. It allows designers model conformance. During this phase, both models and meta- to shape models and notations as they like, without being models may evolve. This phase terminates when metamodels are stable and models conform to them. Model and metamodel 3 FlexiMeta is available at: https://github.com/nicolas-hili/FlexiMeta [7] co-evolution techniques can be used as a complement to help 4 An online demo is available at: http://fleximeta.net/demo-simpson designers align both models and metamodels. Finalisation Phase: The finalisation phase is the produc- the modelling life-cycle. In JSMF we define the flexibility at tion phase. It does not permit creativity any longer but instead, finer grain: ensures a full validation of the produced models. through a strict model conformance. Every model created during this Optional/mandatory attributes: By default in phase should comply with the constraint rules defined by the JSMF, attributes are optional but they can be set abstract syntax. as mandatory thanks to an option in the attribute The different phases of FlexiMeta are balancing flexibility definition. and validation (through model conformance) over time. While Attribute types: Types can be checked or not. The the nominal scenario is a top-down process (from exploration same applies to type-imposed constraints (e.g., a to finalisation), some situations, such as model and metamodel Number between 0 and 20). migration, may require to go backwards the process. References multiplicity: The multiplicity can be The architecture of FlexiMeta has been roughly inspired checked or not. Not checking the multiplicity means by the work promoting the use of dynamic programming setting 0..* to it. languages over strict type checking. It is written in JavaScript Reference targeted types: Targeted types can be and relies on JSON for model persistence. The choice of these loosely defined using JSMFAny alike in the EMF two languages with respect to some design considerations framework. However, we allow not to (completely) on flexibility and persistence. JavaScript is well suited as it check the type. There is a slight difference between provides dynamic typing constructs through the concept of using JSMFAny and not checking type. For the prototype, and JSON is schema-less which supports model latter, the declared type can be a hint for further persistence even if no user-defined metamodel has been yet conformance checking. defined. Reference opposite: The opposite relation can be FlexiMeta seeks the best trade-off between the two disci- checked or not (including the opposite multiplicity). plines. Therefore, JavaScript and the prototype concept are convenient to use in early phases of the development where 2) Specific functions: discovery and recovery: During the creativity is encouraged over type safety checking, while modelling life-cycle, one can go back and forth between during the phase of maturation and alignment of models / full flexibility and full conformance (see modelling contin- metamodels, increasing the typing ability of the language uum [29]: between free/natural modelling and strict modelling. (through code generation / generation of assertions) is vital Going to a more flexible model is quite easy relaxing the to increase the quality of the modelling framework. conformance checking (i.e., using the JSMF functions pre- sented before). Going to a less flexible model, to reach full B. JSMF conformance (see Fig. 1), it requires to reconcile metamodel The JavaScript Modelling Framework (JSMF)5 is a flexi- and model definitions. This reconciliation can be made in two ble framework for implementing web-based MDE. JSMF is ways. First, the metamodel is the right specification conse- made to support all the modelling continuum as defined in quently, the models have to be updated: recovery. Second, Natural Modelling [29]. Notably, it is able to support the the model is the right specification (e.g., it is an archetypal early stage of natural modelling using raw models (i.e., where example), then the metamodel has to be updated: discovery. there is no metamodel or no conformance checking) and it Obviously, this can occur on a (meta)model element or at a should permit to support structured/formal models as well global (meta)model level. (where conformance has to be enforced). Between these two situations, JSMF allows for defining which elements have to The recovery is implemented in JSMF using a refresh func- be checked regarding the conformance relations (e.g., entire tion which is applied to each model element regarding current model, attribute types, multiplicity, etc.). This is made possible metamodel elements. Recovery in JSMF could be a support for by the separation of models and metamodels life-cycle with the consolidation phase (e.g., correcting the attributes present an external conformance checking. in model which are not conform to). To go further, recovery 1) Flexibility: Like any other MDE frameworks, in JSMF, could encompass a (semantic) name proximity computation a model element has to conform to its metamodel by default. (such as in [30]) to keep the value during the recovery phase: Like in EMF, a model can be created from a metamodel lastName -> familyName. definition enforcing the model elements to conform to its The discovery is based on the notion of providing meta- source metamodel (full conformance of Fig. 1). Flexibility can model definition from (archetypal) examples. One can decide be set with a very coarse grain at the metamodel level. The that a model element is an archetypal representation of a class, entire metamodel can be flexible (i.e., there is no conformance thus updating the metamodel accordingly. Such approach checking) or only some specific classes can be set flexible could be used at the end of the consolidation phase: stabilizing. whilst for the other classes, the model elements should remain Currently, it works only with one metamodel element but in conform to them. he flexibilty definition can change all along a future version, it should be possible to reconcile different archetypal models used in the definition one metamodel ele- 5 JSMF is available at: https://js-mf.github.io/ [6] ment. TABLE I: Conformance Granularity (left), Time/Phase of Flexibility (right) Approach No Full flexible Partially flexible Full Exploration Consolidation Production conformance metamodel metamodel conformance Salay’s et Al. 2 GIMM 1 2 1 Muddle 3 3 3 Modelverse FlexiMeta JSMF no support partially supported feature full support 1: supported by GraphML 2: done by EMF 3: depends on the chosen implementation V. C OMPARATIVE E VALUATION U SING THE D IMENSIONS Compared to the above approaches and tools, FlexiMeta We made this preliminary tool selection from authors in the promotes creativity over a strict model conformance. It goes MDE community who addresses flexibility in tools. We have from no conformance where no metamodel has been defined, selected tools and approaches that mainly address the relax- to a full conformance during the finalisation phase. In between, ation of the conformance relation: GIMM [31], Muddle [22], a tolerant validation mechanism is used for assisting the user Agility in MDE [11], and Modelverse [32]. The comparison in the alignment of models/metamodels. While the nominal with our two reference implementations is presented in table I. scenario is a top-down process from exploration to production, The GIMM approach is a pragmatic way to ensure flexibil- some situations, such as model and metamodel migration, ity: it removes all the conformance issues by transforming a may require to go backwards in the process. However, it specific metamodel into a generic entity-relation metamodel to does not support the gradual definition of the metamodel. which any model element could conform to. As such, it does Metamodels are currently defined outside FlexiMeta using neither redefine the degree of conformance which has still to EMF and integrated with FlexiMeta via code generation using be strictly ensured, but it could be applied for free or strict Acceleo [7]. modelling. JSMF proposes a gradual definition of metamodels and The Muddle approach is considered here beyond its re- conformance check. Compared to the other approach, it allows lation to concrete syntax. As for the abstract syntax, Mud- for a finer tuning and controlling of flexibilty. It goes from dle allows for working with some uncertainty – i.e., explo- no conformance or even no pre-defined metamodel (i.e., using ration/consolidation modelling phases – with to some extent raw JavaScript objects) to a full conformance check (explicitly full or partial flexibility. Beyond the full flexibilty supported calling a checking function). As in many modelling situations, here by graphical tool, conformance is still present, in a form models are both partially well defined and partially require that make it possible to use Muddle as input for Epsilon’s some flexibility (e.g., a model is still under design). JSMF model to model transformations. Full conformance is achieved allows fine tuning of conformance checking (i.e., attribute, by targeting EMF models whilst no conformance is given by reference type, multiplicity, etc.). In addition JSMF covers the graphical representation in GraphML. some specific processes to control the flexibility: recovery and The Agile approach described in [11] focuses on the discovery as described in Section IV. omission of information provided in the models. Flexibility VI. C ONCLUSION manifests in the partially free concrete syntax the approach supports (see [11] for more examples). The conformance is This paper is an attempt to give a unified view of flex- then partially defined by the authors as a transformation for ibility in MDE. It focuses on the conformance flexibility relaxing/tightening the conformance relation. (related to the abstract syntax) in terms of two orthogonal and The approach of Modelverse is trying to get rid of complementary dimensions. These dimensions are intended to hardcoded conformance relations allowing language designers introduce a gradual definition of the conformance related to to program their own conformance checking. It allows the gradient of specificity of semantics, and aim at answering developer to provide a very strict conformance checking or the relevant questions about how (data-related) and when rather flexible one. However, it enforces to have a minimal (process-related) the conformance between a model and a kind of a conformance. Without neglecting the other linguistic metamodel has to be enforced. Thus, this view goes beyond dimensions such concrete syntax, semantics, it focuses on the the simple vision which consists in seeing the conformance abstract syntax: it proposes, such as in [10], to separate the relation either entirely relaxed or entirely enforced. We have typing relation from the instantiation one. used the two dimensions for comparing existing approaches and tools related to the relaxation of the conformance relation. It helped us to detect some shortages in existing work in terms [10] J. De Lara, E. Guerra, and J. S. Cuadrado, “A-posteriori typing for of flexibility. In the future, we hope that this view will be used model-driven engineering,” in Model Driven Engineering Languages and Systems (MODELS), 2015 ACM/IEEE 18th International Confer- as a guideline to assist researchers, tool users, and practitioners ence on. IEEE, 2015, pp. 156–165. in their search of the best flexible tool or framework that fits [11] R. Salay and M. Chechik, “Supporting agility in mde through modeling their needs. language relaxation.” in XM@ MoDELS, 2013, pp. 20–27. [12] T. Degueule, B. Combemale, A. Blouin, O. Barais, and J.-M. Jézéquel, While we believe that all aspects of DSMLs where flexi- “Safe model polymorphism for flexible modeling,” Computer Lan- bility is required have to be considered, yet it appeared to us guages, Systems & Structures, vol. 49, pp. 176–195, 2017. that flexibility in the abstract syntax via the relaxation of the [13] G. Wachsmuth, ECOOP 2007 – Object-Oriented Programming: 21st European Conference, Berlin, Germany, July 30 - August 3, 2007. conformance relation is the most challenging problem and un- Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg, 2007, dervalued compared to other aspects of modelling languages. ch. Metamodel Adaptation and Model Co-adaptation, pp. 600–624. Especially, advocating flexibility via the use of free-form [14] A. Cicchetti, D. D. Ruscio, R. Eramo, and A. Pierantonio, “Automating co-evolution in model-driven engineering,” in Enterprise Distributed graphical modelling environments, hybrid textual/graphical Object Computing Conference, 2008. EDOC ’08. 12th International notations, and collaborative tool support appears to be a hot IEEE, 2008, pp. 222–231. topic that has largely been covered in many flexible tools and [15] J. Schoenboeck, A. Kusel, J. Etzlstorfer, E. Kapsammer, W. Schwinger, M. Wimmer, and M. Wischenbart, “CARE – A Constraint-Based Ap- approaches. Thus, we have limited the scope of this paper to proach for Re-Establishing Conformance-Relationships,” in Asia-Pacific the abstract syntax only. Nevertheless, we plan to extend this Conference on Conceptual Modelling (APCCM 2014), ser. CRPIT, work to establish a unified view encompassing all the different G. Grossmann and M. Saeki, Eds., vol. 154. Auckland, New Zealand: ACS, 2014, pp. 19–28. aspects modelling languages comprise. [16] J. Sánchez-Cuadrado, J. Lara, and E. Guerra, Model Driven Engineer- ing Languages and Systems: 15th International Conference, MODELS ACKNOWLEDGMENT 2012, Innsbruck, Austria, September 30–October 5, 2012. Proceedings. The authors would like to thank Hans Vangheluwe, adjunct Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, ch. Bottom-Up Meta-Modelling: An Interactive Approach, pp. 3–19. professor in School of Computer Science at McGill University. [17] D. Steinberg, F. Budinsky, M. Paternostro, and E. Merks, EMF: Eclipse Han’s comments during the past edition of FlexMDE’16 raised Modeling Framework, 2nd ed. Addison-Wesley, 2008. an interesting discussion that led to the identification of the [18] “JSMF: JavaScript Modeling Framework Github Page,” https://github. com/dslmeinte/jsmf, accessed: 2017-04-29. dimensions presented in this paper. In addition, the authors [19] “Ecore (EMOF) implementation in JavaScript Github Page,” https: would like to thank the reviewers of this paper for their //github.com/emfjson/ecore.js, accessed: 2017-04-29. insightful comments and suggestions. [20] B. Costa, P. F. Pires, F. C. Delicato, and F. Oquendo, “Towards a view-based process for designing and documenting restful service architectures,” in Proceedings of the 2015 European Conference on R EFERENCES Software Architecture Workshops. ACM, 2015, p. 50. [1] J. Sánchez-Cuadrado, J. De Lara, and E. Guerra, “Bottom-up meta- [21] H. Ed-Douibi, J. L. C. Izquierdo, A. Gómez, M. Tisi, and J. Cabot, modelling: An interactive approach,” in International Conference on “Emf-rest: Generation of restful apis from models,” arXiv preprint Model Driven Engineering Languages and Systems. Springer, 2012, arXiv:1504.03498, 2015. pp. 3–19. [22] D. S. Kolovos, N. D. Matragkas, H. H. Rodríguez, and R. F. Paige, [2] N. Mangano and A. van der Hoek, “A Tool for Distributed Software “Programmatic muddle management.” in XM@ MoDELS, 2013, pp. 2– Design Collaboration,” in Proceedings of the ACM 2012 conference on 10. Computer Supported Cooperative Work Companion. ACM, 2012, pp. [23] “Epsilon Family of Language,” https://www.eclipse.org/epsilon/, ac- 45–46. cessed: 2017-04-29. [3] D. Wüest, N. Seyff, and M. Glinz, “FLEXISKETCH TEAM: Collabo- [24] “Moddle Github Page,” https://github.com/bpmn-io/moddle, accessed: rative Sketching and Notation Creation on the Fly,” in Software Engi- 2017-04-29. neering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference [25] “Web-based tooling for BPMN, DMN and CMMN,” http://bpmn.io/, on, vol. 2. IEEE, 2015, pp. 685–688. accessed: 2017-04-29. [4] R. Jolak, B. Vesin, M. Isaksson, and M. R. Chaudron, “Towards a New [26] M. Gerhart, J. Bayer, J. M. Höfner, and M. Boger, “Approach to define Generation of Software Design Environments: Supporting the Use of highly scalable metamodels based on json,” BigMDE 2015, p. 11, 2015. Informal and Formal Notations with OctoUML,” in Second International [27] D. Harel and B. Rumpe, “Meaningful modeling: what’s the semantics Workshop on Human Factors in Modeling (HuFaMo 2016). CEUR-WS, of" semantics"?” Computer, vol. 37, no. 10, pp. 64–72, 2004. 2016, pp. 3–10. [28] N. Guarino, D. Oberle, and S. Staab, “What is an ontology?” in [5] F. R. Golra, A. Beugnard, F. Dagnat, S. Guerin, and C. Guychard, Handbook on ontologies. Springer, 2009, pp. 1–17. “Using Free Modeling as an Agile Method for Developing Domain [29] Z. Zarwin, M. Bjekovic, J.-M. Favre, J.-S. Sottet, and H. A. Proper, Specific Modeling Languages,” in Proceedings of the ACM/IEEE 19th “Natural modelling.” Journal of Object Technology, vol. 13, no. 3, pp. International Conference on Model Driven Engineering Languages and 4–1, 2014. Systems. ACM, 2016, pp. 24–34. [30] K. Garcés, F. Jouault, P. Cointe, and J. Bézivin, “Managing model [6] J.-S. Sottet and N. Biri, “JSMF: a Javascript Flexible Modelling Frame- adaptation by precise detection of metamodel changes,” in European work,” in Proceedings of the 2nd Workshop on Flexible Model Driven Conference on Model Driven Architecture-Foundations and Applica- Engineering, vol. 1694. CEUR Workshops Modeling, 2016, pp. 42–51. tions. Springer, 2009, pp. 34–49. [7] N. Hili, “A Metamodeling Framework for Promoting Flexibility and [31] P. Gomez, M. E. Sánchez, H. Florez, and J. Villalobos, “An approach Creativity Over Strict Model Conformance,” in Proceedings of the 2nd to the co-creation of models and metamodels in enterprise architecture Workshop on Flexible Model Driven Engineering, vol. 1694. CEUR projects.” Journal of Object Technology, vol. 13, no. 3, pp. 2–1, 2014. Workshops Modeling, 2016, pp. 2–11. [32] Y. Van Tendeloo and H. Vangheluwe, “Explicit type/instance relations,” [8] J. Bézivin, “On the unification power of models,” Software & Systems McGill University, Tech. Rep., 2016. Modeling, vol. 4, no. 2, pp. 171–188, 2005. [9] P. Gómez, M. Sánchez, H. Florez, and J. Villalobos, “Co-creation of models and metamodels for enterprise architecture projects,” in Proceedings of the 2012 Extreme Modeling Workshop. ACM, 2012, pp. 21–26.