<?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">A Multi-level Approach for Model-Based User Interface Development</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Björn</forename><surname>Benner</surname></persName>
							<email>bjoern.benner@uni-due.de</email>
							<affiliation key="aff0">
								<orgName type="department">Information Systems and Enterprise Modeling</orgName>
								<orgName type="institution">University of Duisburg-Essen</orgName>
								<address>
									<settlement>Essen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">A Multi-level Approach for Model-Based User Interface Development</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">BB0C8BE7103CFB7E244BF11F2A52B90A</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>
			<textClass>
				<keywords>
					<term>Multi-level Modeling</term>
					<term>MBUID</term>
					<term>FMML x</term>
					<term>XModeler</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Multi-level modeling is considered to provide advancements over the traditional modeling approaches. It is applicable, among others, to scenarios where more than two classification levels are required and a rigid dichotomy between classes and objects needs to be relaxed. As the Model-Based User Interface Development (MBUID) inherently encompasses more than two classification levels, there are challenges which cannot be accounted for with the traditional approaches (e.g., the propagation of changes or the extensibility of modeling languages). Therefore, it seems promising to apply multi-level modeling for overcoming these challenges. In this paper, we show the applicability of the multi-level modeling language FMML x and the language execution engine XModeler for the MBUID-field. As a proof of concept, a corresponding prototype based on FMML x and XModeler is presented which illustrates the benefits of multi-level modeling.</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>Multi-level modeling aims at providing benefits over traditional conceptual modeling, e.g., by supporting an arbitrary number of classification levels, increased capabilities of reuse and increased capabilities of integration <ref type="bibr" target="#b0">[1]</ref>. Recently, the interest in multi-level modeling has increased <ref type="bibr" target="#b0">[1]</ref>- <ref type="bibr" target="#b3">[4]</ref> and various multi-level modeling approaches have been successfully applied in different areas, e.g., the management of ITinfrastructure <ref type="bibr" target="#b4">[5]</ref> or the process improvement in the automotive domain <ref type="bibr" target="#b5">[6]</ref>.</p><p>Taking into account, on the one hand, characteristics of traditional conceptual modeling, on the other hand, unfulfilled requirements (e.g., the propagation of changes or the extensibility of modeling languages), an additional area which seems to be promising as a further field for the application of multi-level modeling is the Model-Based User Interface Development (MBUID) <ref type="bibr" target="#b6">[7]</ref>, <ref type="bibr" target="#b7">[8]</ref>. MBUID utilizes different types of models (e.g., abstract user interface, concrete user interface or final user interface) for the development of user interfaces (UIs) and aims at reducing the amount of time consumed by the manual UI creation: about 48% of the source code and about 50% of the implementation time is spent on the UI development <ref type="bibr" target="#b8">[9]</ref>.</p><p>MBUID utilizes models on different levels of abstraction for developing the UI, thus, it would benefit from an arbitrary number of classification levels. As those models are interdependent, changes in one model have to be synchronized into the dependent models. Therefore, the capabilities for integration can support the mutual synchronization of models, thus, support the overall integrity. Furthermore, MBUID would benefit from the increased capabilities of reuse, as it is not desirable to create each UI from scratch.</p><p>Therefore, our goal is to investigate the applicability of the multi-level paradigm for the model-based development of UIs. To the best of our knowledge, only one approach exists that applied multi-level modeling for model-based development of UIs <ref type="bibr" target="#b9">[10]</ref>. However, this approach targets the development of concrete syntaxes and is limited by a predefined set of visualization types. Therefore, this approach investigates only a small subset of the MBUID area. In contrast, we do not only focus on the design of UIs, but consider also the other aspects of the UI's entire lifecycle, i.e., its execution, its modification as well as its adaption. Therefore, we investigated not only the applicability of multi-level modeling but also the applicability of multi-level programming for MBUID approaches. Henceforth, the combination of multi-level modeling with multilevel programming is understood as the multi-level paradigm. Accordingly, the traditional paradigm is understood as the traditional conceptual modeling in combination with prevalent programming languages.</p><p>In order to accomplish the above-mentioned goal, the remaining of the paper is structured as follows: First, generic requirements towards the model-based development of UIs are identified (Section II). Afterwards, the approaches based on the traditional paradigm are evaluated against those requirements (Section III). Following, a multi-level approach is selected and the suitability of it for satisfying these requirements is discussed (Section IV). Afterwards, a corresponding prototype is developed (Section V) and a evaluation takes place (Section VI). Finally, conclusions and an outlook on future work are given (Section VII).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. REQUIREMENTS TOWARDS MBUID APPROACHES</head><p>Requirements towards MBUID approaches can be categorized into core and additional requirements. Core requirements focus on the core functionalities of any MBUID approach, e.g., the possibility to design models for the UI creation. As all MBUID approaches deliver those, following, we focus on the additional requirements, which target advanced features enabling effective and efficient design of UIs. Following, the most relevant additional requirements, taking into account the goal of this paper, are presented.</p><p>R1 Foster Productivity: Considering all of the aspects that should be accounted for while building a UI model (e.g., widgets, colors or arrangement), building models is considered difficult <ref type="bibr" target="#b10">[11]</ref>. Especially if the modeling language only provides primitive (generic) modeling concepts, the creation of such rich models is a cumbersome endeavor as everything has to be recreated from stratch. Therefore, in order to support productivity of modeling, a modeling language should provide semantically rich concepts which account for specific characteristics of user interfaces <ref type="bibr" target="#b6">[7]</ref>, <ref type="bibr" target="#b7">[8]</ref>.</p><p>R2 Foster Range of Reuse: Beyond this, MBUID approaches should be applicable in a wide range of different scenarios (economies of scale) <ref type="bibr" target="#b11">[12]</ref>. Therefore, MBUID approaches should provide generic concepts which can be reused in different situations. However, this claim stays in opposition to R1: In order to foster productivity, an approach requires semantically rich concepts. However, such specific concepts can presumably not be reused in a wide range of scenarios. In contrast, in order to be reusable in different scenarios, an approach has to provide generic concepts, which hampers the productivity.</p><p>R3 Transparent Propagation of Modifications: Due to the omnipresence of change, developed UIs have to be adapted continuously to changed requirements during their lifecycle. For this reason, it is necessary to modify the corresponding models in order to satisfy those changed requirements. Subsequently, those changes should be reflected in the corresponding source code. However, it should not be necessary to recompile the source code, but the UI should be adapted during runtime. Therefore, it is desirable to have a transparent propagation of change which applies the changes in the model in an automatic manner to the source code and maintains the overall integrity <ref type="bibr" target="#b7">[8]</ref>, <ref type="bibr" target="#b12">[13]</ref>.</p><p>R4 Extensibility of Language and Adaptability of Tool: In literature, the omnipresence of change is mostly discussed in terms of its implications for the created user interface, e.g., <ref type="bibr" target="#b12">[13]</ref>. However, literature mostly neglects changes which go beyond the language application and require to adapt the language specification. For example, it might be desirable to add new concepts to the language specification by refining existing ones (e.g., a refined Button which adheres to a corporate design). In that context, it should not only be possible to enhance the language specification on demand with a new concept, but also to adapt the corresponding tool.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. SHORTCOMINGS OF THE TRADITIONAL PARADIGM</head><p>We argue that MBUID approaches which rely on the traditional paradigm cannot entirely satisfy the additional requirements due to the limitations imposed by the traditional conceptual modeling and corresponding tools implemented using prevalent object-oriented programming languages.</p><p>In order to illustrate the implications of the prevalent paradigm on current MBUID approaches, it is discussed using a prototypical MBUID approach named Cameleon Reference Framework (CRF) <ref type="bibr" target="#b13">[14]</ref>. This framework presents an overall structure for MBUID approaches which is on the one hand valid for the majority of existing approaches <ref type="bibr" target="#b13">[14]</ref> and on the other hand used as a foundation for new MBUID approaches <ref type="bibr" target="#b14">[15]</ref>- <ref type="bibr" target="#b20">[21]</ref>.</p><p>The CRF constitutes a four-layered framework for structuring the development and the adaption of UIs <ref type="bibr" target="#b13">[14]</ref>. The four layers of the CRF are the Final UI (i.e., the actual UI implemented in a programming language), the Concrete Interface (i.e., a non-executable platform-and interactor-specific model of the UI), the Abstract Interface (i.e., an abstract specification of the UI) and Concepts and Task Models (i.e., the specification of relevant tasks and domain concepts). The layers are based on three types of so-called 'ontological models' <ref type="bibr" target="#b13">[14]</ref>: domain-models "support the description of the concepts and user tasks" [14, p. 294], context-models "characterize the context of use in terms of user, platform and environment" [14, p. 294] and adaption-models "specify both the reaction in case of change of context of use and a smoothly way for commuting" <ref type="bibr">[14, p. 294]</ref>.</p><p>In order to transition from one layer to another, model transformation is applied <ref type="bibr" target="#b15">[16]</ref>. Model transformation is defined as the application of transformation rules in order to translate a model into either text or another model (which adheres to another metamodel) <ref type="bibr" target="#b21">[22]</ref>. The translation from Concepts and Task Models to Abstract Interface constitutes a model transformation, as both models have different intentions, thus, they adhere to different metamodels.</p><p>In contrast, the transformation from the Abstract Interface to Concrete Interface is unsatisfactory. As an Abstract Interface is interactor-independent and the Concrete Interface is interactor-dependent, several Concrete Interfaces can be transformed or derived from one Abstract Interface <ref type="bibr" target="#b13">[14]</ref>. Therefore, a number of Concrete Interfaces can be characterized or rather classified by one Abstract Interface. Thus, the Abstract Interface rather represents a kind of metamodel for the corresponding Concrete Interfaces. Therefore, this relation can be regarded as a model transformation, because both models have different metamodels. However, an instantiationrelation between Concrete Interface and Abstract Interface would be more appropriate because an Abstract Interface can be considered as a class for a number of Concrete Interfaces.</p><p>The transformation from the Concrete Interface to the Final UI is also a model transformation, as source code (i.e., text) is generated based on a model. However, the transformation itself is not satisfying, as it is afflicted by well-known synchronization problems. If there are changes to the model, those changes have to be transferred to the source code and vice versa.</p><p>The lack of an instantiation-relation and the necessity of code generation is not caused by a misconception of the CRF itself. However, they are a consequence of the traditional conceptual modeling in combination with the predominant programming languages.</p><p>The "prevalent programming languages are restricted to the dichotomy of objects and classes" <ref type="bibr">[23, p. 32]</ref>. Therefore, there is only one classification level, i.e., an entity is either a class or a corresponding instance. This dichotomy in programming languages influences the tool support. Software tools which support the development of MBUID models, implement the required modeling concepts in a programming language. Thus, the modeling concepts are on the class-level. Therefore, the created models are instances of the modeling concepts, i.e., in the realm of those software tools, the created MBUID models are on the object level <ref type="bibr" target="#b22">[23]</ref>. However, those MBUID models are models of the generated UI, thus, they are conceptually (at least) on the level of classes. As consequence, it is necessary to generate corresponding classes from the instances in order to allow a further instantiation. Nevertheless, the usage of corresponding software tools implies a mismatch between the conceptual and the technical level of a MBUID model. Thus, the current MBUID modeling tools cannot adequately support the MBUID approaches due to the limitations imposed by the prevalent programming languages.</p><p>Due to these limitations, current MBUID approaches are not capable of propagating modifications transparently (R3). During design time, the existing models are transformed into source code, which can be executed afterwards. If there are changes to the model, the corresponding source code is simply recreated, i.e., these are changes on the class level. During runtime, it is not possible to recreate the source code in that way, but it is necessary to adapt the existing objects. For this reason, the models are interpreted first, followed by invoking adaption mechanisms on the objects. Such adaption mechanisms are hazardous, because an inappropriate adaption might lead to runtime failures. As traditional conceptual modeling and predominant programming languages are not tightly integrated, it is necessary to implement complex transformation mechanisms in order to connect both. Therefore, the combination of traditional conceptual modeling and predominant programming languages is not capable of propagating modifications transparently.</p><p>Furthermore, the application of traditional conceptual modeling implies a conflict between productivity (R1) and range of reuse (R2) as discussed in the previous section. Traditional conceptual modeling does only allow satisfying one demand while neglecting the other <ref type="bibr" target="#b22">[23]</ref>: An approach can contain semantically rich concepts (in the sense of domain specific modeling languages), thus, foster the productivity. However, such concepts can presumably not be applied in a wide range of scenarios. In contrast, an approach can contain generic concepts (in the sense of general purpose modeling languages), which can be reused in several scenarios. However, the concepts do not provide semantic richness, thus, the productivity gained by its usage is rather low. Hence, the traditional paradigm is only capable of satisfying either R1 or R2 at a time.</p><p>Beyond this, the traditional paradigm limits the extensibility of MBUID approaches (R4). It enforces a strict separation of language specification and language application. Hence, adding further language concepts requires modifying the language specification, first, and adapting the corresponding tool afterwards. After recompilation, the enhancements can be used in the tool. Thus, the traditional paradigm does not allow enhancing an approach during runtime.</p><p>In consequence, the prevalent paradigm consisting of traditional conceptual modeling and predominant programming languages is not able to satisfy the identified requirements. Therefore, in the next section, we investigate an alternative paradigm comprising a multi-level modeling and programming approach.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. MULTI-LEVEL MODELING AND LANGUAGE EXECUTION ENGINE</head><p>In order to satisfy the identified requirements, an approach is required which supports multiple levels of classification as well as a corresponding execution engine. Although different multi-level modeling approaches (e.g., <ref type="bibr" target="#b23">[24]</ref>, <ref type="bibr" target="#b24">[25]</ref>) as well as execution engines (e.g., <ref type="bibr" target="#b25">[26]</ref>, <ref type="bibr" target="#b26">[27]</ref>) exist, to the best of our knowledge there is no other pair of multi-level modeling approach and corresponding language execution engine besides FMML x (Flexible Meta-Modeling and Execution Language) <ref type="bibr" target="#b0">[1]</ref> and XModeler <ref type="bibr" target="#b27">[28]</ref>, <ref type="bibr" target="#b28">[29]</ref> which allows modelling as well as executing behavior. Therefore, it becomes our approach of choice.</p><p>FMML x builds on XCore (the XModeler metamodel), thus, it incorporates XCore's recursive, self-reflexive architecture. This architecture is inspired by Hofstadter's praise of recursion called "golden braid" <ref type="bibr" target="#b29">[30]</ref>. In this architecture, the instance-of-relation between class and object is enriched by a specialization-relation. Thus, the concept class is a specialization of the concept object. Therefore, a class can be instantiated to another class, i.e., it enables a recursive language architecture. Hence, FMML x allows for an arbitrary number of classification levels. Furthermore, as all classifications levels are in the same model, there is no strict separation of language levels. It is of note that FMML x also provides the concept inheritance in addition to the instantiation.</p><p>Moreover, FMML x contains the concept of intrinsicness which allows a deferred instantiation of attributes, operations and associations. Intrinsicness assigns an instantiation level to those entities <ref type="bibr" target="#b0">[1]</ref>, i.e., they are instantiated on the corresponding classification level. Therefore, the dichotomy between instantiation and specialization is relaxed, as attributes, operations and associations can be instantiated as well as inherited from one classification level to the next lower level. A similar concept is the potency of Deep Instantiation <ref type="bibr" target="#b30">[31]</ref>. The notation of FMML x is similar to the notation of UML class diagrams (cf. Figure <ref type="figure" target="#fig_0">1</ref>). Beyond this, the classification level is indicated by the background-color of the name-box: M 5 is visualized by a green background of the name-box, M 4 by red, M 3 by blue, M 2 by black and M 1 by white (cf.</p><p>Figure <ref type="figure" target="#fig_0">1</ref>). Intrinsicness is presented as a black box with a white number (i.e., the instantiation level) in front of the feature's name.</p><p>XModeler (also known as XMF) is a language execution engine <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b27">[28]</ref>, <ref type="bibr" target="#b28">[29]</ref>. As explained, the XModeler's metamodel is XCore, thus, XModeler allows for an arbitrary number of classification levels as well.</p><p>XModeler does not only support the creation of models on several classification levels, but it also allows for model execution. Each entity of the system is not only a model but also source code. A modification of the model implies a modification of the source code, and vice versa. Due to this shared representation, each entity can be executed. Thereby, execution is not limited to querying model elements, but each entity can be enhanced by algorithms for an execution in the sense of a complete programming language <ref type="bibr" target="#b27">[28]</ref>, <ref type="bibr" target="#b28">[29]</ref>. For this reason, XModeler provides XOCL (eXecutable OCL) which is an enhanced version of OCL (Object Constraint Languages) that comprises imperative features <ref type="bibr" target="#b27">[28]</ref>.</p><p>The usage of FMML x in combination with XModeler's capabilities for modeling and programming constitutes an integrated environment. The UI design and the UI execution is performed in the same system. Hence, there are no issues related to the synchronization of a design and an execution environment. Therefore, a UI can directly be executed without further effort after designing or modifying it.</p><p>Furthermore, the integrated environment can also serve as a live-editor. This means, that such a multi-level approach is not limited to modifying a model and executing it afterwards, but it is capable of modifying a model and adapting corresponding UIs during runtime automatically. Those capabilities enable a tight interweaving of the development and the test of a UI.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. A PROTOTYPICAL MULTI-LEVEL MBUID APPROACH</head><p>Following, a prototype is presented which constitutes a rudimentary multi-level MBUID approach. As already discussed, the selected multi-level paradigm is the configuration of FMML x and XModeler. This prototype implements selected aspects only in order to illustrate the capabilities of a multilevel approach for MBUID. Therefore, this approach neglects features of prevalent approaches (e.g., the consideration of task models or an explicit visual notation). However, this approach is intended to illustrate a potential solution for the discussed requirements.</p><p>As the application of FMML x and XModeler constitutes an integrated environment, it is not sufficient to focus only on the UI design, but it is necessary to consider also the execution. Therefore, an adequate language architecture has been developed which supports both (Figure <ref type="figure" target="#fig_1">2</ref>).</p><p>The language architecture is inspired by the MVC-Pattern <ref type="bibr" target="#b31">[32]</ref>. In this pattern, a Controller is in charge of synchronizing a Model with a View. Consequently, if there are two Views for one Model, there are also two Controllers. As those controllers relate to the same model, there is a high chance, that both controllers access the same aspect, thus, there is presumably redundant source code. It is of note that the arrangement of the language architecture should not be mistaken for a dedicated assignment to classification levels, e.g., the position of the concept Controller in Figure <ref type="figure" target="#fig_1">2</ref> does not necessarily assign it to M1. On the contrary, our current research indicates that the concept Controller should also be differentiated over several classification levels.</p><p>However, for the purpose of this paper, a small subset of the domain of discourse is selected, which allows to satisfy the identified requirements. Therefore, the implemented language architecture comprises only three classification levels: M 2 , M 1 and M 0 . The levels M 2 and M 1 are for designing a UI for an existing model; the level M 0 represents the execution of the designed UI. That is, the elements of the running UI are actual instances of the Controller respectively of the View. Following, the specified language concepts for the View and for the Controller are presented.</p><p>The View is based on the language concepts presented in Figure <ref type="figure" target="#fig_2">3</ref>. These concepts provide a basis for developing a library of all supported VisualizationElements. Furthermore, Figure <ref type="figure" target="#fig_2">3</ref> contains selected instantiations, i.e., elements of such a library. VisualizationElements are differentiated in Widgets and VisualizationFeatures. Widgets constitute those elements which are for interaction (e.g. Buttons, Radiobuttons or Checkboxes). In contrast, VisualizationFeatures serve to characterize the Widgets (e.g., the widget's background-color or foreground-color).</p><p>The selected instantiations of the language concepts contain an abstract conception of the FormularWidget, which is the supertype for all form-widgets. As an exemplary specialization, the already mentioned Widgets Button, Radiobutton and Checkbox are presented. For each FormularWidget, both the foreground-color and the background-color have to be The language concepts which are specified for implementing the Model-bound Controller, the Controller and the Controller-Instance are presented in Figure <ref type="figure" target="#fig_3">4</ref>. As the model is mainly intended to illustrate the associations between the concepts, most of the attributes are faded out. The included language concepts refer to elements which support the development of both the View and the Model. Elements of the View (cf. Figure <ref type="figure" target="#fig_2">3</ref>) are marked with a green box with 'VM'. The Model is created with FMML x , thus, those concepts are part of XCore. Hence, those elements are marked by a yellow box with 'XCore'. It is of note that this model does only contain classes which are required for instantiating Modelbound Controllers, Controller as well as Controller-Instances; exemplary instances are presented in Figure <ref type="figure" target="#fig_4">5</ref> 2 and 3 .</p><p>The superclass for controllers is the ElementXWidget which describes that there is a Controller which connects a Modelelement with a View-element. The ElementXWidget is specialized into AttributeXWidget and MetaclassXWidget. Those concepts describe the specific relation of an attribute respectively a metaclass to any kind of Widget. AttributeXWidget and Meta-classXWidget are connected via three relations: hasAttribute-Type on M 2 , displayAttributeType on M 1 and displayAttribute on M 0 . Those three relations are necessary concepts as they describe different circumstances: hasAttributeType comprises all attributes possessed by a class; displayAttributeType describes those attributes which are part of a UI, displayAttribute relates to those attributes which are actually shown by a running UI, i.e., it relate to potential customization.</p><p>ElementXWidget features a relation ViewRelation on M 1 for associating the View. Such a relation can either be associated with a Widget (WidgetRelation) or a VisualizationFeature (Fea-tureRelation). The WidgetRelation contains a reference to a Widget as well as a number of Configurations. A Configuration refer to a number of VisualizationFeatures and is valid in a specific context, e.g., for a given device, a given role or a given user. Thus, it is possible to customize the appearance of a View to a specific device, a group of persons (i.e., to roles) or even to a specific user. Furthermore, it is also possible to connect a Controller to a VisualizationFeature, i.e., it is possible to adapt a VisualizationFeature -and therefore, a View -according to information stored in the Model.</p><p>Moreover, each Controller might be the root-element of a Screen and may have EventHandlers. Screens logically bundle Controllers which View's constitute one UI. Therefore, Screen refers to one root-element which might contain further controllers. Thus, the elements of one UI are ordered hierarchically.</p><p>EventHandlers are in charge of dealing with events triggered by the Model or a View. Therefore, handlers allow for detecting user interactions and serve to notify the controller about changes in the Model or the View respectively. Furthermore, some events might require displaying another View. For example, after sending a search query, a View has to be displayed which presents the results. Therefore, an EventHandler might be connected to a Screen via a FollowingScreenRelation. A corresponding Screen is displayed if the guard-condition (i.e., a XOCL-Expression) is satisfied.</p><p>The defined Controllers and View-elements on M 1 can be executed by instantiating those elements to M 0 . Thus, a running UI consists of corresponding instances.</p><p>Figure <ref type="figure" target="#fig_4">5</ref> presents an application of the implemented prototype. It aims at illustrating the development of a form for For the UI creation, a corresponding Model-bound Controller is created, first 2 . Following, it is instantiated to a Controller and a corresponding View 3 . By a further instantiation, the UI is executed, i.e., the form is shown 4 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. EVALUATION</head><p>Following, it is elaborated, how FMML x and XModeler in general, and the presented prototype in particular, are able to satisfy the identified requirements for MBUID.</p><p>R1 Foster Productivity &amp; R2 Foster Reuse: The FMML x allows for an arbitrary number of classifications levels, thus, concepts can be defined on a high level of abstraction and be refined on lower levels. Due to Intrinsicness it is furthermore possible to specify knowledge regarding low levels of abstraction already on a high level of abstraction. This hierarchy of concepts allow to relax the tension between productivity and reuse <ref type="bibr" target="#b0">[1]</ref>. Concepts on a high level of abstraction are generic, thus, they can be reused in a wide range of scenarios. Furthermore, concepts on a low level of abstraction are semantically rich, thus, they foster productivity. Hence, multi-level modeling enables developing MBUID approaches, which satisfy both R1 and R2, e.g., in the presented prototype the relaxation is visible in two concept hierarchies: First, the MVC-concept Controller is refined over three abstraction levels (Model-bound Controller, Controller, Controller-Instance). Second, the abstract concept Widget is instantiated into the Button, Radiobutton and Checkbox, which are instantiated into corresponding instances in a UI.</p><p>R3 Transparent Propagation of Modifications: FMML x and XModeler maintain a shared conceptualization of model and source code. Due to this conceptualization, changes in a model imply changes in the source code. Hence, there is no necessity to implement error-prone mechanisms for model transformations. In terms of MBUID approach, changes in a model imply a direct adaption of the corresponding UI during runtime. Thus, FMML x and XModeler allow to transparently propagate changes during runtime. Looking at the prototype, changes in the underlying Controller-Instances and the View-Instances lead immediately to an adaption of R4 Extensibility of Language and Adaptability of Tool: By applying FMML x and XModeler, the definition and the application of a MBUID approach are not strictly separated as both are contained in one multi-level model. Thus, enhancements of the approach are directly usable due to the R3 Transparent Propagation of Modifications. Thus, FMML x and XModeler enable approaches which are extensible and provide an adaptable tool (e.g., the presented prototype).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VII. CONCLUSION</head><p>In this paper, we applied a multi-level paradigm to the MBUID-field with the aim to show its advantages for the creation of UIs. For this reason, requirements related to the development UIs were identified which support an effective and efficient model-based development process. Against those requirements, the limitations of the traditional paradigm have been shown. In order to overcome these limitations, a multilevel approach consisting of the multi-level modeling approach FMML x and language execution engine XModeler has been suggested. In that context, it is discussed, how such a multilevel approach can satisfy the requirements for a model-based UI development. As a proof of concept, a rudimentary prototype has been designed and implemented, which illustrates the potential of multi-level modeling and a corresponding language execution engine for MBUID.</p><p>As the developed approach presents only a rudimentary prototype, future work targets the development of a comprehensive multi-level MBUID approach. For this purpose, it is not sufficient to transfer features of existing MBUID approaches to a multi-level MBUID approach, but it is necessary to identify potential for improvement concerning prevalent approaches. Furthermore, it would also be desirable, to not restrict the UI creation to a primary manual task, but to support an automatic generation of UIs. Moreover, it would also be promising to incorporate further interaction technologies in order to incorporate further senses in the human-computerinteraction. Those investigations constitute our future work.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Notation FMML x</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Language Architecture</figDesc><graphic coords="4,311.98,50.54,257.05,112.15" type="bitmap" /></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. Language Concepts for the View and Selected Instantiations</figDesc><graphic coords="5,100.37,50.54,411.27,239.44" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. Multi-level MBUID Metamodel</figDesc><graphic coords="6,48.96,50.54,514.09,377.59" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Screenshots of the UI-creation using the XModeler</figDesc><graphic coords="7,87.50,50.54,436.98,626.46" type="bitmap" /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Multilevel Modeling</title>
		<author>
			<persName><forename type="first">U</forename><surname>Frank</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Business &amp; Information Systems Engineering</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="319" to="337" />
			<date type="published" when="2014-11">Nov. 2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A foundation for multi-level modelling</title>
		<author>
			<persName><forename type="first">T</forename><surname>Clark</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Gonzalez-Perez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Henderson-Sellers</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MULTI@ MoDELS</title>
				<imprint>
			<date type="published" when="2014-09">Sep. 2014</date>
			<biblScope unit="page" from="43" to="52" />
		</imprint>
		<respStmt>
			<orgName>Tilburg University</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">In defence of deep modelling</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="j">Information and Software Technology</title>
		<imprint>
			<biblScope unit="volume">64</biblScope>
			<biblScope unit="page" from="36" to="51" />
			<date type="published" when="2015-08">Aug. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Toward a well-founded theory for multi-level conceptual modeling</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">A</forename><surname>Carvalho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P A</forename><surname>Almeida</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software &amp; Systems Modeling</title>
		<imprint>
			<biblScope unit="page" from="1" to="27" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Designing Models and Systems to Support IT Management: A Case for Multilevel Modeling</title>
		<author>
			<persName><forename type="first">U</forename><surname>Frank</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MULTI@ MoDELS</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="3" to="24" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Using multi level-modeling techniques for managing mapping information</title>
		<author>
			<persName><forename type="first">S</forename><surname>Al-Hilank</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jung</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Kips</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Husemann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Philippsen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">MULTI@ MoDELS</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="103" to="112" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Past, Present, and Future of Model-Based User Interface Development</title>
		<author>
			<persName><forename type="first">G</forename><surname>Meixner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Paternò</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderdonckt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">i-com</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="2" to="11" />
			<date type="published" when="2011-11">Nov. 2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Model-driven engineering of user interfaces: Promises, successes, failures, and challenges</title>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderdonckt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Proceedings of ROCHI</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Survey on User Interface Programming</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">A</forename><surname>Myers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">B</forename><surname>Rosson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</title>
				<meeting>the SIGCHI Conference on Human Factors in Computing Systems</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="1992">1992</date>
			<biblScope unit="page" from="195" to="202" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<author>
			<persName><forename type="first">R</forename><surname>Gerbig</surname></persName>
		</author>
		<title level="m">Deep, Seamless, Multi-format, Multi-notation Definition and Use of Domain-specific Languages</title>
				<imprint>
			<publisher>Verlag Dr. Hut</publisher>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note type="report_type">Ph.D. dissertation</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Model-based Interface Development</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">R</forename><surname>Puerta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Szkeley</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Conference Companion on Human Factors in Computing Systems</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="1994">1994</date>
			<biblScope unit="page" from="389" to="390" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">UIML: An appliance-independent XML user interface language</title>
		<author>
			<persName><forename type="first">M</forename><surname>Abrams</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Phanouriou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">L</forename><surname>Batongbacal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">M</forename><surname>Williams</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">E</forename><surname>Shuster</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Networks</title>
		<imprint>
			<biblScope unit="volume">31</biblScope>
			<biblScope unit="issue">11</biblScope>
			<biblScope unit="page" from="1695" to="1708" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Model-driven Development of Complex Software: A Research Roadmap</title>
		<author>
			<persName><forename type="first">R</forename><surname>France</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Rumpe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Future of Software Engineering</title>
				<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2007">2007. 2007</date>
			<biblScope unit="page" from="37" to="54" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">A Unifying Reference Framework for multi-target user interfaces</title>
		<author>
			<persName><forename type="first">G</forename><surname>Calvary</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Coutaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Thevenin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Limbourg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bouillon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderdonckt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Interacting with Computers</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="289" to="308" />
			<date type="published" when="2003-06">Jun. 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">USIXML: A language supporting multi-path development of user interfaces</title>
		<author>
			<persName><forename type="first">Q</forename><surname>Limbourg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderdonckt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Michotte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Bouillon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>López-Jaquero</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">EHCI/DS-VIS</title>
		<imprint>
			<biblScope unit="volume">3425</biblScope>
			<biblScope unit="page" from="200" to="220" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments</title>
		<author>
			<persName><forename type="first">F</forename><surname>Paterno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Santoro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">D</forename><surname>Spano</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Computer-Human Interaction (TOCHI)</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page">19</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">Engineering Adaptive Model-Driven User Interfaces for Enterprise Applications</title>
		<author>
			<persName><forename type="first">P</forename><surname>Akiki</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014-09">Sep. 2014</date>
		</imprint>
		<respStmt>
			<orgName>The Open University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">phd</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Generating native user interfaces for multiple devices by means of model transformation</title>
		<author>
			<persName><forename type="first">I</forename><surname>Marin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ortin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pedrosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Rodriguez</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Frontiers of Information Technology &amp; Electronic Engineering</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="issue">12</biblScope>
			<biblScope unit="page" from="995" to="1017" />
			<date type="published" when="2015-12">Dec. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Improving the Flexibility of Model Transformations in the Model-Based Development of Interactive Systems</title>
		<author>
			<persName><forename type="first">C</forename><surname>Wiehr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Aquino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Breiner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Seissler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Meixner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">UsiXML</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Model-Driven Engineering of Multi-target Plastic User Interfaces</title>
		<author>
			<persName><forename type="first">B</forename><surname>Collignon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vanderdonckt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Calvary</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Fourth International Conference on Autonomic and Autonomous Systems (ICAS&apos;08)</title>
				<imprint>
			<date type="published" when="2008-03">Mar. 2008</date>
			<biblScope unit="page" from="7" to="14" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Multimodal User Interfaces for Smart Environments: The Multi-access Service Platform</title>
		<author>
			<persName><forename type="first">M</forename><surname>Blumendorf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Feuerstack</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Albayrak</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Working Conference on Advanced Visual Interfaces</title>
				<meeting>the Working Conference on Advanced Visual Interfaces</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="478" to="479" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Feature-based survey of model transformation approaches</title>
		<author>
			<persName><forename type="first">K</forename><surname>Czarnecki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Helsen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IBM Systems Journal</title>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="621" to="645" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Enterprise modelling: The next steps</title>
		<author>
			<persName><forename type="first">U</forename><surname>Frank</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Enterprise Modelling and Information Systems Architectures</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="22" to="37" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">A Flexible Infrastructure for Multilevel Language Engineering</title>
		<author>
			<persName><forename type="first">C</forename><surname>Atkinson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gutheil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Kennel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Software Engineering</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="742" to="755" />
			<date type="published" when="2009-11">Nov. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Multi-level Domain Modeling with M-objects and M-relationships</title>
		<author>
			<persName><forename type="first">B</forename><surname>Neumayr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Grün</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Schrefl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Sixth Asia-Pacific Conference on Conceptual Modeling</title>
				<meeting>the Sixth Asia-Pacific Conference on Conceptual Modeling</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="volume">96</biblScope>
			<biblScope unit="page" from="107" to="116" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Deep meta-modelling with metadepth</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">De</forename><surname>Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Modelling Techniques and Tools for Computer Performance Evaluation</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="1" to="20" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Flexible Deep Modeling with Melanee</title>
		<author>
			<persName><forename type="first">C</forename><surname>Atkinson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Gerbig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Modellierung (Workshops)</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="volume">255</biblScope>
			<biblScope unit="page" from="117" to="122" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<monogr>
		<author>
			<persName><forename type="first">T</forename><surname>Clark</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Sammut</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Willans</surname></persName>
		</author>
		<title level="m">Applied Metamodelling A Foundation For Language Driven Development: Second Edition</title>
				<imprint>
			<publisher>Ceteva</publisher>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<monogr>
		<title level="m">Superlanguages: Developing Languages and Applications with XMF</title>
				<imprint>
			<publisher>Ceteva</publisher>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">H</forename><surname>Hofstadter</surname></persName>
		</author>
		<author>
			<persName><surname>Gödel</surname></persName>
		</author>
		<author>
			<persName><surname>Escher</surname></persName>
		</author>
		<title level="m">Bach: An Eternal Golden Braid</title>
				<meeting><address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<publisher>Basic Books</publisher>
			<date type="published" when="1979">1979</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">Reducing accidental complexity in domain models</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="j">Software &amp; Systems Modeling</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="345" to="359" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<title level="m" type="main">The original MVC reports</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">M H</forename><surname>Reenskaug</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1979">1979</date>
		</imprint>
		<respStmt>
			<orgName>Dept. of Informatics, University of Oslo, Oslo, Tech. Rep</orgName>
		</respStmt>
	</monogr>
</biblStruct>

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