<?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">Supporting Agility in MDE Through Modeling Language Relaxation</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Rick</forename><surname>Salay</surname></persName>
							<email>rsalay@cs.toronto.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Toronto</orgName>
								<address>
									<settlement>Toronto</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marsha</forename><surname>Chechik</surname></persName>
							<email>chechik@cs.toronto.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Toronto</orgName>
								<address>
									<settlement>Toronto</settlement>
									<country key="CA">Canada</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Supporting Agility in MDE Through Modeling Language Relaxation</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">6C1C666BA4BA4755128B0059B51696EE</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T03:11+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>Agility requires expressive freedom for the modeler; however, automated MDE processes such as transformations require models to conform to strict constraints (e.g. well-formed rules). One way out of this apparent conflict is to allow a "relaxed" version of a modeling language to be used by modelers and then use tool support to "tighten" such models so that they are conformant to the original constraints. In this paper, we explore the issues of relaxation and tightening of modeling languages and discuss the possibilities for tool support.</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>The problem of agility in MDE arises because graphical models have two very different kinds of users: humans and programs. Humans use models to express themselves and communicate with each other. Programs manipulate models to do analyses or to transform them into other models. These two types of users give rise to a modeling dilemma: humans want expressive freedom and can cope with relaxed rules while programs need models to conform to precise constraints. How can this agility conflict be reconciled?</p><p>In this paper, we propose a transformation-based framework for addressing the agility conflict for a given modeling language by meeting the needs of both kinds of users. Human needs are satisfied by relaxing the language to permit greater expressive freedom. Program needs are satisfied by defining a tightening transformation that converts the model in the relaxed language back into the original, more strict, language.</p><p>We limit our scope by focussing on supporting two kinds of agility: omission agility -allowing the modeler to omit information in the model in order to express uncertainty, irrelevance, etc., and clarity agility -allowing the modeler to express information in the model more concisely or differently to improve clarity. Although our scope is limited, the usefulness of these forms of agility is justified by work in the philosophy of language relating to human communication. For example, Grice defines a "cooperative principle" that gives four maxims that hold in effective human communication <ref type="bibr" target="#b3">[4]</ref>: quantity -making the contribution as informative as is required but no more informative than required; qualitybeing truthful; relation -being relevant; and manner -being clear. Both types of agility we handle address quantity, relation and manner, whereas quality (i.e., truthfulness) is an orthogonal issue and is independent of language relaxation.</p><p>The paper is structured as follows. In Section 2, we illustrate different aspects of the two agility types using five examples. In Section 3, we give a preliminary framework for language relaxation and tightening and show how it can address our examples. Section 4 explores possible tool support for the framework. We discuss related work in Section 5 and conclude in Section 6.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Language relaxation and tightening by example</head><p>A modeling language can be relaxed in several different ways. In this section, we explore some of these possibilities using the examples depicted in Figure <ref type="figure" target="#fig_0">1  (A-E</ref>), referring to these as Examples A-E, respectively. All of the examples use the language of UML class diagrams (CD). In the discussion below, assume that the metamodel of CD consists of a vocabulary defining the element and relation types in the language and a set of constraints defining well-formedness -i.e., a well-formed model must conform to the constraints. For each example, we first state what the modeler is attempting to express and the type of agility required, then describe the relaxation aimed to achieve this and finally, introduce the tightening transformation required.</p><p>Example A. The modeler wants to express that she doesn't yet know what sits on the other end of the controlledBy association (omission agility). To do this, she weakens the well-formedness constraint that a binary association must have a class on both ends. The tightening transformation assigns a class to the target of the controlledBy association. Since there is choice here (i.e., an existing class or a new class), this choice must be resolved.</p><p>Example B. The modeler wants to express that in the parallel inheritance hierarchies, the classes Car/Driver and Plane/Pilot are the intended pairings with the controlledBy association (clarity agility). To do this, she uses the vertical alignment in the layout to indicate the correspondences. Note that neither the vocabulary nor the constraints of the concrete syntax are affected, but the expressive power of the language is extended by giving the spatial relation of vertical alignment a special meaning. The tightening transformation defines an OCL constraint for each occurrence of the vertical alignment of a pair of classes that extend Vehicle/Operator to enforce the intended constraint.</p><p>Example C. The modeler wants to indicate that she isn't sure which class should hold the park() operation (omission agility). To express this, she wants to link park() to both classes but to do that, it would have to be simultaneously contained in two boxes. This "physical" constraint, which enforces the well-formedness constraint that an operation is owned by one class, cannot be weakened unless the boxes are made to overlap. Instead, for clarity, she opts for extending the vocabulary to allow operations to be specified externally to a class, using an ellipse and linked to the class with a dashed line (clarity agility). The tightening transformation adds an operation to a class for each ellipse linked to the class. Since in this example, two owners of the operation park() are specified and this violates a well-formedness constraint, there is a choice (i.e., which class is the owner?) that needs to be resolved.</p><p>Example D. To reduce clutter, the modeler wants to put the name of the class outside, but close to, its box (clarity agility). To do this, she weakens the constraint that the class name is inside the box at the top. The tightening transformation defines text close to a class box as being the name of the class. To operationalize it, the definition of "closeness" must be given.</p><p>Example E. The modeler wants to express the fact that certain classes are "connected" without being specific about the type of connection -it can be a generalization, an association, etc. (omission agility). To do this, she extends the vocabulary with a special dashed line to indicate this relation. The tightening transformation resolves the dashed line to one of the class diagram relations that can hold between classes. Since there is choice here, someone needs to make it.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Towards a framework for relaxation and tightening</head><p>Our ultimate goal is to develop a framework for the relaxation and tightening of modeling languages to address the agility conflict. In this section, we use the examples of Section 2 to discuss the characterizing features of relaxation and tightening that could be parts of such a framework.</p><p>The approach is given schematically in Figure <ref type="figure" target="#fig_1">2</ref>. We assume that a modeling language has a transformation c2a that generates the abstract syntax for a model expressed using its concrete syntax. Modeling agility is supported by allowing the modeler to relax the concrete syntax to a new syntax, as needed, to provide the required expressive power. Then, when the model must be used for MDE operations, the tightening transformation T that transforms the model back to the more strict concrete syntax is constructed. The composition c2a • T takes the relaxed model to the original abstract syntax, making it amenable to MDE operations such as transformation and analysis.</p><p>The approach is motivated by the observation that human and program (MDE) users of models have different foci: humans deal with concrete syntax while MDE primarily deals with the abstract syntax of a model<ref type="foot" target="#foot_0">1</ref> . Thus, all of our examples are in concrete syntax. Correspondingly, our transformation-based approach to relaxation and tightening is centered around concrete syntax rather than abstract syntax. The focus on concrete syntax does not limit the expressive power of the language relaxation; on the contrary, it is greater than if the relaxation were applied to abstract syntax. While all user-relevant information from the abstract syntax is preserved in the concrete syntax, the reverse is not true, e.g., Example D in Figure <ref type="figure" target="#fig_0">1</ref>. One of the contributions of the present work is to bring attention to the fact that extending MDE to address human issues such as agility requires transformations on the concrete syntax. The motivation in Section 1 for limiting our scope to omission and clarity agility was to ensure that a tightening transformation T always exists (though it might not be necessarily unique). Relaxation to omit information can be tightened by adding back information; while relaxation to express information differently for clarity is tightened by defining an alternate expression in terms of native constructs in the original language.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Implementing relaxation and tightening</head><p>We now consider the ways in which elements of Figure <ref type="figure" target="#fig_1">2</ref>  broadening of c2a may still be required even if the concrete syntax is unaffected -this is the case with Example B.</p><p>The language aspects involved in relaxation have corresponding tightening actions. Relaxing by extending the vocabulary requires tightening by redefining these extensions in terms of existing constructs. Relaxing by weakening constraints requires tightening by repairing the violations of the constraints that were weakened. In Section 4, we discuss these actions in more detail. <ref type="figure" target="#fig_0">1</ref> show how our approach applies to both clarity and omission agility. Clarity agility uses vocabulary extension in Example C and constraint weakening in Example D. In addition, Example B illustrates clarity agility when no language changes are made and only c2a is broadened.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Support for agility. The examples in Figure</head><p>Omission agility uses vocabulary extension in Examples C and E and constraint weakening in Example A. Furthermore, three different ways of omitting information are illustrated: dropping information (Example A), providing alternatives (Example C) and using abstraction (Example E).</p><p>Whenever omission agility is being addressed, choice may occur in the tightening process, and there are different ways to address this choice. One alternative is to elicit a decision from the modeler. Another possibility is to make a "systematic" decision (e.g., always create a new class in Example A). Yet another possibility is to defer the decision and keep all choices. We discuss this last possibility in Section 3.2. Special characteristics of concrete syntax. The physical nature of concrete syntax makes it different from abstract syntax and this has two important implications for the framework. First, existing spatial relations that are "unused" can be appropriated for increasing expressiveness without changing the concrete syntax. This is the case with Example B where vertical alignment is given a meaning, and in Example D where closeness is given a meaning. Other relations that can be used are overlap, containment, horizontal alignment, clustering, radial alignment, etc. Second, some well-formedness constraints are enforced by the physical world, and so weakening them requires an alternative representation. This is what motivates the vocabulary extension in Example C. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Partial modeling</head><p>When tightening due to information omission yields a choice of alternatives, the modeler may not be comfortable having to choose, either because she doesn't yet know which choice is correct or because she wants to consider all alternatives. In this case, the technique of partial modeling allows the modeler to defer the decision and provides an alternative to tightening.</p><p>A partial model can express a set of possible models through the use of model annotations and is typically used to express model uncertainty. For example, Figure <ref type="figure" target="#fig_2">3</ref> shows the use of the MAVO partial modeling approach to express the choices due to the omission of information in Examples A and C of Figure <ref type="figure" target="#fig_0">1</ref>, resulting in A' and C', respectively. The V annotation in Example A' means that the class C is a "variable" and so this represents a set of different models according to how the variable is instantiated. The M annotations indicate "maybe" so Example C' represents the set of models in which only one of the operation ownership relations exists. Due to lack of space, we omit a detailed description of MAVO partial modeling -interested readers are directed to <ref type="bibr" target="#b10">[11]</ref>. The benefit of using partial models is that the annotations have formal semantics and thus partial models can be used in place of ordinary models in MDE operations such as property checking <ref type="bibr" target="#b10">[11,</ref><ref type="bibr" target="#b1">2]</ref> and transformation <ref type="bibr" target="#b2">[3]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Towards tool support</head><p>Our strategy relies on tool support. In this section, we discuss some of the possibilities for this in terms of existing technologies.</p><p>Relaxation. The relaxation tool may be a general drawing tool (e.g., Visio) with a predefined template for the concrete syntax to allow models expressed in the original language to be drawn. The relaxation mechanism of vocabulary extension is achieved by allowing other shapes to be drawn as well. The relaxation mechanism of constraint weakening is achieved by supporting an operating mode that does not enforce (selectable) constraints (e.g., see "soft validation" in Section 5). Note that physical constraints imposed by the concrete syntax cannot be weakened, so these are addressed by vocabulary extension as in Example C.</p><p>Tightening. Constructing the tightening transformation is the more difficult part of the approach. There are two steps involved in the construction:</p><p>(1) Identify an occurrence of a language relaxation. Instances of vocabulary extension or constraint weakening (i.e., violation) are easy to detect automatically. Instances of broadening the interpretation may be impossible to detect without the modeler "pointing it out". One clue may be to detect occurrences of spatial relations (e.g., vertical alignment). ( <ref type="formula">2</ref>) Construct the appropriate tightening depending on the type of relaxation:</p><p>-For weakened constraints, we must fix model inconsistencies relative to the original constraints. To do this, we can rely on existing computational approaches for computing minimal model repairs. The objective here is to search the space of possible changes to the model to find the minimal changes that fix a constraint violation. See Section 5 for a discussion of this work in the literature. If there is still a choice left after the repair process (i.e., there are several possible minimal repairs), then a strategy for dealing with choice must be followed, e.g., to elicit the decision from the modeler, follow a predefined choice policy or use a partial modeling mechanism as described in Section 3.2. -For vocabulary extensions and other interpretation broadening, a definition of the new elements/information in terms of constructs in the original language must be elicited from the modeler. Clearly, this requires the use of a transformation language for expressing this redefinition, and we rely on existing solutions for this, e.g., ATL<ref type="foot" target="#foot_1">2</ref> .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Related Work</head><p>The use of relaxation to increase agility has been proposed in various contexts.</p><p>There is a long tradition of work on relaxing the input method by allowing freehand sketching of models. See <ref type="bibr" target="#b7">[8]</ref> for a recent example and <ref type="bibr" target="#b4">[5]</ref> for a survey. Support for conversion of sketches to the "computer" form of the concrete syntax has been developed in commercial tools and explored in research (e.g., <ref type="bibr" target="#b0">[1]</ref>). In contrast to this work, our focus is on agility through the relaxation of the concrete syntax rather than the input method. Some modeling tools allow "soft validation" where the satisfaction of wellformedness constraints can be deferred until a more appropriate time when the modeler is finished with a unit of work (e.g., see Microsoft modeling tools<ref type="foot" target="#foot_2">3</ref> ). This mechanism can be used as a limited form of language relaxation but it only addresses constraint weakening and not vocabulary extension.</p><p>Metamodel relaxation has been used for purposes other than increasing the expressive power of models. For example, in <ref type="bibr" target="#b5">[6]</ref>, the authors propose a way of automatically constructing a transformation language from the concrete syntax of a modeling language. Since transformation rules must work with non-wellformed model fragments, the creation of the transformation language requires a relaxation of the original language. Both vocabulary extension and constraint weakening are used to achieve this. Further, since transformation languages have a different use than the original language they are based on, language modifications are required as well. In other work, Ramos et. al. <ref type="bibr" target="#b8">[9]</ref> use model fragments as a way of specifying model patterns for pattern matching. They use constraint weakening to relax a metamodel so that model fragments (called "model snippets" here) become acceptable instances. Similarly, Levendovszky et. al. <ref type="bibr" target="#b6">[7]</ref> use constraint weakening to construct metamodels that allow design patterns to be defined, while Sen et. al. <ref type="bibr" target="#b11">[12]</ref> use constraint weakening to define metamodels of models containing partial knowledge in order to support transformation testing. In most of this work, the focus is on creating a metamodel that can accept model fragments as instances, with constraint weakening being the primary mechanism to achieve this. In our work, the goal is richer and hence vocabulary extension plays a larger role.</p><p>As discussed in Section 3, the issue of "model tightening" is dependent on mechanisms for model repair. Due to lack of space, we omit a thorough review of work in this area and instead only mention recent examples. Many approaches focus on attempting to formulate repair rules representing various change scenarios where specific repair actions are performed in response to detected changes, e.g., <ref type="bibr" target="#b12">[13]</ref>. Others automatically infer the needed repairs directly from the wellformedness constraints and the violation, e.g., <ref type="bibr" target="#b9">[10]</ref>. Many of these approaches also handle the elicitation of a decision from the user when a choice of multiple repairs is available. Our tightening transformations can work with either of these techniques.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><p>Models are used by humans and programs in different ways, giving rise to what we have called the agility conflict: humans require expressive freedom while programs require strict conformance to constraints. In this paper, we outlined the beginnings of a framework to address the agility conflict with a focus on two types of agility: omission agility which gives the modeler the freedom to omit information, and clarity agility which allows the modeler the ability to rephrase information to improve clarity. Our approach involves relaxing the modeling language to support these types of agility and then constructing a tightening transformation to put the relaxed model back into a form that can be accepted by MDE processes. We explored the approach through a series of examples, discussing its characteristics and potential tool support. Our next steps are to further develop the theoretical details of this approach and prototype tool support for it.</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. Examples of language relaxation.</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. Transformation-based approach to address model agility.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Using partial modeling to express choice in Examples A and C from Figure 1.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Model editors and model layout algorithms are notable exceptions to this.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">http://www.eclipse.org/atl/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">http://msdn.microsoft.com/en-us/library/bb245773.aspx</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Towards Tool Support for Agile Modeling: Sketching Equals Modeling</title>
		<author>
			<persName><surname>Th</surname></persName>
		</author>
		<author>
			<persName><surname>Buchmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of XM&apos;12 Wksp</title>
				<meeting>of XM&apos;12 Wksp</meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="9" to="14" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Partial Models: Towards Modeling and Reasoning with Uncertainty</title>
		<author>
			<persName><forename type="first">M</forename><surname>Famelis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Salay</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ICSE&apos;12</title>
				<meeting>of ICSE&apos;12</meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Transformation of Models Containing Uncertainty</title>
		<author>
			<persName><forename type="first">M</forename><surname>Famelis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Salay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Di</forename><surname>Sandro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of MODELS&apos;13</title>
				<meeting>of MODELS&apos;13</meeting>
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Logic And Conversation</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">P</forename><surname>Grice</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Syntax and Semantics 3: Speech arts</title>
				<editor>
			<persName><forename type="first">Cole</forename></persName>
		</editor>
		<imprint>
			<publisher>Elsevier</publisher>
			<date type="published" when="1975">1975</date>
			<biblScope unit="page" from="41" to="58" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Computational Support for Sketching in Design: a Review</title>
		<author>
			<persName><forename type="first">G</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gross</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Yi-Luen</surname></persName>
		</author>
		<author>
			<persName><surname>Do</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Foundations and Trends in HCI</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="1" to="93" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Explicit Transformation Modeling</title>
		<author>
			<persName><surname>Th</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Kühne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mezei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Syriani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vangheluwe</surname></persName>
		</author>
		<author>
			<persName><surname>Wimmer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of MODELS&apos;10</title>
				<meeting>of MODELS&apos;10</meeting>
		<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="240" to="255" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Supporting domain-specific model patterns with metamodeling</title>
		<author>
			<persName><forename type="first">T</forename><surname>Levendovszky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Lengyel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Mészáros</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software &amp; Systems Modeling</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="501" to="520" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Software Design Sketching with CALICO</title>
		<author>
			<persName><forename type="first">N</forename><surname>Mangano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Baker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dempsey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Navarro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Van Der Hoek</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ASE&apos;10</title>
				<meeting>of ASE&apos;10</meeting>
		<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="23" to="32" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Matching model-snippets</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ramos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Barais</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Jézéquel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Model Driven Engineering Languages and Systems</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="121" to="135" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Computing Repair Trees for Resolving Inconsistencies in Design Models</title>
		<author>
			<persName><forename type="first">A</forename><surname>Reder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Egyed</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ASE&apos;12</title>
				<meeting>of ASE&apos;12</meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="220" to="229" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Language Independent Refinement using Partial Modeling</title>
		<author>
			<persName><forename type="first">R</forename><surname>Salay</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Famelis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Chechik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of FASE&apos;12</title>
				<meeting>of FASE&apos;12</meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Using models of partial knowledge to test model transformations</title>
		<author>
			<persName><forename type="first">S</forename><surname>Sen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mottu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tisi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Cabot</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Theory and Practice of Model Transformations</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="24" to="39" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Supporting Automatic Model Inconsistency Fixing</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Xiong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Hu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Zhao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Song</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Takeichi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Mei</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ESEC/FSE&apos;09</title>
				<meeting>of ESEC/FSE&apos;09</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="315" to="324" />
		</imprint>
	</monogr>
</biblStruct>

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