<?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">Deriving Adaptive Behaviour from i* models</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Kristopher</forename><surname>Welsh</surname></persName>
							<email>k.welsh@lancs.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">Computing Dept</orgName>
								<orgName type="institution">Lancaster University</orgName>
								<address>
									<postCode>Infolab21 LA1 4WA</postCode>
									<settlement>Lancaster</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Pete</forename><surname>Sawyer</surname></persName>
							<email>p.sawyer@lancs.ac.uk</email>
							<affiliation key="aff0">
								<orgName type="department">Computing Dept</orgName>
								<orgName type="institution">Lancaster University</orgName>
								<address>
									<postCode>Infolab21 LA1 4WA</postCode>
									<settlement>Lancaster</settlement>
									<country key="GB">UK</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Deriving Adaptive Behaviour from i* models</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">7916C749BF5EFE35972205784CC391AE</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T07:10+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>Dynamically Adaptive Systems</term>
					<term>Istar</term>
					<term>Model-Derived</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Dynamically Adaptive Systems (DASs) adjust their behaviour at runtime to tolerate changes in context. With potentially incomplete or inaccurate knowledge of an operating environment, tailoring specific behavioural adjustments to individual contextual changes is a time-consuming and errorprone process. i* models of a DAS' behavioural adjustments can aid understanding, and can form part of the specification of the DAS' adaptive behaviour; speeding the specification process. This paper presents an approach by which a DAS' adaptive behaviour may be derived directly from a set of i* models, and a tool capable of performing the derivation automatically.</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>Dynamically Adaptive Systems monitor changes in their operating environment, and re-configure to better suit prevailing conditions. We have previously <ref type="bibr" target="#b0">[1]</ref> likened this to the balancing of conflicting softgoals as the environment dictates changes in what constitutes an acceptable balance between them. DASs commonly utilise some form adaptive middleware (for example <ref type="bibr" target="#b1">[2]</ref>), which separates the concerns of environmental monitoring, adaptation planning and effecting component substitution from the DAS' business logic. Adaptive middleware codifies system configurations (as combinations of components) and the conditions under which they are adopted in adaptation policies. These can be thought of as re-statements of decisions made after analysis of the environment, and of the available system components during the Requirements Engineering process.</p><p>Our existing LoREM process <ref type="bibr" target="#b2">[3]</ref> offers an i*-based modelling approach for DASs operating in environments that can be partitioned into distinct domains. An individual steady-state system, termed a target system is derived for each domain, as conceptualised in <ref type="bibr" target="#b3">[4]</ref>. From a modelling perspective, each target system is as complex as a traditional, non-adaptive system developed for the domain, with the key artefact to emerge from the modelling process being a selection of components to be adopted in each domain. This paper explores a method by which these selections of components, (modelled in i* SR diagrams) combined with i* models of environmental partitions can be used to derive the policies used by the system's adaptive middleware to control the DAS' adaptive behaviour.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Objectives of the Research</head><p>Given our belief that adaptation policies re-state the results of component selection decisions taken during the RE process, and that those decisions are recorded in i* models in LoREM, the research has three aims: 1.To establish a link between the i* based environmental modelling carried out as part of the LoREM process and DAS adaptation policies. 2. To develop an approach by which the adaptation policies can be derived from the i* models and 3. To automate the process.</p><p>Understanding the link between the LoREM i* models and a DAS' final adaptation policies is important in pinpointing modelling deficiencies and performing maintenance on the DAS. Given the complex nature of the environments for which a DAS will typically prove most useful, understanding may be incomplete or inaccurate. Being able to trace a sub-optimal or failing target system back to the environmental analysis is crucial to a time and cost efficient evolution process.</p><p>The ability to derive adaptation policies directly from LoREM models could reduce the time and effort spent in their development. DASs are hugely complex systems, and any support mitigating some of this complexity is beneficial.</p><p>Automating the derivation process not only saves time and helps to reduce the possibility of errors being made during policy derivation, but opens up an interesting possibility: the DAS may be able to perform the derivation itself. A combination of this ability, requirements monitoring and models@runtime <ref type="bibr" target="#b4">[5]</ref> could allow a DAS to perform some limited self-maintenance, in the form of correcting modelling deficiencies in response to monitored data, and re-creating its adaptation policies based on the updated model. This possibility is discussed further in section 5.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Scientific Contributions</head><p>The LoREM process involves creating i* SR models of each target system, illustrating the degree to which it satisfices the DAS' softgoals in each domain. These models are known as level 1 models. Level 2 models, show how the DAS' adaptive infrastructure monitors the environment, plans and effects adaptation for each valid transition between target systems. Level 3 models aid in the selection of the adaptive infrastructure, but are beyond the scope of this paper.</p><p>In <ref type="bibr" target="#b5">[6]</ref> we augmented the level 1 i* models with NFR framework <ref type="bibr" target="#b6">[7]</ref> claims, which are used to record assumptions about the domain, or the behaviour of the DAS itself. Claims are attached to contribution links, either making or breaking the attached link. A made contribution link (of any i* type) is lent special credence in the decisionmaking process, whereas a broken link's contribution is disregarded. This differs from the use of fine-grained contribution links in that a claim speaks to the importance of a contribution, whereas fine-grained contribution links speak to its magnitude. Claims differ to i* beliefs too, in that a belief is held by an actor to be true, with no presumption of truth by the analyst. Claims allow us to strike different softgoal balances for different target systems, even if softgoal contributions are unchanged.</p><p>To allow us to demonstrate our policy derivation method, we present a conceptually simple DAS first presented in <ref type="bibr" target="#b7">[8]</ref>. The adaptive image viewer was Deriving Adaptive Behaviour from i* models designed as a pedagogical example, and its sole adaptive capability is to introduce a caching component as the latency encountered in loading files increases beyond a set threshold. The system's operating environment can be easily divided into 2 domains: low (D 1 ) and high (D 2 ) latency. For each domain, a target system is modelled: S 1 and S 2 respectively. Figure <ref type="figure">1</ref> shows the level 1 i* models for each target system.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 1. LoREM Level 1 models for Image Viewer S 1 and S 2 Target Systems</head><p>As Fig. <ref type="figure">1</ref> shows, the only difference between the two target systems is the means by which the "Load Data" goal is satisfied. With two conflicting softgoals: "Maximise Speed" and "Minimise Memory Usage", the system opts not to waste memory using a cache in the low latency domain, but tries to prioritise speed in the high latency domain. The claims on the models explain the rationale behind the selection decision, despite the contributions of the "[Don't] Use Cache" tasks remaining constant.</p><p>By comparing the two level one models in Fig. <ref type="figure">1</ref>, it is possible to infer the component substitutions involved in transitioning from S 1 to S 2 and vice-versa. The precise component (or class) names associated with each selectable task can be placed in a lookup table when generating policies. Noting which component substitutions are necessary to transition between target systems is the first step in deriving the policies.</p><p>Figure <ref type="figure" target="#fig_0">2</ref> shows the level 2 i* model for the S 1 -S 2 transition. A similar model is produced for each valid transition, showing the three roles of a DAS' adaptation infrastructure. The monitoring mechanism observes the environment, providing data to the decision-making mechanism, which identifies when the environment switches from one domain to another and triggers adaptation. The Adaptation mechanism performs the component substitutions needed to adopt the appropriate target system.</p><p>To derive adaptation policies, the two key elements of the level 2 model are the transition being triggered, and the trigger itself. The transition is represented by the "Adapt from S 1 to S 2 " task on Fig. <ref type="figure" target="#fig_0">2</ref>, and the trigger by the "Fire HIGH_LATENCY event" task. As with the level 1 models, a lookup table can be used to associate a specific class with the "Fire HIGH_LATENCY event" task. Identifying these two elements is the second step in deriving adaptation policies. From Fig. <ref type="figure" target="#fig_0">2</ref>, we can see that the S 1 -S 2 transition is triggered by the HIGH_LATENCY event, and by comparing the two level 1 models in Fig. <ref type="figure">1</ref>, we can see that the only reconfiguration necessary is to swap the "Don't Use Cache" image loader with the "Use Cache" one. Hence, Fig. <ref type="figure">3</ref> shows the relevant portion of an adaptation policy compatible with the GridKit adaptive middleware <ref type="bibr" target="#b1">[2]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 3. Snippet from Image Viewer Adaptaion Policy</head><p>The rule shown in Fig. <ref type="figure">3</ref> is a snippet taken from a full adaptation policy generated by the tool created to automate the process. The tool operates on LoREM level 1 and 2 models created using the Organisation Modelling Environment (OME) i* modelling tool . The tool can be adjusted to produce policies for other adaptive infrastructures, and operates on the OME tool's saved models.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusions</head><p>DASs are a notable class of system, representing a first step on the road to fully autonomous systems. The complexity of DASs, and the environments for which they are conceived presents a problem of scale to the software engineering process. The i* based LoREM process offers a way to model and specify DASs where the &lt;ReconfigurationRule&gt; &lt;FrameWork&gt;Cache&lt;/FrameWork&gt; &lt;Events&gt;&lt;Event&gt;&lt;Type&gt;HIGH_LATENCY&lt;/Type&gt;&lt;Value/&gt;&lt;/Event&gt;&lt;/Events&gt; &lt;Reconfiguration&gt; &lt;FileType&gt;Java&lt;/FileType&gt;&lt;Name&gt;Reconfigurations.Cache&lt;/Name&gt; &lt;/Reconfiguration&gt; &lt;/ReconfigurationRule&gt; environment can be partitioned. This work builds upon LoREM, speeding the development of adaptation policies, aiding DAS implementation and maintenance.</p><p>We have demonstrated a link between a DAS' level 1 and 2 i* models and the system's adaptation polices. It is possible to derive the policies automatically, directly from models created with the OME i* modelling tool. Confirming this link not only improves support for policy creation, but allows sub-optimal adaptive behaviour to be traced back to the environmental understanding that led to its specification.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Ongoing and Future Work</head><p>The LoREM process is applicable only to DASs in partitionable environments, which is not always the case. We are considering ways in which other environments may be better supported by similar processes. Within the LoREM process, we are examining ways in which i* models can be used to validate developed DAS behaviour.</p><p>Perhaps the most important possibility opened up by this work is (as mentioned in section 2) is that of a DAS deriving its own adaptation policies from models at runtime. For this to be useful, the models would also need to be modifiable. By monitoring system performance and the environment it may be possible to identify modelling deficiencies automatically. In response, the models could be modified by the DAS, which would then re-derive its adaptation policies, thus adjusting its behaviour to fit the new models. Systems performing this kind of adaptation could be described as self-maintaining or self-tuning, and are the subject of ongoing work.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. LoREM Level 2 model for Image Viewer S 1 -S 2 Transition</figDesc><graphic coords="4,152.15,153.10,290.75,186.15" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">Proceedings of the 4th International i* Workshop -iStar10</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">When to Adapt? Identification of Problem Domains for Adaptive Systems</title>
		<author>
			<persName><forename type="first">K</forename><surname>Welsh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Sawyer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Requirements Engineering: Foundation for Software Quality</title>
		<imprint>
			<biblScope unit="page" from="198" to="203" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">GRIDKIT: Pluggable Overlay Networks for Grid Computing</title>
		<author>
			<persName><forename type="first">P</forename><surname>Grace</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Coulson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Blair</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Mathy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">K</forename><surname>Yeung</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Cai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Duce</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Cooper</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="1463" to="1481" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Goal-Based Modeling of Dynamically Adaptive System Requirements</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">J</forename><surname>Goldsby</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Sawyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Bencomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">H C</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Hughes</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems</title>
				<meeting>the 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems</meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="36" to="45" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The four levels of requirements engineering for and in dynamic adaptive systems</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">M</forename><surname>Berry</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">H C</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Zhang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">11th International Workshop On Requirements Engineering Foundation For Software Quality (REFSQ)</title>
				<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><forename type="first">G</forename><surname>Blair</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Bencomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">B</forename><surname>France</surname></persName>
		</author>
		<title level="m">Models@ run.time</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Requirements Tracing to Support Change in Dynamically Adaptive Systems</title>
		<author>
			<persName><forename type="first">K</forename><surname>Welsh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Sawyer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 15th International Working Conference on Requirements Engineering: Foundation for Software Quality</title>
				<meeting>the 15th International Working Conference on Requirements Engineering: Foundation for Software Quality<address><addrLine>Amsterdam, The Netherlands</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="59" to="73" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">L</forename><surname>Chung</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">A</forename><surname>Nixon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Yu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
		<title level="m">Non-functional requirements in software engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Towards requirements-driven autonomic systems design</title>
		<author>
			<persName><forename type="first">A</forename><surname>Lapouchnian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Liaskos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Yu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGSOFT Softw. Eng. Notes</title>
		<imprint>
			<biblScope unit="volume">30</biblScope>
			<biblScope unit="page" from="1" to="7" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

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