<?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">Model Contextual Variability for Agents Using Goals and Commitments</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">George</forename><surname>Chatzikonstantinou</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Electrical and Computer Engineering</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Kostas</forename><surname>Kontogiannis</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Electrical and Computer Engineering</orgName>
								<orgName type="institution">National Technical University of Athens</orgName>
								<address>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Model Contextual Variability for Agents Using Goals and Commitments</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">C393B72A65E468F09DC3B2B597AE3839</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T00:00+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 models</term>
					<term>agent-oriented models</term>
					<term>commitments</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Goal models have been extensively utilized in requirements engineering as they provide an expressive and qualitative way to represent requirements, while recent extensions related to contextual variability have further increased the expressiveness of the models. In addition to their application in requirements engineering however, goal models have been also proposed in the literature as a formal way to define the internal design of agents in multi-agent systems. In this paper we adopt the idea of applying goal models with contextual elements, i.e. conditional goals, decompositions and contributions, as a mean to model the internal design of agents. Furthermore, we express the way those agents can interact with each other in terms of commitments, a recently introduced modeling concept that can be used for the definition of communication protocols in multi-agent systems. In this context, we introduce a transformation process that maps all conditional elements to commitments and contributions, and hence, reasoning techniques that exist for commitments can be applied to contextual models with no further changes.</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>Goal models, which have been extensively utilized in requirements engineering, have been proposed in the literature as a formal way to define the internal design and objectives of agents in multi-agent systems. This idea has been also adopted by <ref type="bibr">Chopra et al.</ref> in <ref type="bibr" target="#b0">[1]</ref>, where they additionally introduce the notion of commitment as a way to model the communication protocol, i.e. the way agents can interact with each other, in multi-agent systems. More specifically, in <ref type="bibr" target="#b0">[1]</ref>, the internal design of each agent, along with the goals it wants to achieve, are defined in terms of AND/OR decompositions, and contributions. Given that an agent has the capability to fulfil only a subset of its intended goals on its own, it cannot help but depend on others for the fulfilment of the remaining ones. These dependencies are expressed via roles the agents can adopt, and commitments that exist between agents that play those roles. In a more detailed manner, a commitment of the form Commitment(Debtor,Creditor, antecedent, consequent) means that the Debtor is committed to the Creditor for the consequent if the  antecedent holds, where both Debtor and Creditor are roles that an agent can adopt. Once the goal model of each agent, as well as the sets of roles and commitments have been specified, the authors provide the semantics of a reasoning process that can be used to check whether the achievement of a specific agent's goal can be supported by the underlying protocol.</p><p>As an example consider the case illustrated in Fig. <ref type="figure" target="#fig_0">1</ref>, where two agents, namely Alice and Tom, participate in an online marketplace application (ignore the conditional goal node for the moment). In this example Alice, who adopts role "Customer", can satisfy her goal "Product paid" on her own as this is a capability of hers. The satisfaction of her goal "Product shipped" however, can be only supported by the commitment denoted as "c" in the figure. In a nutshell, because of the existence of the commitment "c", Tom, who participates in the application as a "Merchant", is committed to provide "Product shipped", if Alice (the "Customer") fulfils "Product paid".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Research Objectives</head><p>In this paper, we utilize the ideas of <ref type="bibr" target="#b1">[2]</ref> and <ref type="bibr" target="#b2">[3]</ref> related to contextual variability of goal models, in order to capture the variability that may exist in the internal design of an agent as a consequence of alterations in the context an agent acts in. In this case however, the problem that needs to be solved is slightly different. We are now interested in studying whether a specific agent's goal can be supported by the underlying protocol and within the given context. Hence, the reasoning process described in <ref type="bibr" target="#b0">[1]</ref> does not apply any more.</p><p>To overcome this problem, and in an attempt to keep the reasoning mechanism unchanged, we propose the framework illustrated in Fig. <ref type="figure" target="#fig_1">2</ref>. In a more descriptive manner, we firstly extend the metamodel introduced in [4] so as to</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Reasoning Semantics</head><p>Chopra et al. <ref type="bibr" target="#b0">[1]</ref> Reasoning Implementation uses</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Multi-agent Application Metamodel</head><p>Chopra et al. <ref type="bibr" target="#b3">[4]</ref> </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Transformation</head><p>Model with NO Conditional Elements conforms to Can Agents Support their Goals within a given Context ? support contextual elements, i.e. goals, decompositions and contributions (see section 3.1), and we then introduce a transformation process that will allow us to express those context-related modeling elements in terms of commitments and contributions (see section 3.2). Thus, by applying this transformation, we can produce a model that captures the multiple variations that may exist in the initial model, while at the same time we can reuse the reasoning semantics proposed in <ref type="bibr" target="#b0">[1]</ref>. It is important to note that the produced model is only intended to be used for the generation of the rules required for the reasoning process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Model with Conditional Elements</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Multi-agent Application with Contextual Variability Metamodel</head><p>3 Scientific Contribution</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Agents with Context-dependent Goal Models</head><p>Using the conceptual model defined in <ref type="bibr" target="#b3">[4]</ref> as a starting point, and taking into consideration the way contextual variability is captured in goal models in <ref type="bibr" target="#b1">[2]</ref> and <ref type="bibr" target="#b2">[3]</ref>, we ended up with the metamodel depicted in Fig. <ref type="figure" target="#fig_2">3</ref>. While the part of the metamodel related to the definition of a service engagement in terms of commitments and roles is identical to the one introduced in [4] (and thus not included in the figure), the goal-oriented representation of agents is extended with the addition of conditions. More specifically, the proposed metamodel allows for goals, decompositions, and contributions to be defined as conditional, in the sense that each one of those modeling elements can be related to one or more conditions, the truth values of which dictate the existence of the corresponding element in the goal model. Hence, a conditional element is included in the model only if at least one of the attached conditions is true, otherwise it must be removed. In this respect, the metamodel can capture the contextual variability of the internal model of an agent, where a specific context is mirrored by the assignment of truth values to all conditions in the model.</p><p>For the example illustrated in Fig. <ref type="figure" target="#fig_0">1</ref>, lets assume that the online marketplace application serves only e-shops that are located in Europe, and that the goal node "Phone call confirmation" is conditional and exist in the model only if Alice is located in Europe when she interacts with the application (C eu is true), and is removed otherwise. Lets also assume that Alice happens to be in the USA (i.e. condition C eu is false), and hence she can only receive a confirmation via an e-mail or an SMS. As Tom cannot provide neither of them to Alice, she will not be able to achieve her goal as a consequence of the context she acts in. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Goal</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>+AND +OR</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>DecompositionType</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">From Conditional Elements to Commitments</head><p>In this section we are going to define a transformation process for the mapping of conditional elements to commitments. Initially, we define a dummy agent called ContextAgent which has no goals to achieve, and always adopts the role Reasoner. The purpose of this agent is to provide other agents with goals that belong to the set of its capabilities (set G C ), something that can be done by enriching the existing protocol with additional commitments. More than that, for each condition in the model we create a corresponding role that can be adopted by the agents that participate in the application.</p><p>The mapping from conditional contributions to commitments for the four possible types (++S/D and −−S/D)<ref type="foot" target="#foot_1">1</ref> , along with the corresponding transformation steps are summarized in Table <ref type="table" target="#tab_1">1</ref>. Because of space limitations we will only discuss in detail the transformation process for the −−D conditional contribution. We start by adding two new goal nodes to the model, namely g s and g t , with the latter being a capability of the ContextAgent. Those two goal nodes are then connected to the goal model via two unconditional contributions, one of type −−D from g s to g s , and a second one of type ++S from g t to g t . Subsequently, the commitment Commitment(Reasoner,r cond ,g s ,g t ) is inserted in the protocol of the application. What remains to be proved is the soundness of the mapping from the −−D conditional contribution, to the rules that use commitments and unconditional contributions. In other words, we must show that when condition C cond is true, and g s is not satisfied, goal g t is fulfilled.</p><p>Actually, if g s is denied, g s is satisfied because of the existence of the −−D contribution from the former to the latter. This implies that if the agent adopts the role r cond (this is the role that corresponds to C cond ), and because of the commitment previously specified, ContextAgent will provide it with g t which is one of ContextAgent's capabilities. Finally, the truth of g t has as a consequence the satisfaction of g t goal node because of the ++S contribution introduced earlier. Hence, if g s is denied and the agent adopts the role r cond , g t becomes true, while if r cond is not adopted, g t can not be satisfied as a consequence of the </p><formula xml:id="formula_0">g t ∈ GC , g t ++S − −− → gt gs −−S −−−−→ {cond} gt</formula><p>Commitment(Reasoner,r cond ,gs,g t )</p><formula xml:id="formula_1">g t ∈ GC , g t −−S − −− → gt gs −−D −−−−→ {cond} gt Commitment(Reasoner,r cond ,g s ,g t ) , g t ∈ GC gs −−D −−−→ g s , g t ++S − −− → gt gs ++D −−−−→ {cond} gt Commitment(Reasoner,r cond ,g s ,g t ) , g t ∈ GC gs −−D −−−→ g s , g t −−S − −− → gt</formula><p>denial of g s , as in this case the corresponding commitment cannot be applied. This means that by substituting the initial −−D conditional contribution with a commitment and an appropriate combination of unconditional contributions, we end up with a model that does not contain the initial conditional element but still has the same behavior as if it was part of the model. Finally, the remaining two conditional elements, i.e. decompositions and goals, can be fully described by utilizing conditional contributions, and so, the same transformation process can also apply in those cases. The way a conditional decomposition, and an OR-child node are encoded as conditional contributions is illustrated in Fig. <ref type="figure" target="#fig_3">4a</ref> and 4b respectively, while because of the duality between AND and OR-decomposition the former has been omitted.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion</head><p>In this paper we use goal models with conditional elements as a mean to capture the contextual variability of agents that participate in a multi-agent application. Consequently, we propose a set of rules for the transformation of those conditional elements to commitments and contributions. This transformation allows us to apply the same reasoning process introduced in <ref type="bibr" target="#b0">[1]</ref> even in the presence of conditional goals, decompositions and contributions. Hence, we have succeeded in increasing the expressiveness of the metamodel introduced in [4], while at the same time the proposed reasoning techniques can still apply without changes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Ongoing and future work</head><p>The extended metamodel presented in this paper is intended to be used for modeling policies that must apply in multi-layer systems at run-time. The formal representation of those policies, along with a proper reasoning engine, and in combination with advanced monitoring techniques, can then be utilized in order to check whether the system complies with the required policies or not. In our work we mainly focus on the former two parts, namely policy modeling, and reasoning, and we examine the applicability of probabilistic and fuzzy logic reasoners to the problem of policy validation.</p><p>An application of the proposed modeling is presented in <ref type="bibr" target="#b4">[5]</ref>. The problem we are trying to solve in this paper is quite different, as we are interested in predicting the satisfaction of goals related to software project development. However, we show how a goal model with conditional modeling elements can be transformed to a first order logic knowledge base, which can then be used to perform probabilistic reasoning.</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: Two agents that participate in an online marketplace application.</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: The proposed framework.</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: The metamodel for the contextual variability of agents' goals.</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: Conditional a) decomposition (G1 is AND-decomposed if C1 holds, or OR-decomposed if C2 holds) and b) goal encoded as conditional contributions.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 :</head><label>1</label><figDesc>Mapping conditional contributions to commitments.</figDesc><table><row><cell cols="3">Conditional Contribution</cell><cell>Mapping to Commitments</cell></row><row><cell>gs</cell><cell>++S −−−−→</cell><cell>gt</cell><cell>Commitment(Reasoner,r cond ,gs,g t )</cell></row><row><cell></cell><cell>{cond}</cell><cell></cell><cell></cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_1">In the context of this paper we adopt the semantics of<ref type="bibr" target="#b0">[1]</ref> for contributions Proceedings of the 6th International i* Workshop (iStar</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2013" xml:id="foot_2">), CEUR Vol-978</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgment This research is co-funded by the European Union (European Social Fund ESF) and Greek National funds through the Operational Program "Education and Lifelong Learning" of the National Strategic Reference Framework (NSRF) -Research Funding Program: Heracleitus II. Investing in knowledge society through the European Social Fund.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Reasoning about agents and protocols via goals and commitments</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K</forename><surname>Chopra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Dalpiaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AAMAS</title>
		<imprint>
			<biblScope unit="page" from="457" to="464" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A goal-based framework for contextual requirements modeling and analysis</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Dalpiaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Requir. Eng</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="439" to="458" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Capturing contextual variability in i* models</title>
		<author>
			<persName><forename type="first">A</forename><surname>Lapouchnian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">iStar</title>
		<imprint>
			<biblScope unit="page" from="96" to="101" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Modeling and reasoning about service-oriented applications via goals and commitments</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K</forename><surname>Chopra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Dalpiaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CAiSE</title>
				<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A goal driven framework for software project data analytics</title>
		<author>
			<persName><forename type="first">G</forename><surname>Chatzikonstantinou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Kontogiannis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 6th International i* Workshop (iStar 2013)</title>
				<meeting>the 6th International i* Workshop (iStar 2013)</meeting>
		<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="volume">978</biblScope>
		</imprint>
	</monogr>
	<note>CAiSE.</note>
</biblStruct>

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