<!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>From i* to iStar 2.0: An Evolving Social Modelling Language</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lin Liu</string-name>
          <email>linliu@tsinghua.edu.cn</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Software, Tsinghua University</institution>
          ,
          <addr-line>Beijing, 100084</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Conceptual Modelling, as a thought tool, helps its adopters to describe an abstract observation to given real world phenomena. i*, as a social modelling language, was widely adopted by researchers in both requirements engineering and business information system analysis. In order to further extend its adoption in future research and practice, iStar 2.0 was conceived and published to reduce ambiguities and complexities. In this paper, I would like to share my observations as an i* modeler, about the major differences identified between i* and iStar 2.0, about how to map an i* model to an iStar 2.0 model, as well as how to further evolve the modelling language to serve for the next generation modelling needs.</p>
      </abstract>
      <kwd-group>
        <kwd>social modelling</kwd>
        <kwd>concepts</kwd>
        <kwd>relations</kwd>
        <kwd>evolution</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>
        My first contact with i* was in year 1999, a few months before my graduation and
joining Eric’s group, I downloaded two of his major i* modelling papers, in which he
used i* to analyse business process of IKEA [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and the mutual dependencies between
members in software project team [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. At that time, my world model was already
agentoriented, due to my master’s thesis, on Actor [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the concurrent computing model, and
PhD thesis, on Agent-oriented requirements analysis using Agent-Z [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and process
algebra to formalise use case scenarios. My first impression to the example models was:
it is a bit complex, and drawn artistically, different from most other software
engineering models that I was familiar with, such as, message sequence charts, state machines,
and class diagrams.
      </p>
      <p>
        Tonight, I finally get a chance to read the i* 2.0 Language Guide [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] by Fabiano, Xavier
and Jennifer, word by word, which I should have done two and half years earlier, while
they sent numerous messages asking for comments and inputs. I feel synchronised with
the evolving language finally, alas, it is better late than never.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related work – Bits and pieces in Retrospect of 17 Years personal modelling and extension experience with i* 2.1</title>
    </sec>
    <sec id="sec-3">
      <title>A Successful exercise - Modelling Trust in Smart Cards</title>
      <p>
        It didn’t take me long to falling in love with using i* to model real world. As my first
modelling exercise was a perfect match. Modelling trust in smart-cards systems can
make use of many of the interesting modelling constructs in i*[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Including:
Strategic dependency modelling captures the major roles in a general smart-card
system, and their dependencies.
      </p>
      <sec id="sec-3-1">
        <title>Role, position and agent together with role-playing and position occupancy links,</title>
        <p>which are used to capture who is playing attacker, and which organisational player is
playing the abstract role of card owner, software owner, data producer, and how the
trust and dependency distributed among different organisational settings.
The flexible use of contribution links, in particular, the attacks are represented as a
“break” contribution ignited from the attacker to the victim or vulnerable element or
link.
2.2</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>A first attempt to extend i*– capturing temporal orders between tasks with prior-to link</title>
      <p>
        My second modelling exercise was due to the marriage of GRL with UCM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. GRL is
a variation of i*, which emphasis more the goal-oriented perspectives of i*, I think I
tried to combine the two language in a different way comparing to what the current
URN standards suggested. I wanted to use i* model as the container, or the place-holder
of scenarios. I only wanted the joggle line of UCM, which traversing the tasks in i*
played by different actors. It captures the refining process of goals and generated the
run-time execution scenarios involving multiple actors in the model. In my mind, goals,
actors, and scenarios are the three pieces to be fit together in the requirements
engineering puzzle.
2.3
      </p>
    </sec>
    <sec id="sec-5">
      <title>Another successful exercise – modelling service relationships</title>
      <p>
        My next major move was using i* in services modelling. Again, i*, especially, the
social, strategic dependency modelling construct, was a natural fit to model service
providers and service consumers, their needs and capabilities, their delegation of different
types, their commitment and delivery of services, and quality of service [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. i* is
expressive enough support my modelling objectives and provide meaningful types of
analysis.
      </p>
    </sec>
    <sec id="sec-6">
      <title>A second attempt to extend i*– capturing context as annotations</title>
      <p>
        My second attempt to extend i* was due to the modelling needs of service adaptation.
Where I wanted to say that when service text changes, service provider and consumer’s
choices will change accordingly, so I associated context information on each of the
service goal refinement link [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>I am doing this retrospect just to take a position of modeller, to see if the current iStar
2.0 concepts and relations will still allow me to do similar things in a clearer way, or it
has decided to avoid such use or extension of the modelling language.
3
3.1</p>
    </sec>
    <sec id="sec-7">
      <title>Redrawing i* models with iStar 2.0</title>
    </sec>
    <sec id="sec-8">
      <title>Discard organizational positions together with occupancy and coverage link</title>
      <p>As shown on the left-hand side, in i*, position is used to
capture organizational positions, which can cover
different abstract roles, and being occupied by different agents.
As i* was designed as an organizational modelling
language, so position is considered as a first-class modelling
concept. In iStar 2.0, organization is not stressed
anymore, so we can define it as an abstract role,
participatedby agents, and it can specialize either an attacker or a
defender or both using is-a link. In this case, a cover link
will become an “is-a”, an “occupies” will become a
“participates-in”. It is not clear whether the “INS” link is
represented now, as it is a relation between actors of same
nature. Although I can make the mapping, I feel that it is
a more natural and direct reflection of the real world
meaning using “plays” and “is-part-of” than
“participates-in” in this case.</p>
    </sec>
    <sec id="sec-9">
      <title>3.2 Changing means-ends and decomposition as AND/OR refinement</title>
      <p>In iStar 2.0, the “means-ends” and “decomposition” links in i* are unified to be called
AND/OR refinement links, which loosens up the original i*’s strict enforcement on
iterative elicitation of alternative ways to satisfy a given goal using “means-ends” link.
As a modeller, I had hated the constraint of imposed by this “means-ends” semantics,
as I had to use some dummy tasks and goals when there are not meaningful alternatives
to choose from. However, I have to admit that we should keep it in mind to ask the
question each time we face a goal. In other words, I would rather see the current iStar
2.0 treatment as a simplification of the i* syntax rather than a change of semantics.</p>
    </sec>
    <sec id="sec-10">
      <title>3.3 Adding Qualification link between a quality attributes with its associated elements</title>
      <p>
        A new kind of link, qualification link, represented as dotted line, links the quality
attributes with the corresponding goal, resource and task elements explicitly. This is a
major extension in iStar 2.0, which can only be represented using the naming
convention of “subject[object]” in softgoals in i* or NFR framework [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. This extension
clarifies the semantics of quality attributes and suggests a proper way of its usage.
3.4
      </p>
    </sec>
    <sec id="sec-11">
      <title>Adding DependerElmt, dependeeElmt, rules and constraints on social dependencies</title>
      <p>There is a rules and constraints section in the specification of dependency relationship
in iStar 2.0. It gives clearer guidelines to modellers which encourage the proper use of
the link. This include: (1) adding definition of dependerElmt, dependeeElmt, and
confine depender and dependee as actors; (2) when a depender delegates a dependerElmt
to others, it cannot be refined or contributed by other elements within the actor
boundary. Dependency relationships are not allowed to share the same name, which means
there is exactly one depender and one dependee for each dependums. This extension is
also a very good move in making the semantics of dependency link clear and easy to
use.
3.5</p>
    </sec>
    <sec id="sec-12">
      <title>Adding NeededBy relation between a task and its required resource</title>
      <p>Resources are considered a sub-component of a task in i*, which is not distinguished
from a sub-goal, sub-task, or sub-softgoal. In iStar 2.0, as resources are different from
goals and task in nature, a different kind of link – “NeededBy” is suggested. Its
implication is that resources are leave nodes, they will not be further refined, they are only
checked for availability or not.
3.6</p>
    </sec>
    <sec id="sec-13">
      <title>Removing some of the contribution links in i*</title>
      <p>In iStar 2.0, four types of contribution links are defined: help, hurt, make and break.
Other contribution link types, such as: some+, some-, unknown, AND, OR are
discarded. The implication of this change is that, contribution links are evaluated
individually, we only consider weak or sufficient, positive or negative contributions from a
source element to a quality attribute. This also improves the clarity of the models.</p>
    </sec>
    <sec id="sec-14">
      <title>Discussions</title>
      <p>In summary, iStar 2.0 clarifies ambiguities in i* modelling framework, which makes
the adoption by students and engineers learning the modelling syntax and semantics
easy. For i* users, it will not require much effort to understand the changes and adopt
it in new cases and applying the changes in existing i* models. Some minor points
require further deliberation are as follows:
l
l
l
l</p>
      <p>Is a role allowed to participates-in an agent? While there is no logical explanation
for it, in the iStar 2.0 meta-model, it is not prohibited?
Is instantiation relation in actors allowed in iStar 2.0? Sometimes the modeller
may want to express scenarios at an instance level?
Is a quality attribute evaluated by itself or together with the element it qualifies?
In other words, whether a quality attribute is a standalone element or is only
meaningful together with an entity?
A major problem yet to be addressed are using views of actors as a measure to
control scalability of model.</p>
      <p>In today’s organization, social and strategic analysis is often supported with
operational data as evidence for social dependencies and influential factors. Thus,
automated elicitation of social modelling concepts and relations are considered an
effective way to obtain social relation models as in i*.</p>
      <sec id="sec-14-1">
        <title>Acknowledgements</title>
        <p>This paper is partially supported by the National Natural Science Foundation Project
(Grant No. 61432020) and National Science and Technology Support Program
(project no. 2015BAH14F02). Tong Li acknowledges the support of BJUT Startup
Funding No.007000514116022.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>Strategic Modelling for Enterprise Integration</article-title>
          ,
          <source>Proceedings of the 14th World Congress of International Federation of Automatic Control (IFAC'99), July 5-9</source>
          ,
          <year>1999</year>
          , Beijing, China. pp.
          <fpage>127</fpage>
          -
          <lpage>132</lpage>
          . Permagon, Elsevier Science.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Modelling Organizational Issues for Enterprise Integration</article-title>
          ,
          <source>Proceedings of International Conference on Enterprise Integration and Modelling Technology, October 28-30</source>
          ,
          <year>1997</year>
          , Turin, Italy.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Agha</surname>
            <given-names>G A</given-names>
          </string-name>
          .
          <article-title>Actors: A model of concurrent computation in distributed systems</article-title>
          [R].
          <source>MASSACHUSETTS INST OF TECH CAMBRIDGE ARTIFICIAL INTELLIGENCE LAB</source>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>d'Inverno</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kinny</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luck</surname>
            <given-names>M</given-names>
          </string-name>
          , et al.
          <article-title>A formal specification</article-title>
          of dMARS[C]//International Workshop on Agent Theories, Architectures, and Languages. Springer Berlin Heidelberg,
          <year>1997</year>
          :
          <fpage>155</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dalpiaz</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            <given-names>X</given-names>
          </string-name>
          ,
          <source>Horkoff J. istar 2</source>
          .
          <article-title>0 language guide</article-title>
          [J].
          <source>arXiv preprint arXiv:1605.07767</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Yu</surname>
            <given-names>E</given-names>
          </string-name>
          , Liu L.
          <article-title>Modelling trust for system design using the i* strategic actors framework</article-title>
          [M]//Trust in Cyber-societies. Springer Berlin Heidelberg,
          <year>2001</year>
          :
          <fpage>175</fpage>
          -
          <lpage>194</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Liu</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            <given-names>E</given-names>
          </string-name>
          .
          <article-title>Designing information systems in social context: a goal and scenario modelling approach</article-title>
          [J].
          <source>Information systems</source>
          ,
          <year>2004</year>
          ,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):
          <fpage>187</fpage>
          -
          <lpage>203</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Liu</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            <given-names>Q</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chi</surname>
            <given-names>C H</given-names>
          </string-name>
          , et al.
          <article-title>Towards a service requirements modelling ontology based on agent knowledge and intentions</article-title>
          [J].
          <source>International Journal of Agent-Oriented Software Engineering</source>
          ,
          <year>2008</year>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ):
          <fpage>324</fpage>
          -
          <lpage>349</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sun</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            <given-names>H</given-names>
          </string-name>
          , et al.
          <source>Understanding the Diversity of Services Based on Users' Identities[C]//International Conference on Advanced Information Systems Engineering</source>
          . Springer Berlin Heidelberg,
          <year>2011</year>
          :
          <fpage>612</fpage>
          -
          <lpage>626</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Chung</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>do Prado Leite J C S. On</surname>
          </string-name>
          non
          <article-title>-functional requirements in software engineering[M]//Conceptual modeling: Foundations and applications</article-title>
          . Springer Berlin Heidelberg,
          <year>2009</year>
          :
          <fpage>363</fpage>
          -
          <lpage>379</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>