<?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">Assigning Semantics to Graphical Concrete Syntaxes</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Athanasios</forename><surname>Zolotas</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of York</orgName>
								<address>
									<settlement>York</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Dimitrios</forename><forename type="middle">S</forename><surname>Kolovos</surname></persName>
							<email>dimitris.kolovos@york.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of York</orgName>
								<address>
									<settlement>York</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Nicholas</forename><surname>Matragkas</surname></persName>
							<email>nicholas.matragkas@york.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of York</orgName>
								<address>
									<settlement>York</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Richard</forename><forename type="middle">F</forename><surname>Paige</surname></persName>
							<email>richard.paige@york.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of York</orgName>
								<address>
									<settlement>York</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Assigning Semantics to Graphical Concrete Syntaxes</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">5F34BE170BD0B385E244FFFB93488509</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T00:46+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>Graphical editors that are used in the domain of Model-Driven Engineering (MDE) follow specific conventions to denote relations between elements such as edges and containments. However, existing research suggests that there are other visual aspects that can better encode these relations such as the shape, the position and colour of the elements. In this paper, we propose the use of these physical variables to denote information regarding attributes and relations between elements. Running examples of DSLs in which such paradigms can be of benefit are presented.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>In the majority of graphical model editors, nodes are used to represent different types and edges to denote relations between them. Some editors also allow the use of containments to group elements that conceptually belong to the same container while others allow the replacement of geometrical shapes with icons.</p><p>The importance of visual notation in diagrams and the impact on understanding them has been confirmed by different empirical studies <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b1">[2]</ref>, <ref type="bibr" target="#b2">[3]</ref>. Visual characteristics of the notation can help to better understand the modelled concepts while changes to them affect the final understanding, even if the semantics of the concepts have not changed. However, research on the design of graphical concrete syntaxes for modelling languages and Domain-Specific Languages (DSLs) in general suggests that diagram-based information related to the colour, size, location of model elements is ignored by the metamodel tools as the majority of effort is put on the semantics of the notation rather that the visual representation. <ref type="bibr" target="#b2">[3]</ref> In the emerging community of bottom-up and flexible modelling, where domain experts are invited to create example models of the envisioned DSL, the traditional graphical MDE conventions are not always easy to follow. For instance, in a DSL that will be used to graphically design the seating plan for an event, a domain expert will likely place each guest close to the table he/she belongs to. A person not familiar with the traditional MDE conventions is not likely to use edges to connect guests to the tables or place the guests on the tables to express the notion of containment nor would they create an attribute for each guest to hold the ID of the table she belongs to. The former notation arguably looks more natural than the latter.</p><p>Even in cases where bottom-up modelling is not used or where users are familiar with the traditional MDE conventions, the use of such physical characteristics could be beneficial. In the same example above, it would be more natural to change the table of a guest by just moving her around different tables, rather than changing the value of the appropriate attribute, or by deleting an existing node and drawing another node to the new table.</p><p>In this paper we argue that some of the physical characteristics of diagram elements can be used to extract useful information about their underlying model elements. We present examples where such information is useful. In the examples we use a flexible modelling technique, called Muddles <ref type="bibr" target="#b3">[4]</ref>, to represent our models benefiting from its model querying capabilities to evaluate our claims.</p><p>The rest of this paper is structured as follows. In Section 2 related work in the field of notation design is discussed and bottom-up flexible modelling techniques are presented. Section 3 includes a brief presentation of the Muddles approach. In Section 4 we present an number of physical attributes and illustrate via running-examples how can assist in extracting useful information like the types of elements and relations between them. In Section 5 we conclude the paper and outline plans for future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><p>In <ref type="bibr" target="#b2">[3]</ref>, Moody proposes a set of rules that should be followed when creating graphical notation for a modelling language. He highlights the importance of the physics of notations in the development of DSLs and the fact that this is a neglected issue so far. The theory of communication by Shannon and Weaver <ref type="bibr" target="#b4">[5]</ref>, is adapted by Moody for the domain of graphical notations: the effectiveness of the communication of a diagram can be increased by choosing the most appropriate notation conventions of these that the human mind can process. In <ref type="bibr" target="#b5">[6]</ref>, Bertin identified a set of 8 visual variables that can encode and reveal information about the elements they represent or their relations in a graphical way. These variables are: the horizontal position, the vertical position, the shape, the size, the colour, the value (referred as "brightness" <ref type="bibr" target="#b2">[3]</ref>), the orientation and the texture.</p><p>In <ref type="bibr" target="#b6">[7]</ref>, <ref type="bibr" target="#b7">[8]</ref> the authors propose a set of metamodels that can be used in the classification of visual languages taking into account spatial information. In <ref type="bibr" target="#b8">[9]</ref> the authors present a parsing technique that can incorporated into freehand editors and turn them into syntax-aware, using different criteria such as spatial relationships. Finally, Baar <ref type="bibr" target="#b9">[10]</ref>, proposes the formal definition of the concrete syntax of modelling languages.</p><p>In the field of bottom-up metamodelling, <ref type="bibr" target="#b10">[11]</ref> proposes the use of example models to semi-automatically infer the metamodel. In <ref type="bibr" target="#b12">[12]</ref>, the example models created by domain experts using drawing tools can be used to construct the metamodel. In <ref type="bibr" target="#b13">[13]</ref>, models that do not conform to their metamodel because the latter evolved, can be used to recover the metamodel they are instances of. Finally, in <ref type="bibr" target="#b3">[4]</ref>, users, using a simple drawing tool, define example models which are then amenable to programmatic model management (validation, transformation, etc.).</p><p>In this work we implement the examples using an extended version of the flexible modelling technique in <ref type="bibr" target="#b3">[4]</ref>. The same process could be followed using any other editor for flexible or traditional metamodel-based modelling.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Muddles</head><p>In this section, we present the basic details that will help the reader understand how the Muddles approach <ref type="bibr" target="#b3">[4]</ref> works. In addition, we present the work carried out to extend the Muddles to keep information about the visual properties of the models.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Overview</head><p>The Muddles approach <ref type="bibr" target="#b3">[4]</ref> proposes the use of general drawing tools, for the construction of diagrams that are amenable to programmatic model management. More specifically, domain experts use a GraphML-compliant drawing tool (the yEd Editor<ref type="foot" target="#foot_0">1</ref> in their work) to express the example models, which conform to their envisioned metamodel. Engineers annotate these drawings to specify types and attributes for each element. The annotated diagram is then automatically transformed to an intermediate Muddle model (the Muddle metamodel is shown in Figure <ref type="figure">1a</ref>). The Epsilon platform <ref type="bibr" target="#b14">[14]</ref> provides an abstraction layer (the Epsilon Model Connectivity -EMC<ref type="foot" target="#foot_1">2</ref> ) that allows access to models that conform to a range of technologies. A driver that implements EMC's interfaces and allows Epsilon to consume muddles was developed. Using the driver, model management programs (M2T transformations, Validation, etc.) can be written and executed on the muddles.</p><p>For a better understanding of the above process the authors in <ref type="bibr" target="#b3">[4]</ref> provided an example which is presented here. In their example, the goal is to create a new flowchart-like language.</p><p>The process starts with the creation of a drawing of an example flowchart (see Figure <ref type="figure">2</ref>). The next step is the annotation of the diagram elements with information to allow programmatic management. For instance, in this case one needs to declare that the type of the rectangles as an Action and the type of the directed edges as a Transition. The types are not bound with the shape but with each element (in another example one rectangle can be of type Action while another one can be of type Process). Types and type-related information like properties (attributes of the type), roles and multiplicity of edges can be provided using the fields in the yEd's custom properties dialog (see Figure <ref type="figure">3</ref>). More details about these properties are presented in <ref type="bibr" target="#b3">[4]</ref>.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Extending Muddles</head><p>The current Muddles metamodel and the implementation of the EMC driver for muddles discard information regarding graphical and spatial properties of each element. These properties are the: x and y coordinates, the width and height, the shape and the colour of each Muddle Element.</p><p>Firstly, we extended the muddles metamodel to allow Muddle Elements hold the above information. The changes are shown in Figure <ref type="figure">1b</ref>. The graphical and spatial properties of each element are now stored as attributes in the MuddleElement class.</p><p>Secondly, we implemented the required functionality in the EMC Muddles driver to be able to parse the GraphML file (the drawing), retrieve the information from it and store them in the muddle model instance. Further technical details about the new features of the EMC driver will not be discussed as they are beyond the scope of this paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Physical Attributes and Application Scenarios</head><p>In our running examples we demonstrate how 5 physical characteristics of the elements of graphical models can be used to extract relations and attributes. These are:</p><p>-Proximity: the distance between two or more elements.</p><p>-Colour: the colour of the element.</p><p>-Shape: the shape of the node.</p><p>-Size: the area of the node.</p><p>-Overlap: the intersection between two or more elements.</p><p>For each example, we implemented a set of functions to calculate the desired characteristic and executed it on the diagram using the querying capabilities of the Epsilon platform.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Proximity</head><p>The fact that an element is closer to another than a third one may infer that it is related to the former rather than the latter. In our scenario, we designed an example model of an envisioned DSL where the organiser of an event needs to assign guests to the tables and later perform model management actions on them (e.g. M2T transformations to generate invitation letters).</p><p>A possible example model could be the one shown in Figure <ref type="figure">4</ref> where 24 nodes of type Guest are assigned to 3 different nodes of type Table <ref type="table">.</ref> Naturally, each guest belongs to the table that he is closest to. In a traditional graphical modelling editor, this relationship could be specified by creating an edge from each guest to the table it belongs, or by placing guests inside "table containments", or by assigning an attribute for each guest that declares his/her table. In our approach, this assignment is done by placing them closest to the table they belong to.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 4. Tables and Guests</head><p>To achieve this, an EOL function to calculate the proximity between two elements was implemented. Using this re-usable function (calculateProximity) we can query the models and get the relation of interest. The code for calculating and returning the closest table is illustrated in Listing 1.2.  <ref type="table">Indeed</ref>, if we query the model using the EOL statement of Listing 1.3 the correct table is returned. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Listing 1.3. Query Guest's Table and output</head><p>We should note that the proximity characteristic may be error prone, as there might be cases that the user believes that a node is closer to the desired node while in reality it is closer to another.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Colour</head><p>In some cases, the colour of nodes or edges can declare that they belong to the same group or that they are of the same type.</p><p>In this scenario, we create an example model of an DSL that can be used to described football line-ups (see Figure <ref type="figure" target="#fig_4">5</ref>). Each player belongs to a team illustrated by the colour of the node that represents each player. In a traditional MDE manner, this property could be defined in many different ways. Among others, one could use a string attribute for the name of the player's team or connect players of the same team with edges declaring a "team-mates" relation.</p><p>For this category, the function that returns the colour of the node is already implemented as part of our extended Muddles metamodel and driver (the extended Muddle metamodel stores the colour of the Element as an attribute -see . We can create a mapping of colour with team and then query a Player using EOL to get his team. This is shown in Listing 1.4.</p><p>var teamsMap = new Map ; teamsMap . p u t ("#FF6600 " , " N e t h e r l a n d s " ) ; teamsMap . p u t ( " # 3 3 3 3 3 3 " , " Germany " ) ; var v a n P e r s i e = P l a y e r . a l l . s e l e c t O n e ( f | f . name = "Van P e r s i e " ) ; ( " Van P e r s i e p l a y s f o r " + v a n P e r s i e . getTeam ( ) ) . p r i n t l n ( ) ; In some DSLs, the shape or the size of a node may encode information about its type or its attributes. We demonstrate that with an example DSL that can be used to design liquid tank configurations. In this scenario, the shape that is used to describe a tank, declares the subtype of the tank (Water, Uranium, etc.) By creating a mapping as in the previous example, we can query the model and identify the subtype of each tank.</p><p>In addition, the size (and the area) that each tank has can give us information about two other attributes of each tank like the "Size Category" and "Capacity". We can calculate the area of the tank to find its capacity and assign it to a predefined size category (small, medium, large). The querying code to get the type, the size category and the capacity is given in Listing 6.</p><p>. . . f o r ( t i n t a n k s ) { ( t . name + " i s a " + t . g e t S i z e C a t e g o r y ( ) + " ( " + t . g e t A r e a ( ) + " l i t r e s ) " + t . getTankType ( ) ) . p r i n t l n ( ) ; } f u n c t i o n Tank getTankType ( ) { return s h a p e s M a p p i n g . g e t ( s e l f . g e t S h a p e ( ) ) ; } f u n c t i o n Tank g e t S i z e C a t e g o r y ( ) { i f ( s e l f . g e t A r e a ( ) &lt; 5 0 0 0 . 0 ) { return " S m a l l " ; } e l s e i f ( s e l f . g e t A r e a ( ) &lt; 2 0 0 0 0 . 0 ) { return "Medium " ; } e l s e { return " L a r g e " ; } } Output : Tank 4 i s a L a r g e ( 2 2 5 0 0 . 0 l i t r e s ) Water Tank Tank 5 i s a S m a l l ( 2 5 0 0 . 0 l i t r e s ) Water Tank Tank 1 i s a Medium ( 1 1 2 5 0 . 0 l i t r e s ) Steam Tank . . . The size characteristic can be error-prone. Mistakes can be made if the shape's area is close to the thresholds that defines different size categories. For instance, one tank may look like a small tank, but in reality it is medium.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4">Overlap</head><p>An overlap between two or more elements can provide us with information regarding their types and attributes. In a DSL that allows the creation of Venn diagrams this can be very useful. For instance, the Venn diagram of Figure <ref type="figure" target="#fig_7">7</ref> is an example of a model that would be an instance of a Venn DSL. In this case, the overlap between a node of type "Person" (yellow rectangles) with a circle denotes that the Person belongs to that set.</p><p>For this category, we can define a function to calculate whether two elements overlap or not. We can then re-use this function to query the model and receive, for instance the signatures of all the members of the department as seen in Listing 1.6. p . g e t S i g n a t u r e ( ) . p r i n t l n ( ) ; } f u n c t i o n P e r s o n g e t S i g n a t u r e ( ) { i f ( ( s e l f . o v e r l a p s ( raBox ) ) and ( not ( s e l f . o v e r l a p s ( esBox ) ) ) ) { return s e l f . name + " i s a RA i n t h e CS Department . " ; } e l s e i f ( ( s e l f . o v e r l a p s ( raBox ) ) and ( s e l f . o v e r l a p s ( esBox ) ) ) { return s e l f . name + " i s a RA i n t h e CS Department and member o f t h e ES g r o u p . " ; } e l s e i f ( ( s e l f . o v e r l a p s ( r s B o x ) ) and ( s e l f . o v e r l a p s ( esBox ) ) ) { return s e l f . name + " i s a RS i n t h e CS Department and member o f t h e ES g r o u p . " ; } e l s e i f ( ( s e l f . o v e r l a p s ( r s B o x ) ) and ( not ( s e l f . o v e r l a p s ( esBox ) ) ) ) { return s e l f . name + " i s a RS i n t h e CS Department . " ; } e l s e i f ( ( not ( s e l f . o v e r l a p s ( r s B o x ) ) ) and ( not ( s e l f . o v e r l a p s ( esBox ) ) ) and ( not ( s e l f . o v e r l a p s ( raBox ) ) ) ) { return s e l f . name + " i s member o f t h e CS Department . " ; } e l s e i f ( ( not ( s e l f . o v e r l a p s ( r s B o x ) ) ) and ( s e l f . o v e r l a p s ( esBox ) ) and ( not ( s e l f . o v e r l a p s ( raBox ) ) ) ) { return s e l f . name + " i s member o f t h e CS Department and member o f t h e ES g r o u p . " ; } } Output : James i s a RA i n t h e CS Department and member o f t h e ES g r o u p . Andy i s member o f t h e CS Department . C h r i s i s a RS i n t h e CS Department . . . . Listing 1.6. Get person's signature implementation and output</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusions and Future Work</head><p>Physical characteristics included in graphical models can be used to extract meaningful information about the models and their elements. In this work, we presented examples demonstrating how they can be utilised to extend the current conventions for representing relations and attributes of model elements.</p><p>We believe that such an approach can be useful especially in the flexible modelling area were the involvement of stakeholders who are unfamiliar with the traditional conventions is common.</p><p>In the future, we plan to investigate how other physical attributes (like texture or orientation) that can, according to the literature, encode information about the diagram be used in MDE to help us represent better relations and attributes of elements.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>Fig. 1.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .Fig. 3 .</head><label>23</label><figDesc>Fig. 2. An example diagram This type-related information are keywords that will be used by the model management programs to elements of the diagram. For example, writing the following Epsilon Object Language (EOL) [15] script will return the names of all the elements of Type Action. (In this case, name was declared as a property of the Action node by writing String name = "..." in the Properties field of the node.) var a c t i o n s = A c t i o n . a l l ( ) ; f o r ( a i n a c t i o n s ) { ( " A c t i o n : " + a . name ) . p r i n t l n ( ) ; } Listing 1.1. EOL commands executed on the drawing</figDesc><graphic coords="4,241.08,537.89,133.20,119.38" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Listing 1 . 2 .</head><label>12</label><figDesc>f u n c t i o n G u e st g e t T a b l e ( ) { var m i n D i s t a n c e = c a l c u l a t e P r o x i m i t y ( g e t C i r c l e C e n t e r X ( s e l f ) , g e t C i r c l e C e n t e r X ( t a b l e s . g e t ( 0 ) ) , g e t C i r c l e C e n t e r Y ( s e l f ) , g e t C i r c l e C e n t e r Y ( t a b l e s . g e t ( 0 ) ) ) ; t h e T a b l e = t a b l e s . g e t ( 0 ) ; f o r ( t i n t a b l e s ) { var c a n d i d a t e D i s t a n c e = c a l c u l a t e P r o x i m i t y ( g e t C i r c l e C e n t e r X ( s e l f ) , g e t C i r c l e C e n t e r X ( t ) , g e t C i r c l e C e n t e r Y ( s e l f ) , g e t C i r c l e C e n t e r Y ( t ) ) ; i f ( c a n d i d a t e D i s t a n c e &lt; m i n D i s t a n c e ) { m i n D i s t a n c e = c a n d i d a t e D i s t a n c e ; t h e T a b l e = t ; } } return t h e T a b l e ; } Get closest node of type Table</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head></head><label></label><figDesc>var j a m e s = G u e s t . a l l . s e l e c t O n e ( p | p . name = " James " ) ; ( " James b e l o n g s t o t a b l e " + j a m e s . g e t T a b l e ( ) . number + " . " ) . p r i n t l n ( ) ; Output : James b e l o n g s t o t a b l e 1 .</figDesc></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. Players and Teams Figure 1(b)). We can create a mapping of colour with team and then query a Player using EOL to get his team. This is shown in Listing 1.4.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. Nuclear energy production</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Listing 1 . 5 .</head><label>15</label><figDesc>Get tank's type, size category and capacity implementation and output</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. Computer Science department Venn diagram</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://www.yworks.com/en/products_yed_about.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">http://eclipse.org/epsilon/doc/emc/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This work was carried out in cooperation with Digital Lightspeed Solutions Ltd, and was part supported by the Engineering and Physical Sciences Research Council (EPSRC) through the Large Scale Complex IT Systems (LSCITS) initiative, and by the EU, through the MONDO FP7 STREP project (#611125).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The effect of graphic style on data model interpretation</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Nordbotten</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">E</forename><surname>Crosby</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information Systems Journal</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="139" to="155" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The details of conceptual modelling notations are important-a comparison of relationship normative language</title>
		<author>
			<persName><forename type="first">S</forename><surname>Hitchman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the Association for Information Systems</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page">10</biblScope>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">The physics of notations: toward a scientific basis for constructing visual notations in software engineering</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Moody</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software Engineering</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="756" to="779" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
	<note>IEEE Transactions on</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Programmatic muddle management</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Kolovos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Matragkas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">H</forename><surname>Rodríguez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">F</forename><surname>Paige</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">XM 2013-Extreme Modeling Workshop</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">The mathematical theory of communication</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">E</forename><surname>Shannon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Weaver</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><surname>Bertin</surname></persName>
		</author>
		<title level="m">Semiology of graphics: diagrams, networks</title>
				<imprint>
			<date type="published" when="1983">1983</date>
		</imprint>
	</monogr>
	<note>maps</note>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">A suite of metamodels as a basis for a classification of visual languages</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bottoni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Grau</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Visual Languages and Human Centric Computing</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2004">2004. 2004</date>
			<biblScope unit="page" from="83" to="90" />
		</imprint>
	</monogr>
	<note>IEEE Symposium on</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">On the definition of visual languages and their editors</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bottoni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Costagliola</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Diagrammatic Representation and Inference</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="305" to="319" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Building syntax-aware editors for visual languages</title>
		<author>
			<persName><forename type="first">G</forename><surname>Costagliola</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Deufemia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Polese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Risi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Visual Languages &amp; Computing</title>
		<imprint>
			<biblScope unit="volume">16</biblScope>
			<biblScope unit="issue">6</biblScope>
			<biblScope unit="page" from="508" to="540" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Correctly defined concrete syntax for visual modeling languages</title>
		<author>
			<persName><forename type="first">T</forename><surname>Baar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Model Driven Engineering Languages and Systems</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="111" to="125" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Creating visual domain-specific modeling languages from end-user demonstration</title>
		<author>
			<persName><forename type="first">H</forename><surname>Cho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Syriani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Modeling in Software Engineering (MISE)</title>
				<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
	</analytic>
	<monogr>
		<title level="m">ICSE Workshop on</title>
				<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="22" to="28" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Bottom-up meta-modelling: An interactive approach</title>
		<author>
			<persName><forename type="first">J</forename><surname>Sánchez-Cuadrado</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>De Lara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Guerra</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2012">2012</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Mars: A metamodel recovery system using grammar inference</title>
		<author>
			<persName><forename type="first">F</forename><surname>Javed</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mernik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">R</forename><surname>Bryant</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information and Software Technology</title>
		<imprint>
			<biblScope unit="volume">50</biblScope>
			<biblScope unit="issue">9</biblScope>
			<biblScope unit="page" from="948" to="968" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">The design of a conceptual framework and technical infrastructure for model management language engineering</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">F</forename><surname>Paige</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Kolovos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">M</forename><surname>Rose</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Drivalos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">A</forename><surname>Polack</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Engineering of Complex Computer Systems</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2009">2009. 2009</date>
			<biblScope unit="page" from="162" to="171" />
		</imprint>
	</monogr>
	<note>14th IEEE International Conference on</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">The epsilon object language (eol)</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Kolovos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">F</forename><surname>Paige</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">A</forename><surname>Polack</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Model Driven Architecture-Foundations and Applications</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="128" to="142" />
		</imprint>
	</monogr>
</biblStruct>

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