<?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">Definition and Uses of the i* Metamodel 1</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Carlos</forename><surname>Cares</surname></persName>
							<email>ccares@essi.upc.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">Universitat Politècnica de Catalunya</orgName>
								<address>
									<addrLine>Omega-122</addrLine>
									<postCode>08034</postCode>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="institution">Universidad de La Frontera</orgName>
								<address>
									<addrLine>Av. Francisco Salazar</addrLine>
									<postCode>01145</postCode>
									<settlement>Temuco</settlement>
									<country key="CL">Chile</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Xavier</forename><surname>Franch</surname></persName>
							<email>franch@essi.upc.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">Universitat Politècnica de Catalunya</orgName>
								<address>
									<addrLine>Omega-122</addrLine>
									<postCode>08034</postCode>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Lidia</forename><surname>López</surname></persName>
							<email>llopez@lsi.upc.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">Universitat Politècnica de Catalunya</orgName>
								<address>
									<addrLine>Omega-122</addrLine>
									<postCode>08034</postCode>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jordi</forename><surname>Marco</surname></persName>
							<email>jmarco@lsi.upc.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">Universitat Politècnica de Catalunya</orgName>
								<address>
									<addrLine>Omega-122</addrLine>
									<postCode>08034</postCode>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Definition and Uses of the i* Metamodel 1</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">A6751E40621BA3EB191AA94C95968E65</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T07:09+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>Goal-Oriented Requirements Engineering</term>
					<term>i*</term>
					<term>Metamodel</term>
					<term>iStarML</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The clear definition of a metamodel can be considered helpful for any conceptual modeling approach, and the i* framework is not an exception. Agreeing on a metamodel for i* can be considered even more convenient than ever when we are aware of the different dialects and variations that the community proposed, and keep proposing, over the seminal i* definition. In this paper we present the revised version of the i* metamodel proposed by the GESSI research group at 2005 and we report some current contexts of use: 1) definition of a data interchange format; 2) definition of the inheritance construct; 3) definition of a modularity construct; and 4) definition of a metrics framework.</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>Since it was first released, the i* framework has been adapted to the needs of specific research groups that wanted to represent concepts specific of their software engineering problem, like security, law compliance, trust modelling, architectural design, model-driven development and agent-orientation, among others. Even, the i* framework itself has experienced a natural evolution that has led to a slightly modified version available in the i* wiki. This set of main i* variations have been object of our study which we have described and genealogically analysed in <ref type="bibr" target="#b0">[1]</ref>. This diversity, although not necessarily pernicious, has some consequences. When reading a work around the i* framework, it is necessary first to understand what concrete version of i* is being used. If the contribution is based on the original framework, sometimes the authors declare which version are using (lately, it is happening to be the wiki version), but sometimes there is no explicit mention, which often makes the reader a bit hesitant about details of the proposal being presented. On the other hand, if the work is proposing some new variation, the semantics is sometimes given informally or by using a formalism which is not easy to align with the available descriptions of i*. In order to deal with this problem we proposed at 2005 a reference metamodel for i* <ref type="bibr" target="#b1">[2]</ref> where particular metamodels of i* variations can be obtained by applying UML refactoring operations. Since then, we have revised this metamodel upon which we have based our research work on: i* inheritance, requirements interoperability, and metrics frameworks among others.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Objectives of the Research</head><p>In this report-of-progress paper, we review our proposal of metamodel for the i* framework, we show our updated version and outline several contexts in which it has been used to formalize our i*-related proposals. In particular, our main objective has been to define a metamodel able to express most of the current variations and extensions of the i* framework and to use this metamodel as a reference model for our lines of research. More precisely, we have worked with four specific objectives in mind: (i) To define a metamodel for the i* framework not bound to any particular technology, (ii) To use this metamodel as the underlying baseline for defining a i* diagram interchange format, iStarML, (iii) To use this metamodel as a reference framework over which formulating our own extensions and variations of i*, namely a full definition of inheritance and the concept of module, and (iv) To use this metamodel as the syntactic baseline over which formulating a framework for the definition of metrics on i*.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Scientific Contributions</head><p>As a first tangible contribution, we are proposing an i* metamodel compliant with the objectives stated in Section 2 (generality, flexibility, technological independence; see Figure <ref type="figure" target="#fig_0">1</ref>). It has been built by consolidating several main versions of the framework, as thoroughly described in <ref type="bibr" target="#b0">[1]</ref>. It presents some superclasses of interest (Node as the most general one, and also DependableNode and IntentionalElement) and then the most relevant i* concepts: Actor, SR-Element and SD-Dependum as classes, and Relationship and Link as association classes, all of them with the appropriate subclasses.</p><p>The iStarML interchange format <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b3">4]</ref> has being designed starting from the metamodel. The format implements the metamodel as an XML grammar and also supports the possibility of extension with new constructs. The ccistarml v0.6 Java package (http://www.essi.upc.edu/~ccares/ccsoftware/ccistarml_v0.6.1.zip) allows creating, importing and handling iStarML-compliant files. Several tools have been and are being customized to support importing and exporting iStarML. Remarkably, the HiME tool (http://www.lsi.upc.edu/~llopez/hime/) supports both export and import, whilst we have developed an online translator from OME .tel files into iStarML (http://www.essi.upc.edu/~ccares/index.php?section=ometranslator). It is planned for adoption in a next release of TAOM4E (http://sra.itc.it/tools/taom4e/).</p><p>The inheritance proposal presented in <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b5">6]</ref> and the module construct as defined in <ref type="bibr" target="#b6">[7]</ref> have been related to the metamodel. This makes the definition of both concepts easy to integrate into the i* framework. In the case of inheritance, the integration is very tight since inheritance appears in the metamodel itself, therefore we are just providing a more detailed definition of a core concept. The concept of inheritance has been implemented in the HiME tool presented above, supporting the three operations identified in <ref type="bibr" target="#b4">[5]</ref>: extension, refinement and redefinition. As for modules, the option has been to integrate in a loosely coupled way, meaning that modules are linked to the metamodel but the metamodel is not modified. Figure <ref type="figure" target="#fig_1">2</ref> provides an excerpt of both modifications. We may observe that in addition to actor inheritance, we are allowing the refinement of dependencies and intentional elements in general, and extension and redefinition only for SR-elements. Concerning modules, in addition to the general concept of module, we identify SD-modules and SR-modules. SR-modules may be of different types too, e.g. for storing means-end decompositions. New classes are introduced for these concepts, coupled to their counterpart elements in the metamodel. As a last remarkable use of the i* metamodel, we have used it as the baseline for formulating an i* metrics definition framework. In <ref type="bibr" target="#b7">[8]</ref>, we have provided a catalogue of metric definition patterns in which their form is expressed as an OCL template involving metamodel elements (see Figure <ref type="figure" target="#fig_2">3</ref> for an example). In <ref type="bibr" target="#b8">[9]</ref>, we have illustrated a particular case of application, the definition of a metric suite for business process modeling. In this exemplar we may observe the general procedure in which an extension of the i* metamodel for capturing the essential concepts of the domain of interest (business processes in this case) is needed. Then, the metric suites that exist in this domain are mapped into their counterparts using a metamodel mapping.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Name Dependency-Based (Metrics Definition -&gt; Quantitative -&gt; Structural) Context</head><p>Some metrics have sense when applied to dependency links</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Problem</head><p>The metrics will depend not just on the characteristics of the dependency link itself, but also on the two actors that act as depender and dependee</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Solution</head><p>Identify three different factors that influence the metrics: one bound to the dependency link itself (probably related with the type of its dependum), and the others to the two actors, depender and dependee</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Required knowledge</head><p>The effect of the depender, the dependee and the dependum in the metric, represented by three functions: filter: Dependum Float correctionFactorDepender: Actor Float, correctionFactorDependee: Actor Float  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusions</head><p>This main purpose of this paper has been twofold. On the one hand, illustrating the form that the i* reference metamodel takes by including a particular proposal. On the second hand, providing an overview of the different uses of such a metamodel in different contexts that may be of general interest for the i* community: for model interchange, for definition of new concepts and for definition of metrics.</p><p>Several authors agree on our belief that the existence of an i* metamodel could bring some benefits (shared understanding, tool interoperability, etc.) to the i* community <ref type="bibr" target="#b9">[10,</ref><ref type="bibr" target="#b10">11]</ref>, although the statement could in fact be a matter of discussion, and in fact some other researchers advocate for more focused metamodels like the Tropos metamodel <ref type="bibr" target="#b11">[12]</ref> and the GRL metamodel <ref type="bibr" target="#b12">[13]</ref>. Our view is that the differences among the several existing approaches concerning the core concepts of i* are not so severe as to prevent the proposed agreement, whilst the potential benefits seem attractive enough.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Ongoing and Future Work</head><p>We think that the most important future work is a community work: agreeing on a metamodel as the "official" i* framework metamodel the one presented here or other), making it available in the i* wiki for reference. Its existence shall provide a shared context to i* researchers and practitioners, and shall serve as reference for: new extensions and variations, semantic and pragmatic agreements, tool support, etc.</p><p>Concerning our particular future work, we plan to advance in the following research lines: (1) using iStarML as the technological infrastructure to connect as many available tools as possible. This also means coping with the mapping problem where a construct that is used in some source tool is not supported in some destination tool. An example of how to deal with this case has been presented in <ref type="bibr" target="#b3">[4]</ref>; (2) completing the definition of inheritance, providing the necessary restrictions on the use of the identified operations (extension, refinement and redefinition <ref type="bibr" target="#b4">[5]</ref>) in the form of OCL constraints over the metamodel elements; (3) creating a comprehensive catalogue of metrics suite based on the use of the patterns identified in our previous work; (4) implementing the concepts presented here (inheritance, modularity and metrics) using our HiME tool, and (5) providing semantics to the metamodel (i.e., how the different concepts proposed in the metamodel should be interpreted).</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. The i* metamodel.</figDesc><graphic coords="3,141.00,147.35,313.45,312.25" type="bitmap" /></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. Extending the i* metamodel, excerpts: inheritance (left) and modules (right).</figDesc><graphic coords="3,124.86,580.61,147.72,94.12" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>FormcontextFig. 3 .</head><label>3</label><figDesc>Fig. 3. Defining metric patterns by means of OCL templates over the i* metamodel.</figDesc></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. Extending the i* metamodel for defining metrics over business process models.</figDesc><graphic coords="4,203.81,445.86,199.38,126.85" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">This work has been partially supported by the Spanish project TIN2007-64753.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A Reference Model for i*</title>
		<author>
			<persName><forename type="first">C</forename><surname>Cares</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mayol</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Quer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Social Modelling for Requirements Engineering</title>
				<imprint>
			<publisher>The MIT Press</publisher>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
	<note>in press</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A Comparative Analisys of i*-Based Goal-Oriented Modelling Languages</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">P</forename><surname>Ayala</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Cares</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P</forename><surname>Carvallo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Grau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Haya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Salazar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mayol</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Quer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AOSDM</title>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">iStarML: An XML-based Model Interchange Format for i*</title>
		<author>
			<persName><forename type="first">C</forename><surname>Cares</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Perini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Susi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Procs. of the 3 rd International i* Workshop</title>
		<title level="s">CEUR-WS</title>
		<meeting>s. of the 3 rd International i* Workshop</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">322</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Towards Interoperability of i* Models using iStarML</title>
		<author>
			<persName><forename type="first">C</forename><surname>Cares</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Perini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Susi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Standards &amp; Interfaces</title>
		<imprint>
			<publisher>Elsevier</publisher>
		</imprint>
	</monogr>
	<note>in press</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">The Meaning of Inheritance in i*</title>
		<author>
			<persName><forename type="first">R</forename><surname>Clotet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>López</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Marco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Seyff</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Grünbacher</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AOIS</title>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Defining Inheritance in i* at the Level of SR Intentional Elements</title>
		<author>
			<persName><forename type="first">L</forename><surname>López</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Marco</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Procs. of the 3 rd International i* Workshop</title>
		<title level="s">CEUR-WS</title>
		<meeting>s. of the 3 rd International i* Workshop</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">322</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Incorporating Modules into the i* Framework</title>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CAiSE</title>
				<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Towards a Catalogue of Patterns for Defining Metrics over i* Models</title>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Grau</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CAiSE</title>
				<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A Method for the Definition of Metrics over i* Models</title>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CAiSE</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Improving Requirements Specifications in Model-Driven Development Process</title>
		<author>
			<persName><forename type="first">J</forename><surname>Cabot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Yu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ChaMDE</title>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">Improving the Effectiveness of Visual Representations in Requirements Engineering: An Evaluation of i* Visual Syntax</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Moody</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Heymans</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Matulevicius</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">The Tropos Metamodel and its Use</title>
		<author>
			<persName><forename type="first">A</forename><surname>Susi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Perini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>Informatica</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">A Lightweight GRL Profile for i* Modeling</title>
		<author>
			<persName><forename type="first">D</forename><surname>Amyot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Horkoff</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Gross</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Mussbacher</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">RIGiM</title>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

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