<!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>Towards Extension Mechanisms in iStar 2.0</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Enyo Gonçalves</string-name>
          <email>enyo@ufc.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>João Araújo</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jaelson Castro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidade Federal de Pernambuco</institution>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidade Federal do Ceará</institution>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universidade Nova de Lisboa</institution>
          ,
          <country country="PT">Portugal</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>iStar has been extended since its initial proposal in the 90's. In a previous work we have identified that 96 extensions had been proposed until 2016. It is worth noting that since 2016 the language notation is under standardisation. However, new extensions continue to be proposed. So, it is essential to discuss extension mechanisms to be included in the new standard. Hence, in this paper, we present some preliminary results related to this topic. We performed an exploratory study to analyse previous extensions and identified patterns of lightweight representations. The results of this study point out to 8 objectives and their representations. Furthermore, we used a survey to identify the opinion of 12 experts about this theme. Most of the participants considered important to include extension mechanisms in iStar, and indicated the light-weight representations of extensions that should be considered in this proposal. Finally, we discuss possible ways to propose the extension mechanisms in iStar 2.0 and present a preliminary proposal of these mechanisms.</p>
      </abstract>
      <kwd-group>
        <kwd>Requirements</kwd>
        <kwd>iStar 2</kwd>
        <kwd>0</kwd>
        <kwd>Extension Mechanisms</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Several iStar extensions have been proposed since the proposal of Yu [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] in 1995. In
a previous work, we performed a Systematic Literature Review (SLR) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] which
identified 96 extensions proposed until 2016. The extensions proposed were related to
several domain/application areas such as Social-Technical Systems (STS), Intelligent
Agents, Software Product Lines, Legal Systems and others. Part of the extensions is
widely used by the iStar community to model systems or are the basis for other
extensions. We can cite TROPOS [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], GRL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and Secure Tropos [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] as examples of
extensions widely used as the basis for the proposal of other extensions. Extension
mechanisms are important for modelling languages as they allow their extensions
without changing the respective metamodels. iStar is currently under standardisation
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Hence this is a suitable moment to discuss how extension mechanisms can be
included in iStar 2.0. This paper presents an analysis of the light-weight
representations in existing iStar extensions, the results of a survey with experts in iStar
extensions and a preliminary proposal of extension mechanisms to be considered for
inclusion in the new version of iStar 2.0.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Methodology</title>
      <p>This paper presents results of three studies, two of them analyses the existing iStar
extensions and the last one proposes a preliminary version of extension mechanisms.
The first study (Section 4.1) identifies the light-weight representations used in
existing iStar extensions and we counted the occurrence of each one to show a ranking of
these representations.</p>
      <p>
        The second study (Section 4.2) is a survey which the main goal was to evaluate
