<!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>i* Diagnoses: A Quality Process for Building i* Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Antonio de Padua A. Oliveira</string-name>
          <email>padua@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Julio Cesar S. P. Leite</string-name>
          <email>julio@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luiz Marcio Cysneiros</string-name>
          <email>cysneiro@yorku.ca</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carlos Jose P. Lucena</string-name>
          <email>lucena@inf.puc-rio.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Pontificia Universidade Catolica do Rio de Janeiro - PUC-Rio Departamento de Informatica</institution>
          ,
          <addr-line>Rua Marques de Sao Vicente 225 - Rio de Janeiro</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidade do Estado do Rio de Janeiro - UERJ Rua São Francisco Xavier</institution>
          ,
          <addr-line>524 - 6 andar - Maracanã - Rio de Janeiro</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>York University - School of Information Technology 4700 Keele St. - Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>9</fpage>
      <lpage>12</lpage>
      <abstract>
        <p>Modeling with i* is not a trivial task. Our work describes i* Diagnoses Framework, a quality oriented process to analyze i* models. Our process is similar to some of the reading techniques of inspection methods and bears some similarity with the inquiry based requirement analysis approach. Our process focuses on defect prevention considering both the efficiency and effectiveness of Multi-Agent System development. 2 The i* Canonical Structures</p>
      </abstract>
      <kwd-group>
        <kwd>early requirements</kwd>
        <kwd>MAS</kwd>
        <kwd>software development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        There seems to be a consensus that dealing with intentionality at early stages of
software projects is a reasonable idea. i* Framework [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] models have been receiving
greater attention from several researchers [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] as an infrastructure to deal with
intentionality. Although i* has been cited and used in different research projects, most
of their users agree that i* models are complex artifacts [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Although comprised of
few elements, the semantics involved in using them can make i* models prone to
errors [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>The majority of the work has been focused on i* modeling and how to use this
information on later stages of software production. Our goal is to focus on analyzing
i* models proposing a quality assurance process to produce better i* models. Process
quality focuses on defect prevention rather than looking for defects on test phase. We
propose an analysis technique to enhance the quality of i* models.</p>
      <p>
        We illustrate our proposal using “The Expert Committee System” (EC System)
exemplar [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], a system to support the organization of a conference program.
      </p>
      <p>Figure 1 ( right ) shows the basic structure of an SRconstruct, which is formed by a
goal (the goal’s name is the SRconstruct’s name) (as being the end) and at least by
one task (as being the means to achieve the end). Therefore, all components (and
subcomponents) needed by tasks (subtasks, resources, softgoals, and goals) should
appear in the structure. Despite the fact that the goal is only one part of the
SRconstruct, we identify each SRconstruct by the name of the goal that it fulfills.
That is because there is only one goal (as being the END) in each SRconstruct.</p>
      <p>
        Figure 1 ( left ) shows that one actor (CHAIR) and another actor (REVIEWER) can
have multiple dependencies in each SDsituation Situations of dependency that occur
in the organizational environment and the central idea of SDsituations is: “each
dependency link (goal, softgoal, task or resource) that involves actors is not isolated”;
it is part of one well defined situation of collaboration called one “strategic
dependency situation” or one SDsituation [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>The i* Diagnoses examine each canonical structure (SDsituations and
SRconstructs) of a given model in order to bring questions that challenge the model
consistency and completeness. The main idea is to focus on parts of an i* model and
from these parts conduct an inquiry into the given construct.</p>
      <p>Our process comprises 3 main sub-processes: IDENTIFY CONSTRUCTS, APPLY
(INQUIRY) FRAMEWORK, and INTEGRATE QUESTIONS. The strategy is applied both to
the Strategic Dependency Diagrams and to the Strategic Rationale Diagrams of i*.</p>
      <p>The activity IDENTIFY CONSTRUCTS consists of breaking down the i* diagrams into
constructs (SDsituations and SRconstructs). The activity APPLY (INQUIRY)
FRAMEWORK consists of applying the inquiry framework to each construct. The
activity INTEGRATE QUESTIONS consists of merging the questions to analyze them.
The aim of each diagnose framework is to turn coupled SDsituations and
SRconstructs inside out looking for problems, faults, deficiencies and potential
improvements. “Diagnoses are important to deeply understand the problem before
looking for the solution.”</p>
    </sec>
    <sec id="sec-2">
      <title>4 SDsituation &amp; SRconstruct Diagnoses</title>
      <p>Given the basic structures of SDsituations and SRconstructs, general questions are
proposed to each element. In real cases these “hot-spots” or “place-holders” would be
replaced in Templates 3.1 and 3.2 by the actual names used in the model.</p>
      <sec id="sec-2-1">
        <title>Template 3.1 - SDSITUATION</title>
        <p>SDSITUATION: “SDsituation’s name”
I. INTER QUESTIONS
1. Who else could collaborate with “depender” to have “SDsituation goal’s name”?</p>
        <p>How much can he collaborate?
2. Why does “dependee” collaborate with “depender” to have “SDsituation goal’s
name”?
3. What SDsituations come before “SDsituation’s name”?
4. What kind of problems with previous SDsituations can be identified to have
“SDsituation goal’s name”?
5. What if “dependee” cannot collaborate on the “SDsituation’s name”?
II. INTRA QUESTIONS
6. What are the problems inside “SDsituation’s name”? What kinds of problems
(accuracy, deficiencies, ambiguities, or omissions) are identified as having
“SDsituation goal’s name”?
7. What details are needed by “depender”?
a) Case: resource dependency - What are “resource’s name” problems of
availability? (Time, accuracy) When? How? How much?
b) Case: goal dependency – What are “goal’s name” problems to be achieved by
“dependee”? (Time, ability) When? How? How much?
c) Case: softgoal dependency – What are “softgoal’s name” problems to be
satisficed by “dependee”? (Capability) Is there “softgoal’s name” at the end of
“SDsituation’s name”? Why? Who is demanding the softgoal?
d) Case: task dependency - Has “dependee” received the directions of how to
perform “task’s name”? Can the “dependee” still perform it? (Time, ability)
8. What dependency has the main duty of having “SDsituation goal’s name”? Why?</p>
      </sec>
      <sec id="sec-2-2">
        <title>Template 3.2 - SRCONSTRUCT</title>
        <p>SRCONSTRUCT: “SRconstruct goal’s name”
