<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Goal-Based Self-Contextualization</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Trento - DISI</institution>
          ,
          <addr-line>38100, Povo, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <fpage>37</fpage>
      <lpage>42</lpage>
      <abstract>
        <p>System self-contextualizability is the system ability to autonomously adapt its behavior to the uncontrollable relevant context to keep its objectives satisfied. Self-contextualizable system must have alternative behaviors each fitting to a set of contexts. We propose to start considering context at the level of requirements engineering, adopting Tropos goal model to express requirements and complementing it with our proposed context analysis. We define variation points on goal model where a context-based decision might need to be taken, and propose constructs to analyze context. While goal analysis provides constructs to hierarchically analyze goals and discover alternative sets of tasks to be executed to satisfy a goal, our proposed context analysis provides constructs to hierarchically analyze context and discover alternative sets of facts to be monitored to verify a context.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Self-contextualizable software is able to monitor context and to autonomously adapt to
it in order to keep its design objectives satisfied. This mainly means that the developed
software has a space of alternative behaviors each fitting to a specific context.
Consequently, and to allow for a systematic behavior adaptation to context, we need to specify
the relation between each behavior and the context where such behavior is adoptable.</p>
      <p>
        Context modeling, (e.g. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), concerns finding modeling constructs to represent
context, but there is still a gap between the context models and the software behavior
models, i.e. the relation between context and its use is missed. We need to reduce such gap
and to allow for answering questions like: “how do we decide the relevant context?”,
“why do we need context?” and “how does context influence software and user behavior
adaptation?”. Salifu et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] investigate the use of problem descriptions to represent
and analyze variability in context-aware software; the work recognizes the link between
requirements and context as a basic step to design context aware systems.
      </p>
      <p>
        Goal analysis (i* [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], Tropos [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and KAOS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]), provides a way of analyzing