which light-weight representations of the first study (presented in Table 1) should be
included as standard extension mechanism in iStar 2.0 and if the language should
have extension mechanisms. We followed the principles of Survey Research proposed
in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. This survey is cross-sectional. The application takes place through a
selfadministered questionnaire via the internet, since the participants were in different
countries. We invited to participate in the survey the experts who participated in a
previous qualitative study [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and with more iStar extensions according to the results
of top authors in our SLR [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Clarification and consent terms were sent to
participants with the invitation to participate in this research. So, the survey was composed
of evaluation of 10 objective questions. 9 of them were concerned with analysing if
each light-weight representation presented in Table 1 should be included as part of the
standard extension mechanism, while the last question asked if the iStar language
should have extension mechanisms. At the beginning of the survey, we highlighted
that we intended to understand which light-weight representations should be selected
and the figures presented in the questionnaire are only illustrations to understand each
light-weight representation of Table 1. The options of the questions were defined in
Likert scale with the values: Strongly disagree (1), Weakly disagree (2), Neutral (3),
Weakly agree (4) and Strongly disagree (5). We validated the survey testing it with
eight PhD students in Computer Science. So, they answered the survey and send us by
email comments to improve the survey. We made the changes suggested during the
test, and the responses were not used in the survey results. The survey can be accessed
at https://goo.gl/forms/OgNPhOh7nQZFF1fK2.
      </p>
      <p>The third study (Section 4.3) is a preliminary proposal of extension mechanism
based on a benchmark of other modelling languages and the results of studies 1 and 2
of this paper. The selected light-weight representations were considered to define the
default properties in our proposal.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        Extension mechanisms have been proposed similarly to the User Requirements
Notation (URN) [2 and 8] and Unified Modelling Language (UML) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Some ideas of
these works can be useful in our definition of iStar extension mechanisms.
      </p>
      <p>
        URN is a modelling language that joined Use Case Maps (UCM) and GRL. URN
is specified as an international standard [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which defines all characteristics of the
language. According to [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], URN allows profiling by metadata, URN Links, URN
concerns and OCL constraints. So, the extensibility of URN is represented regarding
metadata and URN links, which enables the support of most of the extensions
proposed in the language, except for new graphical representation. Metadata are
represented by name/value pairs to represent additional information in URN models. URN
Links are used to specifying relationships between any pair of URN elements.
Additionally, URN concerns are used to group any set of URN concerns, and OCL
constraints can be used to define rules applied to the extension.
      </p>
      <p>For a long time, UML had three extension mechanisms: stereotypes, tagged values
and constraints. These mechanisms are textually represented, as stereotypes are
represented between &lt;&lt; &gt;&gt; and tagged values and constraints are represented between
{}. The profile diagram was included recently in UML, and it is used to define
profiles based on the extension mechanisms which are applied to the models during
modelling time. The UML specification cites that in theory the profiles capability can be
used to define extensions for metamodels other than UML.
4
4.1</p>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <sec id="sec-4-1">
        <title>Identified Patterns of Light-weight Representations</title>
        <p>
          We analysed the existing iStar extensions in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. In this previous work, we identified
individually each representation for each light-weight representation and the number
of the extensions which use each one. In a complementary way, our objective in this
section is to identify the number of constructs and extensions for each light-weight
representation resulting and doing so to generate a ranking for them (Table 1). This
information is used in sections 4.2 and 4.3. So, we can identify patterns in the
lightweight representations of additional information in the models. Note that new nodes
with new graphical representations do not represent any pattern given that each new
concept requires a new representation. Table 1 shows the number of constructs and
extensions of each Light-weight representation. Specialised Node is used to
specialising an existing entity to represent a new concept. It can be represented
between &lt;&lt;&gt;&gt; or as a textual label added to an existing node. Thus, Specialised Link is
used to specialise an existing relationship, to represent a new relationship.
        </p>
        <p>The purpose of Node Identifier is to identify a goal/quality/task/resource with a
short label that is used in some situations: i) it is used together with a reasoning
technique; ii) also to make it easier to establish a reference to a goal/quality/task/
resource in a diagram that is part of a requirements document; or iii) to help to
define priority of entities.</p>
        <p>Node Status adds the status of a goal/quality such as denied, achieved and
maintained. Label with syntax is used to add an additional representation using a kind of
logic syntax in a textual label in diagrams. Cardinality is used to represent the number
of elements in an iStar model. E.g., a cardinality &lt;1..1&gt; is used in means-end links to
represent or exclusive or the cardinality [0..1] is used in Resource to represent an
optional resource and [1..1] to represent a mandatory task. Reference to external
representation is used to link an iStar diagram to external information. Reference to
another part of the diagram is used to improve the modularity and scalability of iStar
models. It links parts of iStar diagrams. Link Qualifier is used to qualify a
relationship; the relationships help, break and hurt specialise it.</p>
        <p>
          In general, there is no unique kind of representation for each light-weight