I. INTER QUESTIONS
1. Who else has the “endGoal’s name” achieved?
2. What are the alternatives that the “endGoal’s name” has achieved? Why?
3. What are the elements of dependency of dependees?
4. What kinds of problems (accuracy, deficiencies, ambiguities, or omissions) can be
foreseen? How much? What if resources are unavailable? Who is to blame? How to
avoid such problems?
5. What if “endGoal´s name” is shared with another actor?
6. What other construct depends on this goal? Why? How much?
II. INTRA QUESTIONS (for each meanTask)
7. What are the problems with the task “meanTask’s name”? Why?
8. For the task “meanTask’s name” what are the components needed to achieve
“endGoal’s name”?
a) Case: resource – What are “resource’s name” problems of availability? (Time,
accuracy). When? How?
b) Case: subGoal – What are “subGoal’s name” problems to be achieved by
“dependee/actor”? (Time, ability). When? How?
c) Case: softgoal – What are “softgoal’s name” problems to be satisficed by
“dependee/actor”? (Capability) Is there “softgoal’s name” at the end of
“SRconstruct goal’s name”? Why? What are the contribution links to and from
this “sofgoal´s name”?
d) Case: subTask - Can “dependee/actor” perform “task’s name”? (Time, ability)
9. Is there any softgoal details omitted, not fully operational or without
operationalization? What kind? Why? How? How much?
10. Is there any resource missing? What kind? What if a resource is not available?</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>5 Conclusion</title>
      <p>
        The first benefit of using i* canonic structures (SDsituations and SRconstructs) is
