<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Explicitly Modelling the Type/Instance Relation</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Yentl</forename><surname>Van Tendeloo</surname></persName>
							<email>yentl.vantendeloo@uantwerpen.be</email>
						</author>
						<author>
							<persName><forename type="first">Hans</forename><surname>Vangheluwe</surname></persName>
							<email>hans.vangheluwe@uantwerpen.be</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">University of Antwerp</orgName>
								<address>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">University of Antwerp</orgName>
								<address>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="department">Flanders Make vzw</orgName>
								<orgName type="institution">McGill University</orgName>
								<address>
									<country>Belgium, Canada</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Explicitly Modelling the Type/Instance Relation</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">DCA054A1E8C0FA9B99ED385FF159377A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:15+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The various meta-modelling tools in existence today all have differences in their conformance relations, either intentional or accidental. This results in incompatibilities between tools, where a model cannot simply be exchanged as-is: the meta-meta-model and semantics likely differ. Current tools are inflexible in this regard, making their models grafted on the tool implementation. In this paper, we distinguish between syntactical and semantical differences between tools, both resulting in nonexchangable models. We propose to explicitly model the metameta-model (addressing syntactical differences) and its semantics (addressing semantical differences). This allows meta-metamodels and semantics to be added and manipulated at runtime, making our approach flexible for new tools as well. Models and languages from different tools can then be meaningfully stored in a single tool, retaining syntax and semantics. We provide a prototype implementation: the Modelverse.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>A plethora of meta-modelling tools currently exist, many with their own meta-circular level and associated conformance semantics. Due to these intentional or accidental differences, inconsistencies between tools arise: all models, including languages, become grafted on the tool's implementation. With the growing importance of tool interoperability, for example in collaboration and model repositories, this might turn into a problem: while the model can be exchanged, the inherent tool semantics cannot.</p><p>These limitations are caused by variations between tools, in which we distinguish two types: syntactical and semantical. Syntactical variations result in non-exchangable models, and semantical variations cause unexpected behaviour with successfully exchanged models. A simple example is multiple inheritance. Syntactically, some tools do not support this, making them unable to receive models from tools which do support multiple inheritance. Semantically, some tools handle the resolution order of multiple inheritance differently, thereby altering the set of allowed instances.</p><p>In this paper, we address this problem by explicitly modelling the syntax and semantics, usually built into the tool. Apart from documentation, new syntax and semantics can be loaded on-demand, without altering the tool itself. As such, a single tool is able to store and operate semantically meaningful models of different tools, given that explicit models are present. Models now become grafted on another model, which can just as well be exchanged, instead of being grafted on the tool implementation. Additionally, the created models can be used as documentation of the syntax and semantics of the tool.</p><p>The remainder of this paper is organized as follows. Section II specifies the two types of variations and provides examples. Section III presents our explicitly modelled approach. Section IV describes our implementation. Section V presents related work. Section VI concludes the paper and presents future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. TYPES OF VARIATION</head><p>Semantically meaningful model exchange is hindered by tool incompatibilities. Even similar tools, by the same authors, are often incompatible: AToMPM <ref type="bibr" target="#b0">[1]</ref> and AToM 3 <ref type="bibr" target="#b1">[2]</ref>; We-bGME <ref type="bibr" target="#b2">[3]</ref> and GME <ref type="bibr" target="#b3">[4]</ref>; DPF <ref type="bibr" target="#b4">[5]</ref> and WebDPF <ref type="bibr" target="#b5">[6]</ref>. Even different versions of the same tool can be incompatible, either intentionally <ref type="bibr" target="#b6">[7]</ref>, or accidentally due to minor implementation changes or bugs.</p><p>To concretize the problem, we focus on two tools throughout the remainder of the paper: AToMPM <ref type="bibr" target="#b0">[1]</ref> and Metadepth <ref type="bibr" target="#b7">[8]</ref>. For both tools, we describe some (hardcoded) differences to illustrate the problem. We present minimal example languages and models for both syntactical and semantical differences.</p><p>We consider two types of variations: syntactical and semantical variations.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Syntactical Variations</head><p>First are syntactical variations, caused by a different abstract syntax of the meta-language. Such changes can automatically be detected, as a model would rely on unknown constructs. We show two examples: one with a feature of AToMPM that Metadepth does not support, and one that is the other way around.</p><p>The first example language, in Figure <ref type="figure">1a</ref>, uses a specific kind of association: the containment relation, as supported by AToMPM. It resembles an ordinary association, but indicates that the source element is a container for the target element. Its primary use is for visual representation, though it is also used as implicit constraint: containment cycles are not allowed. Instances of class A can contain instances of the class B, and the other way around. Figure <ref type="figure">1b</ref> shows an example instance of this language, where a contains b, but also the other way around. Conceptually, this does not make any sense. With a containment relation, this is automatically flagged as an error and the model does not conform. In Metadepth, which does not support a containment relation, this same language cannot be loaded; the association type "containment" is unknown. As such, the model cannot be exchanged either, as it depends on Fig. <ref type="figure">1</ref>: First example language: use of containment links.</p><p>A [2]   (a) Metadepth meta-model.</p><formula xml:id="formula_0">a1:A (b) Invalid instance.</formula><p>A $allInstances("A").size() == 2$ (c) AToMPM meta-model.</p><p>Fig. <ref type="figure">2</ref>: Second example language: use of node multiplicities. the language. It is possible to mimic the containment relation in Metadepth by defining the containment relation as a normal association, which has an additional constraint that does not allow loops. A semantically equivalent meta-model is shown in Figure <ref type="figure">1c</ref>.</p><p>The second example language, in Figure <ref type="figure">2a</ref>, uses multiplicities on a class, as supported by Metadepth. The lower and upper cardinality is defined as an integer attribute on the class. Its primary use is to restrict the number of instances of this specific type: the number of instances must be within this range. The class A requires that there are exactly two instances of A in every model conforming to it. Figure <ref type="figure">2b</ref> shows an example instance, where only one instance of A is present. With the class multiplicities, this is automatically flagged as an error and the model does not conform. In AToMPM, which does not support class multiplicities, this same language cannot be loaded: the attribute "multiplicity" is unknown. It is possible to mimic multiplicities in AToMPM by defining a global constraint, which checks the number of instances of A. A semantically equivalent meta-model is shown in Figure <ref type="figure">2c</ref>.</p><p>In both example languages, the tools are equivalent in their expressiveness (i.e., they can be used to express the same language), but the language must be represented differently. As such, languages, and therefore models, cannot be easily exchanged without a conversion at the abstract syntax level.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Semantical Variations</head><p>Second are semantical variations, caused by a difference in the implementation of the conformance check, which provides the semantics for the abstract syntax of the metalanguage. Clearly, just calling an association "containment" or an attribute "multiplicity" does not automatically give it the correct semantics: it needs to be defined somewhere. Semantic differences are indetectable when models are exchanged, as they structurally conform.</p><p>Note that we consider the semantics of the meta-modelling language (i.e., what does a given meta-model mean), and not the semantics of the modelling language (i.e., what does a given model mean). The former is mostly hardcoded in the tool, whereas the latter is domain-specific and implemented using, for example, model transformations. The third and final example language, in Figure <ref type="figure" target="#fig_10">3a</ref>, uses multiple inheritance, as supported by both AToMPM and Metadepth. An example of such a language is shown in Figure <ref type="figure" target="#fig_10">3a</ref>, where the class C inherits from both A and B. Both A and B define the same attribute but with different types. It is unclear which of the two is selected for C, which inherits from both. The semantics attached to multiple inheritance, responsible for the choice, is hardcoded in both tools and left undocumented. Only experimentation is therefore possible to figure out what it means, resulting in Figure <ref type="figure" target="#fig_10">3b</ref> for AToMPM and Figure <ref type="figure" target="#fig_10">3c</ref> for Metadepth. As the set of conforming instances differs, for the same language, both tools attach different semantics to the language. AToMPM seems to resolve the earliest created inheritance link, whereas Metadepth seems to lexicographically sort the class names and picks the first match.</p><p>While the example difference here is likely intentional, many other differences exist that are likely accidental (e.g., bugs or ommissions). For example, AToMPM does not check the type of attributes, and Metadepth cannot connect edges when inheritance is involved, nor can it have attributes with specific keyworded names (e.g., "id"). Notwithstanding the source of the difference, the semantic differences make model exchange meaningless. And when the tool semantics is altered (e.g., an intentional change, a bugfix, or a newly introduced bug), it is possible that a previously conforming model suddenly becomes invalid, or that a previously invalid model suddenly becomes valid.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Problem Scope</head><p>The previously introduced problems are often irrelevant for users of a single tool. As such, we do not propose to alter existing (meta-)modelling tools, though it might be useful to have sufficient documentation. The true problem lies elsewhere, with tools that explicitly have to communicate with many different tools: model repositories.  The primary purpose of model repositories is model storage and exchange. It makes sense that they want to maximize the set of supported tools, thereby maximizing the available models. Model repositories, however, have to understand the models they are managing, as otherwise they would be reduced to a mere file server. When working with models from different tools, and possibly exchanging them between these tools, it becomes important to take these syntactical and semantical variations into account.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. EXPLICIT TYPE/INSTANCE RELATIONS</head><p>Varying abstract syntax and semantics at the meta-language level were identified as the root of the problem. Current tools acknowledge that an explicit meta-model is required to create a flexible modelling tool, in which the language can be altered. They do not, however, take this one level up the meta-modelling hierarchy: the language used to create new languages, the meta-language, is hardcoded in the tool. Being hardcoded, the problem becomes even worse: they are not flexible either, as the hardcoded aspects cannot be altered in any way. For this reason, we propose to explicitly model both the meta-language's abstract syntax and semantics, and make this fully flexible at runtime. Some aspects of current tools are already modelled explicitly. We distinguish three layers, as commonly agreed upon: M1 (model level), M2 (language level, or meta-model), and M3 (meta-language level, or meta-meta-model). For Metadepth, both M1 (M AS 1 ) and M2 (M AS 2 , M SEM</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>2</head><p>) are explicitly modelled. In AToMPM, the syntax of M3 (M AS</p><p>3 ) is additionally explicitly modelled. Both tools hardcode the semantics of M3</p><formula xml:id="formula_1">(M SEM 3</formula><p>). It is this aspect of the tool that we will also model explicitly in our approach.</p><p>As both M AS 3 and M SEM 3 are explicitly modelled in our approach, it becomes possible to (1) alter them at runtime (e.g., optimizations, refactorings); (2) create and use new ones at runtime (e.g., support a new tool, bugfixes); and (3) have multiple of them simultaneously (e.g., models from different tools loaded in a single tool).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Meta-meta-model (M AS</head><p>3 ) The meta-meta-model M AS 3 defines the concepts that can be used when defining a new language, or meta-model. It has two primary purposes. First, it can serve as documentation for language engineers: what is the name of attributes, what constraints can be added, whether multiple inheritance is supported, and so on. Second, it is required for several operations that need an explicit meta-model. For example RAMification <ref type="bibr" target="#b8">[9]</ref>, used to create a new language to express model transformation rules by Relaxing, Augmenting, and Modifying the existing language. Differences in M AS 3 lead to syntactical differences between tools, which can be automatically detected by comparing two M AS 3 models. The M AS 3 of AToMPM is shown in Figure <ref type="figure" target="#fig_4">4</ref>, modelled explicitly using Entity-Relation Diagrams. It shows the various attributes that can be set on a class, such as "attributes" to define new attributes, and "name". Perhaps surprisingly, attributes have no dedicated entity, in contrast to other approaches, such as EMF.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Meta-Language Semantics (M SEM</head><p>3 )</p><p>The meta-language semantics M SEM 3 defines the semantics of concepts defined in M AS 3 . It takes a model and its metamodel as input, and determines whether the model conforms to the meta-model. Its primary purpose is in determining whether a model is valid with respect to a given language specification (i.e., check conformance). Differences in M SEM 3 lead to semantical differences between the tools, which are difficult to detect automatically. Indeed, we would need to verify if two models for M SEM 3 behave exactly the same in every possible context.</p><p>Due to space restrictions, we only show a snippet of the conformance algorithm of Metadepth, pertaining to the multiplicity checks of classes in Algorithm 1. This pseudo-code can be modelled in an explicitly modelled action language. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. IMPLEMENTATION</head><p>As a proof of concept, we implemented this approach in our prototype tool: the Modelverse<ref type="foot" target="#foot_0">1</ref>  <ref type="bibr" target="#b9">[10]</ref>, <ref type="bibr" target="#b10">[11]</ref>. We describe the basics of the Modelverse, and present our implementation of this approach in our prototype tool. We show that our approach can indeed handle different types of M AS 3 and M SEM 3 in the same tool, making it compatible with multiple tools. We do not consider technical challenges, such as how to export a model and load it again in our tool.</p><p>The Modelverse, in essence, consists of an explicitly modelled action language interpreter, combined with an action language implementation of all meta-modelling behaviour. As such, not only the conformance aspects are modelled explicitly, but all other aspects as well, such as model instantiation, model transformation, and model management in general. The action language semantics has been explicitly modelled as well <ref type="bibr" target="#b11">[12]</ref>. When defining a new conformance relation, this is therefore a model in the Modelverse and an extension to the Modelverse at the same time.</p><p>The interrelations between all models, such as conformance relations, are also modelled explicitly. For each conformance relation, the link is specified by the source model (instance), target model (meta-model), and conformance semantics. As such, a model can conform to the same meta-model through multiple conformance semantics, or to different meta-models using the same conformance semantics, or to different metamodels using different conformance semantics.</p><p>Using this explicitly modelled approach, the Modelverse is able to offer the same results for the conformance checks as either AToMPM or Metadepth, or any other tool, for that matter. An overview of how these explicitly modelled interrelations are stored, is shown in Figure <ref type="figure" target="#fig_6">5</ref>, which itself represents a model in the Modelverse. While L1 and L2 can only be created in AToMPM and Metadepth, respectively, L3 is a valid language in both. Nonetheless, both tools attach a different semantics to L3, as seen in the two different instances: M3 and M4. Both conformance semantics are also explicitly modelled, as shown at the right. These are again typed by something, in this case using a conformance relation defined specifically for the Modelverse, though also explicitly modelled. This could just as well have been any other previously defined semantics.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. RELATED WORK</head><p>The conformance relation plays a crucial role in Model Driven Development (MDE) <ref type="bibr" target="#b12">[13]</ref>, <ref type="bibr" target="#b13">[14]</ref>. But while it has often been studied, it has remained hardcoded in various tools. Research up to now has mostly focussed on defining different levels of conformance <ref type="bibr" target="#b14">[15]</ref> and new types of conformance, such as relaxed <ref type="bibr" target="#b15">[16]</ref> or partial <ref type="bibr" target="#b16">[17]</ref>. Nonetheless, they are hardcoded and partially inflexible as well: tools cannot be extended with additional conformance relations, nor can existing conformance relations be inspected or manipulated.</p><p>Updates to the hardcoded syntax and semantics, such as UML, have resulted in (often unnecessary) breakage of conformance <ref type="bibr" target="#b6">[7]</ref>. As such, old models cannot be loaded in newer versions of the same tool, if tools update their implementation of the UML. But whereas a model might still load in a newer version of the UML, nothing guarantees that the same semantics are used in its evaluation.</p><p>In the multi-level modelling community, many aspects of conformance are still being investigated, specifically for newly introduced physical attributes. For example, the "potency" attribute has various meanings, though in all tools it is typed as a natural number <ref type="bibr" target="#b17">[18]</ref>. All identified semantics were implemented side by side in Metadepth, and users could toggle between them on a case-by-case basis. While this certainly gives great freedom, it creates yet another specification of the semantics: a union of existing ones. Future definitions might yet again require changes to this specification, potentially breaking conformance.</p><p>When models are exchanged, the first thoughts are of the technological problems: how to transfer the data from one tool to another. Various serialization formats were conceived for this problem, such as XMI and JSON. Nonetheless, they limit themselves to transfering data only, not the actual model. Essentially, M AS 2 is exchanged, but M AS This brings us to model repositories, which, using this approach, often resort to semantically meaningless model exchange. For example, ReMoDD <ref type="bibr" target="#b18">[19]</ref>, being as general as possible, sacrifices model semantics: uploaded models have only marginally more semantics than arbitrary files. Advanced operations, which rely on the semantics of these models, are not supported. Another solution, as taken by MDEForge <ref type="bibr" target="#b19">[20]</ref>,   This allows them to actually use the models, for example for model transformations <ref type="bibr" target="#b20">[21]</ref>, though they do so by limiting the set of supported tools.</p><formula xml:id="formula_2">MMM AToMPM MMM MetaDepth L1 L2 L3 M1 M2 M3 M4 SEM AToMPM SEM MetaDepth</formula><note type="other">MMM Modelverse Action Language SEM Modelverse</note><p>A posteriori typing <ref type="bibr" target="#b21">[22]</ref> has been proposed as a way to have multiple types for a single model. But whereas our approach does not consider any conformance relation as special, a posteriori typing starts from a special relation: the constructive type. The constructive type is the type used to instantiate the model, and cannot be changed. All other types, discovered onthe-fly, are completely flexible. Even though multiple metamodels can be found for a single model, all conformance relations must use the same M AS  , though this provides sufficient knowledge to reuse operations between different meta-models. Concepts <ref type="bibr" target="#b22">[23]</ref> serve a similar purpose, but also with similar restrictions: there is only freedom at M AS 2 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. CONCLUSIONS AND FUTURE WORK</head><p>We have presented the problem of combining multiple (meta-)modelling tools, each with their own meta-meta-model syntax and semantics. This problem is particularly relevant in the context of model repositories, where the collaboration between multiple tools is the primary requirement.</p><p>We proposed to explicitly model all aspects of the conformance relation: its abstract syntax and semantics. Using our approach, we have shown that we can achieve full flexibility. A single tool was able to store, in a semantically meaningful way, models with the same semantics as other tools. Furthermore, a single model can conform using multiple such semantics, potentially to different abstract syntax definitions as well.</p><p>A prototype implementation of this approach was presented in the Modelverse, our explicitly modelled meta-modelling environment. The Modelverse was able to handle multiple models, meta-models, and also meta-meta-models, all with their own associated semantics. At runtime, new conformance semantics models could be uploaded, and existing ones could be modified.</p><p>In future work, we plan to investigate the influence of the conformance relation on other modelling operations as well, such as the allInstances operation. Also, we intend to create a variability model of all differences encountered in various M AS 3 and M SEM 3 implementations, of which each tool implementation is (theoretically) a specific configuration. Finally, this approach is ideally suited for semantically meaningfull model exchange between two existing tools: the unifying tool, using our approach, would be able to perform the translation automatically.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>(c) Metadepth instances.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 :</head><label>3</label><figDesc>Fig.3: Third example language: use of multiple inheritance.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Algorithm 1 M SEM 3 snippet</head><label>3</label><figDesc>for the cardinality check. for all class ∈ allInstances(M3, Class) do assert allInstances(M2, class) ≥ class.lower cardinality assert allInstances(M2, class) ≤ class.upper cardinality end for</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 4 :</head><label>4</label><figDesc>Fig. 4: AToMPM's M AS 3 , taken directly from AToMPM itself.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>3 and M SEM 3 3 and M SEM 3 .</head><label>333</label><figDesc>are not. As such, models can be exchanged, assuming that both tools implement the same M AS Should they differ, the exchanged data becomes semantically meaningless.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 5 :</head><label>5</label><figDesc>Fig. 5: Overview of languages, models, and relations in the Modelverse.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>3</head><label>3</label><figDesc></figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>.</head><label></label><figDesc></figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>3 and M SEM 3 .</head><label>3</label><figDesc>As such, only M AS 2 can change, and not M AS 3 nor M SEM</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>3</head><label>3</label><figDesc></figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://msdl.uantwerpen.be/git/yentl/modelverse.git</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>ACKNOWLEDGMENTS</head><p>This work was partly funded by a PhD fellowships from the Research Foundation -Flanders (FWO). This research was partially supported by Flanders Make vzw, the strategic research centre for the manufacturing industry.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">AToMPM: A web-based modeling environment</title>
		<author>
			<persName><forename type="first">E</forename><surname>Syriani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Vangheluwe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Mannadiar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Hansen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Van Mierlo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Ergin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Joint Proceedings of MODELS&apos;13 Invited Talks, Demonstration Session, Poster Session, and ACM Student Research Competition</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="21" to="25" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">AToM3: A tool for multi-formalism and meta-modelling</title>
		<author>
			<persName><forename type="first">J</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Vangheluwe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Fundamental Approaches to Software Engineering</title>
				<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="174" to="188" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Next generation (meta)modeling: web-and cloud-based collaborative tool infrastructure</title>
		<author>
			<persName><forename type="first">M</forename><surname>Maróti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Kecskés</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kereskényi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Broll</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Völgyesi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Jurácz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Levendovszky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lédeczi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshop on Multi-Paradigm Modeling (MPM)</title>
				<meeting>the Workshop on Multi-Paradigm Modeling (MPM)</meeting>
		<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="41" to="60" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The Generic Modeling Environment</title>
		<author>
			<persName><forename type="first">A</forename><surname>Ledeczi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maroti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bakay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Karsai</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of International Symposium on Intelligent Signal Processing (WISP)</title>
				<meeting>International Symposium on Intelligent Signal Processing (WISP)</meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">DPF Workbench: A diagrammatic multi-layer domain specific (meta-) modelling environment</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Lamo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Mantz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Maccaull</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rutle</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer and Information Science, Studies in Computational Intelligence</title>
		<imprint>
			<biblScope unit="volume">429</biblScope>
			<biblScope unit="page" from="37" to="52" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">WebDPF: A web-based metamodelling and model transformation environment</title>
		<author>
			<persName><forename type="first">F</forename><surname>Rabbi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Lamo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">C</forename><surname>Yu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">M</forename><surname>Kristensen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development</title>
				<meeting>the 4th International Conference on Model-Driven Engineering and Software Development</meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="87" to="98" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Safe model polymorphism for flexible modeling</title>
		<author>
			<persName><forename type="first">T</forename><surname>Degueule</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Combemale</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Blouin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Barais</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-M</forename><surname>Jézéquel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Languages, Systems &amp; Structures</title>
		<imprint>
			<biblScope unit="volume">49</biblScope>
			<biblScope unit="page" from="176" to="195" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Deep meta-modelling with MetaDepth</title>
		<author>
			<persName><forename type="first">J</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the TOOLS EUROPE Conference</title>
				<meeting>the TOOLS EUROPE Conference</meeting>
		<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="1" to="20" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Explicit transformation modeling</title>
		<author>
			<persName><forename type="first">T</forename><surname>Kühne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Mezei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Syriani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Vangheluwe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Wimmer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</title>
				<meeting>the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="240" to="255" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Foundations of a multi-paradigm modelling tool</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Van Tendeloo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM Student Research Competition at MODELS 2015 co-located with the ACM/IEEE 18th International Conference MODELS 2015</title>
				<meeting>the ACM Student Research Competition at MODELS 2015 co-located with the ACM/IEEE 18th International Conference MODELS 2015</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="52" to="57" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">The Modelverse: A tool for multi-paradigm modelling and simulation</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Van Tendeloo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Vangheluwe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Winter Simulation Conference</title>
				<meeting>the Winter Simulation Conference</meeting>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note>accepted</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Modelverse specification</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Van Tendeloo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Barroca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Van Mierlo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Vangheluwe</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
		<respStmt>
			<orgName>University of Antwerp, Tech. Rep</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">An algebraic instantiation technique illustrated by multilevel design patterns</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Theisz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Mezei</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2nd International Workshop on Multi-Level Modelling</title>
				<meeting>the 2nd International Workshop on Multi-Level Modelling</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="53" to="62" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Concepts for comparing modeling tool architectures</title>
		<author>
			<persName><forename type="first">C</forename><surname>Atkinson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Kühne</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</title>
				<meeting>the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="398" to="413" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<author>
			<persName><forename type="first">B</forename><surname>Kennel</surname></persName>
		</author>
		<title level="m">A unified framework for multi-level modeling</title>
				<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
		<respStmt>
			<orgName>University of Mannheim</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Ph.D. dissertation</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Supporting agility in MDE through modeling language relaxation</title>
		<author>
			<persName><forename type="first">R</forename><surname>Salay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshop on Extreme Modeling</title>
				<meeting>the Workshop on Extreme Modeling</meeting>
		<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="21" to="30" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">JSMF: a Javascript flexible modelling framework</title>
		<author>
			<persName><forename type="first">J.-S</forename><surname>Sottet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Biri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2nd Workshop on Flexible Model Driven Engineering</title>
				<meeting>the 2nd Workshop on Flexible Model Driven Engineering</meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="42" to="51" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">A formalisation of deep metamodelling</title>
		<author>
			<persName><forename type="first">A</forename><surname>Rossini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rutle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Wolter</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Formal Aspects of Computing (Springer)</title>
		<imprint>
			<biblScope unit="volume">26</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="1115" to="1152" />
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Repository for model driven development</title>
		<author>
			<persName><forename type="first">R</forename><surname>France</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Biemand</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">H C</forename><surname>Cheng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</title>
				<meeting>the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="311" to="317" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">MDEForge: an extensible web-based modeling platform</title>
		<author>
			<persName><forename type="first">F</forename><surname>Basciani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Di Rocco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Di Ruscio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Di Salle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Iovino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pierantonio</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshop on Model-Driven Engineering on and for the Cloud (CloudMDE)</title>
				<meeting>the Workshop on Model-Driven Engineering on and for the Cloud (CloudMDE)</meeting>
		<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="66" to="75" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Using ATL transformation services in the MDEForge collaborative modeling platform</title>
		<author>
			<persName><forename type="first">J</forename><surname>Di Rucco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Di Ruscio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pierantoini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sánchez Cuadrado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Model Transformation (ICMT)</title>
				<meeting>the International Conference on Model Transformation (ICMT)</meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">A-posteriori typing for model-driven engineering</title>
		<author>
			<persName><forename type="first">J</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Sánchez</forename><surname>Cuadrado</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</title>
				<meeting>the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="156" to="165" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Generic meta-modelling with concepts, templates and mixin layers</title>
		<author>
			<persName><forename type="first">J</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</title>
				<meeting>the International Conference on Model Driven Engineering Languages and Systems (MoDELS)</meeting>
		<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="16" to="30" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