representation informed. So, Node identifier, e.g., is represented by five different ways:
Textual label without a special marker, Textual label between “[]”, Textual label before
”:”, Textual label before “-“ and Using a coupled graphical representation. Further
details about the representations used can be found at [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Survey with Experts in iStar Extensions to Select a Subset of Light-weight</title>
      </sec>
      <sec id="sec-4-3">
        <title>Representations</title>
        <p>This section presents the results of the survey with experts to evaluate which
lightweight representations of the first study (presented in Table 1) should be included as
standard extension mechanism in iStar 2.0 and if the language should have extension
mechanisms. The means of the responses are presented in the Fig. 1.</p>
        <p>Note that Specialised Link, Cardinality and Link Qualifier means are below or
equal to 3. However, we believe that some mistakes may have influenced their
opinions about Specialised Link. Four participants who evaluated Specialised Link as
neutral, weak or strong reject commented that it is interesting to consider Specialised
Link in the extension mechanism, but they did not agree with the representation used
by us to illustrate this concept in the survey - for example we illustrated the
specialised link by the usage of a label, we did not use “&lt;&lt;&gt;&gt;” such as stereotypes, and
according to these participants, this representation is better. So, if we consider that
this is the reason for the low evaluation, perhaps we can accept the Specialised Link
as a possible part of the extension mechanisms definition.</p>
        <p>Specialised Node, Node Identifier, Node Status, Label with Syntax, Reference to
External Representation and Reference to another Part of the Diagram had the mean
above 3. Remember that the value 3 represents neutral in the Likert scale used in this
survey, so mean above 3 means that the related representation is important in the
extension mechanism proposal.</p>
        <p>
          Finally, the last question analyses if the iStar extensions should have extension
mechanisms had value above 3. In another study [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] we analysed a set of statements
using a survey, one of the statements was related to defining extension mechanisms.
This statement received mean four according to the responses of other 30 experts in
iStar extensions. The results of both studies reiterate the need for define extension
mechanism.
4.3
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>Preliminary Proposal of the iStar Extensions Mechanisms</title>
        <p>Node status is the fourth light-weight representation more used in extensions with
fourteen constructs in nine previous extensions. So, it should be considered as a kind
of representation frequently used in iStar extensions. Cardinality and link qualifier
will not be considered here due to the value of its mean in the results of the survey
and its low use in previous extensions (4 and 1 extensions, respectively).</p>
        <p>We identified two ways to represent the extension mechanisms in iStar. The first
one is to select one of the existing representations for each light-weight representation
identified. So, we can have 8 different representations, one for each light-weight
representation. For example, we can define that Node Identifier is represented by a “:” in
the label of entities, Label with syntax represented by “{{}}” and so on. Another way
is to consider the abstractions of UML and URN extension mechanisms as the base
and adapt these ideas in the definition of iStar extension mechanisms. So, we think
this second manner is better than the first one, since it is more generic and allows
customisations.</p>
        <p>So, the idea of UML stereotypes can be used to represent the specialisation of
nodes and links in iStar. The UML tagged values have no similar representation in
URN models, but we believe it is suitable in iStar context to represent the light-weight
representations which we presented in Section 4.1 of this paper.</p>
        <p>Additionally, default properties associated with tagged values could be defined. In
UML there is a set of 33 default stereotypes such as &lt;&lt;Utility&gt;&gt;, applied to a Class
to inform that it has no instances, but rather denotes a named collection of attributes
and operations. So, we can define some default properties to tagged values to
represent part of the light-weight representations selected in Section 4.2. Hence, Node
identifier could be referred as Id, reference to external representation and reference to
another part of the diagram can be adopted. They can be joined in a representation
labelled as Reference to. Node status can be labelled as Status. Finally, Label with
syntax can be labelled as Logic. Thus, a goal can be labelled, as for example as
&lt;&lt;Business&gt;&gt; {Id = G1} Accommodation booked. The additional information can be
used in a reasoning approach which can consider only business goals and take the
value of Id (i.e., G1) of all business goals. The user could use the predefined iStar
tagged-values and define their own. Fig. 2 presents an illustration of part of the
existing representations and the representation with our proposal to Node Identifier and
Specialised Node.</p>
        <p>The profiling is a characteristic present in UML and URN. The UML uses a
specific model to allow the definition of UML profiles. It uses the class representations as
basis. In URN the profiling is defined with the usage of metadata, URN links, URN
concerns and OCL constraints (see Section 3). These elements are defined as
properties of the elements of the models in the tool jUCMNav Tool. We believe URN
concerns and OCL constraints could be adapted to become part of iStar extension
mechanism regarding group concepts and define constraints between them.</p>
        <p>In summary, we conclude that iStar could have the iStar stereotypes and iStar
tagged-values visual light-weight mechanisms as a specialisation of iStar extension
mechanisms. Additionally, it would have two new elements named iStar groupers and
iStar OCL constraints, which could be hidden as properties in a modelling tool. The
iStar groupers are useful to group metaclasses and make easy define constraints for a
set of metaclasses in group.</p>
        <p>These concepts should be part of the iStar syntax, so we represented them in the
iStar metamodel. The metaclasses Stereotype and TaggedValue were associated with
Element propagating these properties to all iStar nodes and links. We created an
enumeration related to default tagged values (Id, Reference to, Status and Logic). The
iStar groupers and iStar OCL constraints are represented as properties. The iStar
metamodel with the representation of extension mechanism is available at
http://www.cin.ufpe.br/~ejtg/istar_metamodel_extension_mechanisms/.</p>
        <p>
          The gain with the iStar extension mechanisms is not only about simplification of
the scenario presented in Fig. 2. Tools are relevant for the usage of an extension, but
51 extensions (53.6%) do not have any modelling tool [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Once these mechanisms
become part of the iStar metamodel and the iStar modelling tools, a great part of
future extensions could be proposed without coding tools, using only the extension
mechanisms. So, they could contribute to providing tool support for iStar extensions.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>Many extensions have been proposed since the initial iStar version, in the 90's. At this
moment iStar is under standardisation. Consequently, it is relevant to discuss iStar
extensibility mechanisms. In this paper, we presented some preliminary
considerations for extension mechanisms. It was based on analysis of existing extensions and
considered the opinion of the experts about the selection of existing light-weight
representations. We recognise the importance of the iStar community to be engaged in
the definition of iStar extensions mechanisms. So, this our preliminary proposal can
be a starting point for discussions about the theme and future inclusion of extension
mechanism in iStar 2.0.</p>
      <p>As future work, it is important to include a new version of the extension
mechanisms and to propose a tool able to use them in a practical way. Another required
important contribution is to formalise the iStar metamodel with extension
mechanisms with a formal/semi-formal language such as Alloy. Last but not least, the
proposal of a process to guide the proposal of future iStar extensions is an ongoing work.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements</title>
      <p>The authors thank to CNPQ / Brazil (Conselho Nacional de Desenvolvimento
Científico e Tecnológico) by the financial support to the execution of this work,
Universidade Federal do Ceará, LER-UFPE and NOVA LINCS Research Laboratory
(Ref. UID/CEC/04516/2013).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghanavati</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peyton</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>Evaluating goal models within the goal-oriented requirement language</article-title>
          .
          <source>Int. J. of Intelligent Systems</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>User Requirements Notation: The First Ten Years, The Next Ten Years</article-title>
          ,
          <source>Journal of Software</source>
          , Vol.
          <volume>6</volume>
          ,
          <issue>Nr</issue>
          . 5, 2011
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <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>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Tropos: an agentoriented software development methodology</article-title>
          .
          <source>Auton. Agents MAS Journal</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <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.0 Language Guide</source>
          ,
          <year>2016</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Massacci</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zannone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <article-title>Security and trust requirements engineering</article-title>
          .
          <source>In: International School on Foundations of Security Analysis and Design III</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gonçalves</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heineck</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <article-title>A Systematic Literature Review of iStar extensions</article-title>
          .
          <source>The Journal of Systems and Software</source>
          , v.
          <volume>137</volume>
          , p.
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gonçalves</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Oliveira</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monteiro</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Understanding what is important in iStar extension proposals: the viewpoint of researchers, REJ (Under review)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>ITU-T Z</surname>
          </string-name>
          .
          <volume>150</volume>
          ,
          <article-title>Formal description techniques (FDT) - User Requirements Notation (URN</article-title>
          ), available in https://www.itu.int/rec/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kitchenham</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfleeger</surname>
            <given-names>S</given-names>
          </string-name>
          . Principles of Survey Research, Soft. Engineering Notes,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. OMG,
          <source>Unified Modeling Language specification 2.5</source>
          .1, available in https://www.omg.org/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>Modelling Strategic Relationships for Process Reengineering</article-title>
          . U. of Toronto,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>