managing complexity. Using SDsituations and SRconstructs, i* models can be
divided into small pieces avoiding common misuses that appear in i* models [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
also improving the stakeholders’ understanding.
      </p>
      <p>
        Our strategy provides a verification based analysis for i* models so as to assure
better quality models overall. The verification analysis is performed on composing the
constructs with well known general questions, the 5w2h framework [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and with the
ideas of Potts, Takahashi and Anton [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        According to Moody [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], although software quality proposals have been
concentrated at the end of the process, empirical works demonstrate that the majority
of defects occur during the requirements phase.
      </p>
      <p>We plan to continue the work in this direction as we will frame our diagnoses
approach as a reading strategy for the inspection of i* models. By performing more
analysis using the proposed i* diagnoses, we hope to improve the quality of the
questions as they are today. We also foresee a possible automation, by generating the
set of questions, given a set of i* models. Moreover, we plan to evaluate how this
work may scale up to larger models.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Castro</surname>
            , J.; Kolp,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          "
          <source>Towards Requirements-Driven Information Systems Engineering: The Tropos Project." In: The 13th international conference on advanced information systems engineering</source>
          , Oxford: Elsevier Science Ltd, v.
          <volume>27</volume>
          , n.6. p.
          <fpage>365</fpage>
          -
          <lpage>389</lpage>
          -
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cysneiros</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Yu</surname>
          </string-name>
          , E.;
          <article-title>Requirements Engineering for Large-Scale Multi-Agent Systems Book chapter in Software Engineering for Large-Scale Multi-Agent Systems - Research Issues</article-title>
          and
          <string-name>
            <given-names>Practical</given-names>
            <surname>Applications</surname>
          </string-name>
          . A.
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Lucena</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Zambonelli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Omicini</surname>
          </string-name>
          and J.
          <source>Castro (eds.) LNCS 2603</source>
          , Springer Verlag.
          <year>2003</year>
          .
          <article-title>(Revised and extended version of [SELMAS02]).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Deloach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          et al.;
          <article-title>Multiagent Systems Engineering</article-title>
          . International.
          <source>In: Journal of Software Engineering and Knowledge Engineering</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ):
          <fpage>231</fpage>
          -
          <lpage>258</lpage>
          -
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Estrada</surname>
            , H; Martínez,
            <given-names>A</given-names>
          </string-name>
          ; Pastor,
          <string-name>
            <surname>O</surname>
          </string-name>
          ; Mylopoulos,
          <string-name>
            <surname>J.;</surname>
          </string-name>
          <article-title>An Experimental Evaluation of the i* Framework in a Model-based Software Generation Environment;</article-title>
          E. Dubois,
          <string-name>
            <surname>K.</surname>
          </string-name>
          Pohl (Eds.);
          <source>CAISE</source>
          <year>2006</year>
          , LNCS 4001, pp.
          <fpage>513</fpage>
          -
          <lpage>527</lpage>
          ,
          <year>2006</year>
          . Springer-Verlag, Berlin Heidelberg, ISSN:
          <fpage>0302</fpage>
          -
          <lpage>9743</lpage>
          ; ISBN:
          <fpage>3</fpage>
          -
          <lpage>540</lpage>
          -34652- X,
          <fpage>978</fpage>
          -3-
          <fpage>540</fpage>
          -34652-4.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>J.C.S.P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            <given-names>Y.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Liu</surname>
            <given-names>Y.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Yu</surname>
            <given-names>E.S.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <source>“Quality-Based Software Reuse” CAiSE-05, LNCS 3520</source>
          , pp.
          <fpage>535</fpage>
          -
          <lpage>550</lpage>
          ,
          <year>2005</year>
          , Springer-Verlag .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Padua</surname>
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Cysneiros</surname>
            ,
            <given-names>L. M.</given-names>
          </string-name>
          ; “Defining Strategic Dependency Situations in Requirements Elicitation” The IX Workshop on Requirements Engineering; Rio de Janeiro, Brazil - July/
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pastor</surname>
          </string-name>
          , Oscar; Estrada, Hugo; Martínez,
          <article-title>Alicia; The Strengths and Weaknesses of the i* Framework: an experimental evaluation i*, its Applications, Variations and</article-title>
          <string-name>
            <given-names>Extensions. Eric</given-names>
            <surname>Yu</surname>
          </string-name>
          et al. (eds.) MIT Press (
          <article-title>accepted for publication in</article-title>
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Potts</surname>
            , Colin; Takahashi, Kenji; Antón,
            <given-names>Annie I.</given-names>
          </string-name>
          ;
          <article-title>“Inquiry-Based Requirements Analysis”</article-title>
          ,
          <source>IEEE Software</source>
          , Volume
          <volume>11</volume>
          , Issue 2 (
          <year>March 1994</year>
          ), Pages:
          <fpage>21</fpage>
          -
          <lpage>32</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>Modelling Strategic Relationships for Process Reengineering</article-title>
          .
          <source>PhD Thesis</source>
          , Graduate Department of Computer Science, University of Toronto, Toronto, Canada -
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Moody, D.L.
          <article-title>Theoretical and practical issues in evaluating the quality of conceptual models: current state and future directions</article-title>
          ,
          <source>Data &amp; Knowledge Engineering</source>
          ,
          <volume>55</volume>
          (
          <year>2005</year>
          )
          <fpage>243</fpage>
          -
          <lpage>276</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>