<!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>The Evolution of Tropos: Contexts, Commitments and Adaptivity</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Raian Ali, Amit K. Chopra, Fabiano Dalpiaz, Paolo Giorgini, John Mylopoulos, and Vitor E. Silva Souza Department of Information Engineering and Computer Science University of Trento -</institution>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>15</fpage>
      <lpage>19</lpage>
      <abstract>
        <p>Software evolution is the main research focus of the Tropos group at University of Trento (UniTN): how do we build systems that are aware of their requirements, and are able to dynamically reconfigure themselves in response to changes in context (the environment within which they operate) and requirements. The purpose of this report is to offer an overview of ongoing work at UniTN. In particular, the report presents ideas and results of four lines of research: contextual requirements modeling and reasoning, commitments and goal models, developing self-reconfigurable systems, and requirements awareness.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>At the University of Trento (UniTN), research on Tropos is conducted within the
Software Engineering and Formal Methods research program1. Currently, our main
research challenge is facilitating software evolution so that systems may be able to
evolve in response to changes in their operational environment and, more pertinently,
in their requirements themselves. We are addressing this challenge by formalizing
high-level concepts, and developing tools, techniques, and methodologies around
these concepts. Our approach is to support evolution via design-time models that are
made available at runtime. These models capture stakeholder intentions and
commitments, social interactions, business processes, and organizational goals.</p>
      <p>Evolution can be automatic (self-adaptation), or manual, or something in between.
When evolution is automatic, design-time models determine what is to be monitored,
what are the possible ways to adapt the behavior of the system when it deviates from
its intended purposes, and how to evolve the system at runtime. When evolution is
manual, these models are used as support for human activities. They offer a
comprehensive view of the requirements and traceability links between elements of
these models and the software code.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Objectives and Scientific Contributions</title>
      <p>Our activities in the area of software evolution may be broadly divided into the
following topics: contextual requirements modeling and reasoning, commitments and
goal models, architectures for self-reconfigurable systems, and requirements
awareness. The following elaborates on each.</p>
      <p>
        Modeling and reasoning about contextual requirements. Advances in computing,