high level goals to discover and represent alternative sets of tasks that can be executed
to achieve such goals. Goal model is used to represent the rationale of both humans
and software systems, and is a mainstream technique for requirements engineering and
helps for representing software design alternatives. These features are important for
self-contextualizable software that must have alternatives and a rationale that reflects
users and software adaptation to context in order to adopt a useful execution course [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
From a goal perspective, a self-contextualiazable software is assigned a set of goals and
has to keep them satisfied in a way tailored to the context. However, there is still a gap
between goal analysis that discovers the space of alternatives to reach a goal, and the
context where each alternative is adoptable.
      </p>
      <p>
        Customizing goal models to fit to user skills and preferences was studied in [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
The selection between goal satisfaction alternatives is based on one dimension of
context, i.e. user skills, related to the executable tasks of the goal hierarchy, and on user
preferences which are expressed over softgoals. Lapouchnian et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] propose
techniques to design autonomic software based on an extended goal modeling framework,
but the relation with the context is not focused on. Liaskos et al [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], study the
variability modeling under the requirements engineering perspective and propose a
classification of the intentional variability when Or-decomposing a goal. Differently, we focus on
context variability, i.e. the unintentional variability, which influences the applicability
and appropriateness of each goal satisfaction alternative.
      </p>
      <p>
        In this paper, we extend our previous goal modeling framework [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11–13</xref>
        ] to support
the self-contextualizability at the goal level. We use goal analysis in conjunction with
our proposed context analysis to build self-contextualizable goal models. We provide
constructs to hierarchically analyze context at the variation points of Tropos goal model.
The proposed hierarchial context analysis will help us to identify the data the system has
to monitor to verify each context, i.e. it helps to identify the monitoring requirements.
In what follows, we describe our vision and proposed framework.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Self-Contextualizable Goal Model</title>
      <p>Self-contextualization, from a goal oriented perspective, is the autonomous selection
between goal satisfaction alternatives to fit to the variable context. The basic idea is to
keep the goals satisfied in different contexts through an adaptable course of execution.
Here we give four principles for self-contextualizability from a goal perspective:
Context effects: context influences the set of satisfiable goals, the need to satisfy each
goal, the possible goal satisfaction alternatives, and the quality of each alternative.
Context is not adaptable: context does not adapt to users and software; rather, users
and software have to adapt to context to satisfy, and/or to better satisfy, their goals.
Users contextualizability comes first: defining software self-contextualizability has to
be based on how its users behave in different contexts. We need to analyze users goals
to discover a space of satisfaction alternatives, and to analyze how context influences
users in deciding and choosing among different alternatives for satisfying their goals.
Self-contextulaizable software has to reflect users adaptation to the context first, and
then adapt itself to context.</p>
      <p>Contextualization times: software contextualization can be done while deploying the
software, that supports different alternatives, in a certain environment to adapt it to
some contextual characteristics that never change, i.e. some alternatives are not usable
and redundant in that environment. Other variable characteristics necessitate keeping
different alternatives and adopting one of them at runtime based on which context is
valid. In both cases, the systematic contextualization needs specifying the relation
between goal alternatives and context.</p>
      <p>Fig. 1 represents a partial goal model for a promotion information system that will
interact with customers and sales staff, through their PDAs, for promoting products
with a number of alternatives. To make it self-contextualizable, we need to explicitly
represent the relation between these alternatives and context. Contexts can be related to
the following variation points of Tropos goal model:
Custom
er IS
by cross-selling
product to customer
promote product to
customer in mall</p>
      <p>or
1. Or-decomposition: Or-decomposition is the basic variability construct, we still need
to specify in which context each alterative in an Or-decomposition can be adopted.
2. Actors dependency: in some contexts, an actor might attain a goal / get a task
executed by delegating it to another actor.
3. Goal activation: an actor, and depending on the context, might find necessary or
possible triggering (or stopping) the desire of satisfying a goal.
4. And-decomposition: a sub-goal / sub-task might (or might not) be needed in a
certain context, that is, some sub-goals / sub-tasks are not always mandatory to fulfil
the top-level goal / task in an And-decomposition.
5. Means-end: goals can be ultimately satisfied by means of specific executable
processes (tasks). The adoptability of each task might depend on the context.
6. Contribution to soft-goals: the contributions to the softgoals can vary from one
context to another. We need to specify the relation between the context and the
value of the contribution.</p>
      <p>
        We need to analyze context to discover, represent, and to agree on how it can be
verified. Differently from the research in context modeling (see the survey [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]), we do
not provide an otology or a modeling language for representing context, but modeling
constructs to hierarchically analyze context. We specify context by a high level
statement and start to refine it to get by the end alternative sets of facts that are definable on
monitorable data. The truth value of facts is bottom-up propagated to define the truth
value of the high level statement (see Fig. 2). We also need to keep track of the elements
of environment the different goals, tasks, statements and facts are concerned with. To
do this, we propose to parameterize goals, tasks, statements, and facts.
Parametrization is necessary to decide and make it explicit the domain of discourse of goals, tasks,
statements, and facts, i.e. the elements of the environment under discussion.
      </p>
      <p>To better explain the approach, let us consider the Or-alternative “ Promote by
crossselling the product to customer” which concerns the elements: product, and customer.
The parameterized goal is “Promote by cross-selling the product [p] to customer [c]”.
A simplified analysis of the context where this alternative is adoptable is shown in
Fig. 2.a. Moreover, by analyzing the elicited facts, the analyst can extract the conceptual
data model the monitoring system has to instantiate to make facts validation possible.
The analysis of the last context facts leads to the conceptual data model of Fig. 2.b.
product to promote [p] in mal [m] can
give more value to a related product [rp]
that customer [c] already has</p>
      <p>and
[p] has a common use</p>
      <p>with [rp]
[c] does not already</p>
      <p>have [p]
[c] did not
get [p] from
[m] recently</p>
      <p>and
[c] did not
buy [p] from
[m] recently
[p]compleme</p>
      <p>nts [rp]
functionality</p>
      <p>
        We provide a set of modeling constructs to analyze high-level context statements
and to elicit the monitorable facts that are used to assign truth values to statements.
Context, the reification of the environment that surrounds the system and influences it,
can be monitored but not controlled by the system itself [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Under this assumption,
systems cannot change the context but should adapt to it for satisfying users objectives.
Definition 1 (Fact) a boolean predicate specifying a current or a previous context,
whose truth value can be computed objectively.
      </p>
      <p>The objective method to compute a fact truth value requires monitoring some
characteristics and history of a set of relevant environment elements.</p>
      <p>Definition 2 (Statement) a boolean predicate specifying a current or a previous
context, whose truth value can not be computed objectively.</p>
      <p>Statement verification could not be objectively done because the system is not able to
monitor and get all the data needed to compute the truth value of a statement, or because
there could be no consensus about the way of knowing the truth value of a statement.
Anyhow, to handle such problem we adopt a relaxed confirmation relation between
facts, which are objectively computable by definition, and statements, in order to assign
truth values to statements. We call this relation “help” and define it as following:
Definition 3 (Help) Let f be a fact, s be a statement. help(f, s)
⇐⇒
f → s
The relation help is strongly subjective, since different stakeholders could define
different help relations for the same statement.</p>
      <p>Definition 4 (And-decomposition) Let {s, s1, . . . , sn}, n ≥ 2 be statements (facts).
and decomposed(s, {s1, . . . , sn}) ⇐⇒ s1 ∧ . . . ∧ sn → s
Definition 5 (Or-decomposition) Let {s, s1, . . . , sn}, n ≥ 2 be statements (facts).
or decomposed(s, {s1, . . . , sn}) ⇐⇒ ∀i ∈ {1, . . . , n}, si → s
Here we give some examples to illustrate the previous concepts:
– “two products, [p1] and [p2], are usually sold together” is a fact the system can
verify through checking the sales record of all customers and check if the two
products are often sold together.
– “customer [c] is interested in the product [p]” is a statement since the system
can not objectively compute its truth value. This statement can be Or-decomposed
into “customer [c] is behaviorally interested in product [p]” and “customer [c]
is historically interested in product [p]” substatements. The system can get some
evidence of the first substatement through the help of the fact “[c] holds [p] for
long time”, or the fact “[c] comes to [p] area so often”. The second substatement
can be verified through the fact “[c] buys periodically [p]” or the fact “[c] buys
usually of [p] category”.
– “customer [c] does not have the product [p]” is a statement that can be verified
through the fact “[c] did not get [p] recently from the mall [m]”, that is
Anddecomposed into “[c] did not buy [p] recently from [m]” and ”[c] does not have
[p] in his/her shopping cart”. However both facts do not ensure that the customer
does not have the product (e.g., the system cannot verify if the customer was given
the product as a gift, or bough it from another mall).</p>
      <p>Our proposed hierarchical context analysis has the potential to make a context (i)
more understandable for the stakeholders, (ii) easily modifiable as it is not given as one
monolithic block, and (iii) more reusable as parts of the statement analysis hierarchy
can be also used for other variation points or other stakeholders context specifications.
Moreover, the analysis justifies why the monitoring system has to capture environmental
data, as such data are needed to verify facts that in turn confirm or disapprove statements
that are needed to make a decision at the variation points of the goal model. Specifying
for each fact the related fragments of the data conceptual model is useful for purpose of
tracking. For example, if for some reason, a group of stakeholders decided to drop, to
alter, or to reuse one alternative, statement, or fact, we still can track which fragments
in the conceptual data model could be influenced.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Work</title>
      <p>
        In this paper, we have introduced a goal-oriented framework for self-contextualizable
systems. We have discussed the self-contextualizability from goal-based perspective.
We have proposed the association between goal satisfaction alternatives and context.
In turn, context is defined through statement analysis that elicits the alternative sets of
facts the system has to validate on monitorable data so to confirm the high level
statements. As future work, we will define models covering all development phases of
selfcontextualizable software and a process to facilitate the development of high quality
self-contextualizable software. We also want to extend the formalization and reasoning
mechanisms we proposed in [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ] to fit to the modeling framework introduced in this
paper. We will work on complex case studies in order to better validate our approach.
Finally, statements and facts suffer of interaction problems; therefore, supporting tools
and reasoning techniques should be proposed to support the design and verification of
models.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgement</title>
      <p>This work has been partially funded by EU Commission, through the SERENITY, and
COMPAS projects, and by the PRIN program of MIUR under the MEnSA project. We
would also like to thank Prof. Jaelson Brelaz de Castro for the valuable discussion we
had about this work.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Henricksen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Indulska</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A software engineering framework for context-aware pervasive computing</article-title>
          .
          <source>In: Proc. Second IEEE Intl. Conference on Pervasive Computing and Communications (PerCom'04)</source>
          . (
          <year>2004</year>
          )
          <fpage>77</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Salifu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nuseibeh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Specifying monitoring and switching problems in context</article-title>
          .
          <source>In: Proc. 15th Intl. Conference on Requirements Engineering (RE'07)</source>
          . (
          <year>2007</year>
          )
          <fpage>211</fpage>
          -
          <lpage>220</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Modelling strategic relationships for process reengineering</article-title>
          .
          <source>Ph.D. Thesis</source>
          , University of Toronto (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bresciani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giunchiglia</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Tropos: An agentoriented software development methodology</article-title>
          .
          <source>Autonomous Agents and Multi-Agent Systems 8(3)</source>
          (
          <year>2004</year>
          )
          <fpage>203</fpage>
          -
          <lpage>236</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dardenne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Lamsweerde</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fickas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Goal-directed requirements acquisition</article-title>
          .
          <source>Science of computer programming 20(1-2)</source>
          (
          <year>1993</year>
          )
          <fpage>3</fpage>
          -
          <lpage>50</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fickas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feather</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Requirements monitoring in dynamic environments</article-title>
          .
          <source>In: Proceedings of the Second IEEE International Symposium on Requirements Engineering</source>
          , IEEE Computer Society Washington, DC, USA (
          <year>1995</year>
          )
          <fpage>140</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hui</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liaskos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Requirements analysis for customizable software goalsskills-preferences framework</article-title>
          . In: RE, IEEE Computer Society (
          <year>2003</year>
          )
          <fpage>117</fpage>
          -
          <lpage>126</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Liaskos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Representing and reasoning with preference requirements using goals</article-title>
          .
          <source>Technical report</source>
          , Dept. of Computer Science, University of Toronto (
          <year>2006</year>
          ) ftp://ftp.cs.toronto.edu/pub/reports/csrg/542.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liaskos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Requirements-driven design of autonomic application software</article-title>
          .
          <source>In: Proc. 2006 conference of the Center for Advanced Studies on Collaborative research (CASCON '06)</source>
          , ACM (
          <year>2006</year>
          )
          <fpage>7</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Liaskos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>On goal-based variability acquisition and analysis</article-title>
          .
          <source>In: Proc. 14th IEEE Intl. Requirements Engineering Conference (RE'06)</source>
          . (
          <year>2006</year>
          )
          <fpage>76</fpage>
          -
          <lpage>85</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Location-based variability for mobile information systems</article-title>
          . In Bellahsene,
          <string-name>
            <surname>Z.</surname>
          </string-name>
          , Le´onard, M., eds.:
          <source>CAiSE</source>
          . Volume
          <volume>5074</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2008</year>
          )
          <fpage>575</fpage>
          -
          <lpage>578</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Modeling and analyzing variability for mobile information systems</article-title>
          . In Gervasi,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Murgante</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Lagana</surname>
          </string-name>
          <string-name>
            <surname>`</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Taniar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Mun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Gavrilova</surname>
          </string-name>
          , M.L., eds.:
          <source>ICCSA (2)</source>
          . Volume
          <volume>5073</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2008</year>
          )
          <fpage>291</fpage>
          -
          <lpage>306</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Location-based software modeling and analysis: Troposbased approach</article-title>
          . In Li,
          <string-name>
            <given-names>Q.</given-names>
            ,
            <surname>Spaccapietra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Olive</surname>
          </string-name>
          <string-name>
            <surname>´</surname>
          </string-name>
          , A., eds.
          <source>: ER</source>
          . Volume
          <volume>5231</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2008</year>
          )
          <fpage>169</fpage>
          -
          <lpage>182</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Strang</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Linnhoff-Popien</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A context modeling survey</article-title>
          .
          <source>In: Workshop on Advanced Context Modelling</source>
          ,
          <article-title>Reasoning and Management as part of UbiComp</article-title>
          . (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Finkelstein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savigni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Street</surname>
          </string-name>
          , G.:
          <article-title>A framework for requirements engineering for context-aware services</article-title>
          .
          <source>Proc. 1st Int. Workshop on From Software Requirements to Architectures (STRAW)</source>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>