<!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>A bit of \Persona", a bit of \Goal", a bit of \Process" ... a recipe for Analyzing User Intensive Software Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Chiara Di Francescomarino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Leonardi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Marchetto</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cu D. Nguyen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nauman A. Qureshi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Sabatucci</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anna Perini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angelo Susi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Tonella</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Massimo Zancanaro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fondazione Bruno Kessler</institution>
          ,
          <addr-line>Povo, Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>36</fpage>
      <lpage>40</lpage>
      <abstract>
        <p>The centrality of users in the design and development of complex systems, such as service-based applications, calls for new methodologies and techniques to extract and represent user needs and to translate them into real processes. In this short paper, we describe the integration of concepts and analysis techniques of di erent approaches, namely Goal-Oriented Requirements Engineering, User-Centred Design and Process-Oriented Modeling, that are being developed in the context of two projects related to Ambient Assisted Living and Internet of Services.</p>
      </abstract>
      <kwd-group>
        <kwd>Goal-Oriented paradigm</kwd>
        <kwd>User-Centred Design</kwd>
        <kwd>Requirements Engineering</kwd>
        <kwd>Business Process Modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The central role of the users in the design and evolution of complex systems,
such as service-based applications for the Internet of Services (IOS1) or Ambient
Assisted Living systems, has been widely recognized in the last years [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Thus,
to stress this aspect, we refer them as \user intensive" systems.
      </p>
      <p>Goal-oriented Requirements Engineering (GORE) plays a fundamental role
in the development of this kind of systems, enabling reasoning about the domain
features with the aim of identifying con icts and of checking for validity of
functional and non-functional requirements. This technique has been exploited in
the ACube project2, whose goal is to study technologies for monitoring complex
environments that can be applied in areas such as assisted living homes to help
personnel, as well as to support the independence and safety of users.</p>
      <p>Moreover, the key for the operationalization of goal-oriented system
requirements in terms of services is the de nition of a set of rules for associating process
modeling concepts to goal-oriented ones. This enables designers to trace business
processes of service-based systems back to intentional elements of the user model
(e.g, goals, preferences, roles). The experience in this area comes from the
Internet of Service project (IOS3), whose aim is to push the \Internet of Services"
for real services, rather than for software services. Studies in di erent areas are
conducted within this project, such as the area of service usage, representation,
engineering, and delivery.</p>
      <p>
        Nevertheless, we experienced that the two approaches, more than sharing the
language of goals, require an e ective way to center the design on the users of
the system. The aim of this short paper is to propose an integrated methodology
in which goal-oriented analysis [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], user-center design [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and process modeling
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] may cooperate for a continuous communication between requirements
engineers, stakeholders and designers, thus reducing the risk of misunderstanding
the domain, missing important requirements, and resulting in an increase of the
nal value of the product.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>From users' needs to requirements</title>
      <p>The strength of the Goal-Oriented techniques in modelling the domains can be
still enhanced by coupling the engineering perspective with a creative
perspective typical of User-Centred Design approaches. The User Centered Design
exploits a series of well-de ned methods and techniques coming from social sciences
and psychology for analysis, design, and evaluation technologies. Contextual
inquiries, personas and scenarios are widely employed for obtaining a rich picture
of the context (organizational, social, physical), and easily communicating it to
stakeholders in order to envision acceptable and innovative technological
solutions. Additional values emerge from this collaboration at di erent phases of the
process.</p>
      <p>
        Our proposal is to integrate Tropos [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] with user-centred design techniques in
order to guide requirements engineering teams toward e ective collection of user
requirements and the envisaging of the design of complex software system
infrastructures, while helping to ll the gap between end users and developers. Basic
principles of this integration are: (i) early focus on users, tasks and environment,
(ii) the active involvement of users in the design process, (iii) allocation of
functions between user and system, (iv) the incorporation of user-derived feedback
into system design, (v) iterative design whereby a prototype is designed, tested
and modi ed.
      </p>
      <p>
        The result of this integration is a process that encapsulates activities from
both the two methodologies, promoting a very close collaboration between teams
and an easy exchange of data. The process begins with the investigation of the
domain in order to understand the organizational setting of the domain and
to derive possible needs and services that the system could provide to users.
The contextual inquiry produces a rich collection of data in a narrative format.
The data interpretation phase provides the necessary abstraction to create a
3 A joint Research project at FBK IRST-CIT. http://se.fbk.eu/en/node/15
believable model of the domain, but avoiding to loose important details typical
of a narrative analysis. Tropos early requirement plays a central role at this
step by providing the semi-formal language for describing the domain. The data
consolidation lters data to focus on relevant characteristics: activity scenarios
and personas allow designers to have insight the system, providing an anchor to
the real domain and the real users. Finally, the envisioning phase lets the analysis
team to reason on the system-to-be in order to expand designers' prospective,
to look at the problems from di erent points of view, to gure out how their
ideas can work in a real context, to identify design criticalities, and nally, to
generate requirements. Brainstorming and other creative techniques are used
with the result to shift from the Tropos early requirement phase toward the late
requirement phase, thus obtaining a list of requirements for the system. The
process terminates with the validation of requirements with customers, essential
for evaluating the value of the services the system will provide [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        The key for the integration is the use of Scenarios and Personas along the
whole process. Whereas the use of Scenarios in RE is pretty established as an
instrument to describe instances of behavior of the system, Personas | from
social science | is still going to be consolidated in RE. Their conjunct usage may
increase the ability to envision the system [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], to identify requirement problems
and exceptional cases [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and to help in discovering system functionalities. In
particular, Personas are powerful instruments for creating descriptive models of
system-to-be users based on behavioral data, gathered from many actual users
encountered in ethnographic interviews [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Personas' descriptions contain the
empathy with users and their personal motivations within a scenario; the
cognitive and emotional dimensions are important factors since they help the designer
to take decisions in the design process.
      </p>
      <p>
        In our integrated process, scenarios are stories about people (personas)
performing activities; they describe a context in which personas act with the aim of
summarizing, clarifying and reasoning about the collected information. The aim
is the validation with stakeholders and the technical team. They are presented as
narrative or visual stories easy to understand even for non technical people [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>Among the possible limits of the approach, there is the need of keeping the
huge amount of data, usually collected by contextual inquiry and generated by
the scenarios-based design, always synchronized with the Tropos diagrams; this
also represents a challenge from a theoretical and practical point of view. In the
future work, we intend to re ne the approach and to investigate the requirements
of a tool that support a multi-disciplinary team in this respect.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Aligning Goal and Process Models for Real Services</title>
      <p>
        A real service is a combination of actual services and software services that
provide electronic access to and monitoring of the actual services [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. An example
of real service is the application that we use when we plan to attend a concert at
\Arena di Verona": its realization involves both software services (e.g., the
online ticket booking), and actual services (e.g., the actual transportation service
needed for reaching Verona).
      </p>
      <p>In real services the user plays a key role: she expresses preferences (e.g., a
cheap transportation mean); the service is adapted to her needs (e.g., if she has a
meeting when her train should leave, a di erent actual transportation service is
used); the real service is composed taking into account her perspective (e.g., the
travel and the concert performance are part of the same real service, though in
reality they are independent). Moreover, real services are context-aware, which
may result in instant changes and timely responses of the user. Hence the user's
preferences, needs and decisions guide the composition of real services, and they,
in turn, impact and modify the user's assets (e.g., user's money, user's agenda).
For example, buying the ticket for the concert, decreases the user's money.</p>
      <p>
        Due to the \user intensive" nature of these systems, our high level purpose
is to stress the centrality of the user along their life cycle. Hence, in this phase,
our goal is to move from the user centred requirements (elicited as described in
the previous Section) to the system design and validation, while preserving the
central role of the user (and her assets). In detail, our work aims at de ning
a modeling framework that integrates the goal-oriented paradigm (speci cally
Tropos modeling methods [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) and process modeling (in particular BPMN [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]),
enabling the designers to capture the intentional elements of the user (e.g., goals,
preferences, roles, assets), as well as the operational aspects of the real service
(e.g., its control ow description, the e ect of business activities on user assets).
The modeling framework, moreover, includes an ontology for representing user
assets and asset modi ers (i.e. activities characterizing the real service that can
modify the value of a user-asset), thus capturing their semantics and making
them available for supporting the system realization/execution (e.g., the service
composition according to the user needs/preferences).
      </p>
      <p>
        More precisely, the framework rests on the following iterative steps for
designing a real service [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]:
{ Ontology construction. An ontology modeling user-assets and asset
modiersis de ned, thus capturing the semantics of the concepts, their
relationships and constraints.
{ Goal model construction. It starts with the analysis of the domain involved
in the target system and the system requirements (from the previous
requirement phase) and results in the de nition of a goal model of the target
system.
{ Business process model construction. The process model of the target system
is de ned, deriving part of the information from the goal model. The process
is described in the BPMN language and it details the process realization in
terms of relevant activities and their execution control ow.
{ Dynamic semantics de nition of process activities. The dynamic semantics
of the asset modi ers is de ned, thus allowing to capture the impact of such
activities on the user-assets.
{ Process model annotation. The generated process model is enriched with
semantic annotations [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] taken from the ontology modeling the asset modi ers.
In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] we illustrated the proposed design methodology along an exemplar
casestudy. In our future work we intend to extend the modeling framework in the
following directions: (i) adding scenarios to goals in the goal model in order to
have a more detailed and precise description of goals, thus allowing to better
reason about the domain and its concrete operationalization; (ii) further
investigating how user preferences (expressed as soft goals in the goal model) a ect
the user assets, thus allowing to reason about \good" alternatives, to be possibly
suggested to the user, during the system process execution; (iii) combining the
business process semantics with the dynamic semantics of user assets, thus
supporting the reasoning on feasible executions and possible user recommendations.
Moreover, the design phases will be complemented with early validation and
implementation phases. Early validation will be realized using a simulation system
in which runs of real services, events, and operating contexts are simulated for
testing purposes.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Leonardi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabatucci</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zancanaro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ahab's leg: Exploring the issues of communicating semi-formal requirement to nal users</article-title>
          .
          <source>In: Proceedins of CAiSE</source>
          <year>2010</year>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Marchetto</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>C.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Francescomarino</surname>
            ,
            <given-names>C.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qureshi</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tonella</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A Design Methodology for Real Services</article-title>
          .
          <source>In: 2nd International Workshop on Principles of Engineering Service-Oriented Systems, PESOS, May 2-8</source>
          ,
          <year>2010</year>
          ,
          <string-name>
            <given-names>Cape</given-names>
            <surname>Town</surname>
          </string-name>
          , South Africa. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Penserini</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Susi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>High variability design for software agents: Extending tropos</article-title>
          .
          <source>ACM Transactions on Autonomous and Adaptive Systems (TAAS) 2</source>
          (
          <issue>4</issue>
          ) (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cooper</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reimann</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cronin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>About face 3: the essentials of interaction design</article-title>
          .
          <source>Wiley India Pvt. Ltd</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Rolland</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salinesi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Supporting Requirements Elicitation through Goal/Scenario Coupling</article-title>
          .
          <source>In: Conceptual Modeling: Foundations and Applications</source>
          , Springer (
          <year>2009</year>
          )
          <fpage>416</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sutcli</surname>
            <given-names>e</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Maiden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Minocha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Manuel</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Supporting scenario-based requirements engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>24</volume>
          (
          <issue>12</issue>
          ) (
          <year>1998</year>
          )
          <volume>1072</volume>
          {
          <fpage>1088</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pistore</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Traverso</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paolucci</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>From Software Services to a Future Internet of Services. In: Towards the Future Internet - A European Research Perspective</article-title>
          . IOS Press (
          <year>2009</year>
          )
          <volume>183</volume>
          {
          <fpage>192</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Business</given-names>
            <surname>Process Management</surname>
          </string-name>
          <article-title>Initiative (BPMI): Business process modeling notation: Speci cation</article-title>
          . http://www.omg.org/spec/BPMN/1.2/ (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Di</given-names>
            <surname>Francescomarino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Ghidini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Rospocher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Sera</surname>
          </string-name>
          <string-name>
            <given-names>ni</given-names>
            , L.,
            <surname>Tonella</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.:</surname>
          </string-name>
          <article-title>Reasoning on semantically annotated processes</article-title>
          .
          <source>In: International Conference on ServiceOriented Computing</source>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>