sensors, and communication technology have given rise to new computing paradigms
such as ambient, ubiquitous and pervasive computing. These paradigms weave
computing systems with human living environments to transparently meet human
needs. Context, a core element of these paradigms, can be defined as the reification of
the environment, and includes whatever provides a surrounding within which the
system operates [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Before influencing the behavior of software, context influences
the behavior of users. It influences user goals and their choices in determining how to
reach these goals. Capturing this latest influence is an essential step towards software
developed to meet user requirements in different contexts.
      </p>
      <p>
        In our research, we are interested in modeling and reasoning techniques for
developing software systems expected to operate in varying contexts. We extend the
Tropos goal modeling framework [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] with context and allow the designer to
capture the relation between the space of variants of a goal model and the context in
which each variant is applicable. The framework defines a set of modeling constructs
to analyze and discover relevant information the system needs at runtime to identify
and characterize the context in which it is operating. We also propose various
reasoning techniques to support the analysis. Particularly, we are interested in (i)
checking the consistency of contextual goal models, (ii) detecting harmful interplays
between tasks of a goal model originating from conflicting changes over the context,
(iii) deriving goal model variants that comply with certain context and users’
priorities, and (iv) deriving a subset of executable tasks that can satisfy at the minimal
cost users’ goals in all analyzed contexts. A prototype tool has been implemented to
support reasoning about contextual goal models. The modeling and reasoning
framework has been applied on two systems scenarios: a smart home for people with
dementia, and a museum-guide to support museum visitors.
      </p>
      <p>
        Social commitments and goal models. Requirements modeling for open settings
such as for service-oriented and sociotechnical systems pose new challenges due to
the autonomy and heterogeneity of the participants, that is, agents. Such settings are
also highly dynamic—agents may not even know each others’ identities before
runtime [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The i* approach was influential in emphasizing the social nature of requirements
fulfillment—agents often depend on others to achieve their goals. An i* dependency
involves one actor wanting something, and another being able and committed to
delivering that something. However, i* does not does not achieve a clean separation
between an agent’s internals and its social relationships with others. For example, the
formalization of dependencies refers to the ability of the dependee, that is, its internal
routines. As a result, i* has limited applications in open settings.</p>
      <p>
        Our recent work on modeling agents and social relations among them replaces
dependencies with interaction protocols and social commitments [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. Social
commitments are brought about and manipulated solely by interaction among agents
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The protocols serve as specifications of convention. An agent’s social
commitments cleanly capture an agent’s external relationships with others without
referring to any agent’s internals. Given an agent’s goal model and capabilities—the
specification of its internals—one can reason if a particular protocol supports the
agent’s goals. Specifically, support for an agent’s goal may be determined objectively
without referring to the agent’s beliefs about others. By contrast, in i*, an agent’s
belief about the workability of dependencies must be justified.
      </p>
      <p>An agent’s beliefs about another’s ability or intentions with respect to a certain
goal may be important in arriving at certain decisions. However, it is also important to
systematically understand and separate the internal from the external—this enables us
to build agent reasoning in a modular fashion. For example, an agent may first
determine if a protocol is suitable for its goals, and then select with whom to interact
within that protocol based on its internal model of others.</p>
      <p>
        Social commitments are more expressive than dependencies in i*. Social
commitments are conditional, thus enabling capturing reciprocity among agents—that
if one agent brings about some condition, then the other bring about another
condition. Moreover, social commitments also refer to the contextual setting—these
are often important in contractual settings. Formal reasoning for social commitments
is also well-developed [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        Architectures for self-reconfigurable sociotechnical systems. A sociotechnical
ystem (STS) is an interplay of humans, organizations and technical systems. STSs are
distributed systems where a number of autonomous and intentional actors interact in
order to achieve their respective objectives. STSs are characterized by dynamism,
unpredictability and weak controllability. The operational environment is subject to
sudden and unexpected changes, actors may join and leave the system at will, social
dependencies between actors are at risk because of actors’ autonomy, and actors may
fail in achieving their goals. The interests of the actors can be supported
technologically by a software architecture that (i) monitors the actors’ behavior, (ii)
diagnoses failures against correct behavioral models, and (iii) reacts to failures via
compensation actions. We have proposed an architecture based on this cycle in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Our architecture becomes an integral component of an STS. The correct behavior of
actors is specified by their respective goal model. The architecture observes the
actions performed by participating actors, compares the monitored data against goal
models, and enacts reconfigurations in response to failures. The implemented
algorithms are based on the Belief-Desire-Intention paradigm [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Indeed, an actor
participating in an STS behaves correctly if, whenever a goal is activated, it selects
and executes a plan that eventually will lead to the achievement of that goal. Failures
occur if the actor does not carry out the plan correctly, doesn’t perform any action, or
if a dependee does not bring about the dependum for the depender. Reconfiguration
actions take into account the autonomy and uncontrollability of the participants: the
architecture can (i) perform real actions by controlling actuators; (ii) remind or
suggest the actors what to do; and (iii) assign some responsibilities to external agents.
The architecture has been applied to a smart-home case study, where the mission of
the system is to support a patient in his everyday activities.
      </p>
      <p>
        Requirements awareness. Lately there has been growing interest in systems that can
adapt to changes in their environment or requirements during run-time. This kind of
adaptive system generally uses some kind of feedback loop to monitor, diagnose and
compensate these adverse situations. We’re interested in studying the requirements
that lead to this feedback loop functionality and we propose a new class of
requirements, called Awareness Requirements (AwReqs). AwReqs are requirements
that refer to other requirements, quality constraints or domain assumptions, and their
success or failure. As a simple example, consider the requirements for a meeting
scheduler. To schedule a meeting, one should know about the agenda of the
participants of the meeting, arrange the meeting (set date/time, book room), and
finally notify all participants about it. As a requirement for adaptation, we may want
to say that the goal of notifying the participants should never fail, or that booking a
room should succeed 90% of the times over any given month. To these AwReqs, the
requirements engineer can attach compensation actions that would get the system
back to normal operation. AwReqs can also refer to quality constraints (QCs) and
domain assumptions (DAs). If there was a QC stating that meetings should have 75%
attendance, an AwReq could say that this quality constraint should succeed 90% over
every week. AwReqs for DAs are analogous. And since AwReqs are requirements
themselves, one could create an AwReq that refers to the success of another AwReq
(a meta-AwReq). Our research on this topic is detailed in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], where we also propose:
(a) a formalization using OCL; (b) elicitation techniques for AwReqs; (c) patterns for
AwReqs; (d) graphical notation; and (e) a systematic process to go from AwReqs to
feedback loops.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 Future work</title>
      <p>Future work on contextual requirements includes applying the framework developed
so far to security requirements. The main idea is that contexts can influence security
requirements and then security has to be analyzed and handled according to the
context where the system operates. For example, in an emergency situation (such as
fire), a person would allow the rescue team to access his personal data such as his
location and his health status, while in a normal situation the same person would have
more restricted security concerns. Our interest here is to extend the goal-oriented
requirements engineering for security to cope with contextual security requirements
introducing new constructs and different forms of reasoning specific for security.</p>
      <p>
        Concerning commitments and self-reconfigurable systems, we are currently
analyzing how a monitor-diagnose-compensate loop changes when we consider
commitments together with goals. We will develop runtime agent reasoning for actors
specified as goals, qualities and commitments. A correctness property, from an actor’s
perspective, would take the form of policies: achieve so and so goals but without
violating so and so commitments. The key here is to formalize the notion of a variant
in terms of both goals and commitments, and then understand adaptation as switching
between variants — similar to the development in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        With respect to awareness requirements, the research is at its beginnings and there
is much to be done. First and foremost, we intend to conduct case studies to assess our
proposal. For that matter, we plan on developing a prototype framework that
implements feedback loops from requirement models, most likely using previous
experience in diagnosing frameworks [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Other challenges that lie ahead include
analyzing the role of contexts with respect to AwReqs, implementing consistency
checking for the model, and studying predictive and evolutionary features that could
improve adaptability.
      </p>
      <p>Acknowledgments This work has been partially funded by the EU Commission,
through projects SecureChange, COMPAS, NESSOS and ANIKETOS.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Ali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          .
          <source>Location-Based Software Modeling and Analysis: Tropos-Based Approach. Proceedings of the 27th International Conference on Conceptual Modeling (ER'08)</source>
          , pages
          <fpage>169</fpage>
          -
          <lpage>182</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Ali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          .
          <article-title>A Goal Modeling Framework for SelfContextualizable Software</article-title>
          .
          <source>Proceedings 14th International Conference on Exploring Modeling Methods in Systems Analysis and Design (EMMSAD'09)</source>
          ,
          <source>LNBIP 29-0326</source>
          , pages
          <fpage>326</fpage>
          -
          <lpage>338</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>A. K. Chopra</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Modeling and Reasoning about Service-Oriented Applications via Goals and Commitments</article-title>
          .
          <source>Proceedings 22nd International Conference on Advanced Information Systems Engineering (CAiSE'10)</source>
          ,
          <year>2010</year>
          . to appear.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>A. K. Chopra</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Reasoning about Agents and Protocols via Goals and Commitments</article-title>
          .
          <source>Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems (AAMAS'10)</source>
          ,
          <year>2010</year>
          . to appear.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>An Architecture for Requirements-Driven Self-Reconfiguration</article-title>
          .
          <source>Proceedings 21st International Conference on Advanced Information Systems Engineering (CAiSE'09)</source>
          ,
          <source>LNCS 5565</source>
          , pages
          <fpage>246</fpage>
          -
          <lpage>260</lpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Software Self-Reconfiguration: a BDI-Based Approach</article-title>
          .
          <source>Proceedings 8th International Conference on Autonomous Agents and Multiagent Systems</source>
          , pages
          <fpage>1159</fpage>
          -
          <lpage>1160</lpage>
          . IFAAMAS,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Agent communication languages: Rethinking the principles</article-title>
          .
          <source>IEEE Computer</source>
          ,
          <volume>31</volume>
          (
          <issue>12</issue>
          ):
          <fpage>40</fpage>
          -
          <lpage>47</lpage>
          , Dec.
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>V. E. S.</given-names>
            <surname>Souza</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Monitoring and Diagnosing Malicious Attacks with Autonomic Software</article-title>
          .
          <source>Proceedings 28th International Conference on Conceptual Modeling (ER'09)</source>
          , pages
          <fpage>84</fpage>
          -
          <lpage>98</lpage>
          , Gramado, Brazil,
          <year>2009</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lapouchnian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. E. S.</given-names>
            <surname>Souza</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Awareness Requirements for Adaptive Systems</article-title>
          . Submitted for review,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Ji</given-names>
            <surname>Zhang</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. H. C.</given-names>
            <surname>Cheng</surname>
          </string-name>
          .
          <source>Model-Based Development of Dynamically Adaptive Software. Proceedings 28th International Conference on Software Engineering (ICSE)</source>
          , pages
          <fpage>371</fpage>
          -
          <lpage>380</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Finkelstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Savigni</surname>
          </string-name>
          .
          <article-title>A Framework for Requirements Engineering for ContextAware Services</article-title>
          .
          <source>Proceedings of STRAW'01</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>A. K. Chopra</surname>
            and
            <given-names>M. P.</given-names>
          </string-name>
          <string-name>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>Multiagent Commitment Alignment</article-title>
          .
          <source>Proceedings of the Eighth International Conference on Autonomous Agents and Multiagent Systems</source>
          ,
          <year>2009</year>
          , pages
          <fpage>937</fpage>
          -
          <lpage>944</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>