=Paper= {{Paper |id=Vol-2641/paper_06 |storemode=property |title=piStar-ext: Supporting the Creation of iStar Extensions with the piStar tool |pdfUrl=https://ceur-ws.org/Vol-2641/paper_06.pdf |volume=Vol-2641 |authors=Enyo Jose Gonçalves,Guilherme Rodrigues,Paulo Miranda,João Pimentel,João Araujo,Jaelson Castro |dblpUrl=https://dblp.org/rec/conf/istar/GoncalvesRM00C20 }} ==piStar-ext: Supporting the Creation of iStar Extensions with the piStar tool== https://ceur-ws.org/Vol-2641/paper_06.pdf
                  piStar-ext: Supporting the Creation of iStar Extensions
                                   with the piStar Tool

                             Enyo Gonçalves1, Guilherme Rodrigues1, Paulo Miranda1,
                                  João Pimentel4, João Araujo3, Jaelson Castro2
                                           1
                                     Universidade Federal do Ceará, Brazil
                                       2
                                  Universidade Federal de Pernambuco, Brazil
                                   3
                                     Universidade Nova de Lisboa, Portugal
                              4
                                Universidade Federal Rural de Pernambuco, Brazil
                         enyo@ufc.br, guilhermerodriguesbr@outlook.com,
                     paulomirandamss12@gmail.com, joao.hcpimentel@ufrpe.br,
                            joao.araujo@fct.unl.pt, jbc@cin.ufpe.br



                      Abstract. Many extensions have been proposed since the initial iStar version, in
                      the 90's. We have been analysing these extensions and proposing ways to support
                      new ones. In previous work, we have proposed extension mechanisms to iStar
                      2.0. Since modelling tools play a central role during the modelling of systems,
                      we believe that a modelling tool that supports the creation of extensions through
                      a graphical user interface could make this task easier. In this paper, we report on
                      the results of supporting iStar extensions with piStar-ext, an iStar 2.0 web mod-
                      elling tool. Our tool allows the proposal of new constructs using textual repre-
                      sentation as well as new symbols. We illustrated our proposal by representing an
                      existing iStar extension with the new features included in piStar-ext.
                      Keywords: iStar, Extension Mechanisms, Goal Modelling Tool.


              1       Introduction
              iStar is a goal-based modelling language proposed in 90’s and has been widely adopted
              by the requirements engineering academic community [15]. In 2016 it was updated to
              iStar 2.0, through a collaborative effort [1]. Since its creation, iStar has been extended
              to represent specific constructs for specific domains. Extensions can make a modelling
              language more expressive and suitable to a specific domain/application area, improving
              the legibility of the models. Extensions also can provide a more accurate model trans-
              formation or code generation. Several previous works were conducted to identify [2]
              and catalogue [5] the existing iStar extensions, understand the opinion of experienced
              extenders [3], propose extension mechanism [4] and define a process to support the
              creation of new extensions [8][7], among others. We highlight the proposal of extension
              mechanisms which involves iStar stereotypes, iStar tagged-values as visual light-
              weight mechanisms and two new elements named iStar groupers and iStar OCL con-
              straints, which are hidden as properties. These mechanisms can facilitate the proposal
              of new iStar extensions in a systematic way. However, the effective use of these mech-
              anisms depends on having these mechanisms available in a modelling tool. The iStar




Copyright © 2020 for this paper by its authors. Use permitted under                                         31
Creative Commons License Attribution 4.0 International (CC BY 4.0).
Wiki1 lists 29 different iStar modelling tools. Only a small subset of these tools supports
iStar 2.0, but none has a Graphical User Interface (GUI) that allows the creation of the
extensions mechanisms.
   In this paper, we present the piStar-ext, a web-based tool that supports the creation
of iStar 2.0 diagrams that require the extensions mechanisms proposed in [4]. It is an
evolution of the piStar modelling tool [13]. Section 2 describes the background and
related work, Section 3 presents the results and Section 4 concludes the paper and pre-
sents further research.


2         Background and Related Work

2.1       Extension Mechanisms in iStar
The proposal of extension mechanisms presented in [4] involves iStar stereotypes (rep-
resented between “<<” and “>>”) and iStar tagged-values (represented between brack-
ets) visual light-weight mechanisms as a specialisation of iStar extension mechanisms.
In UML there are 33 default stereotypes such as <>, applied to a Class to
inform that it has no instances, but rather denotes a named collection of attributes and
operations. So, we used the default values (Id, Reference to, Status and Logic) proposed
by [4] to tagged values. Node identifier could be referred to Id. Reference to external
representation and reference to another part of the diagram can be represented by the
value Reference to. Node status can be labelled as Status. Finally, Label with syntax
can be labelled as Logic. Thus, a goal can be labelled, for example as <>
{Id = G1} Accommodation booked. Fig. 1 presents an agent with the stereotype <> and a task with the stereotype <> and the tagged value type.




                Fig. 1. Illustration of Stereotype and Tagged Value in iStar Diagrams.

   Additionally, it would have two new elements named iStar groupers and iStar OCL
constraints, which could be hidden as properties in a modelling tool to represent vali-
dation rules. The iStar groupers are useful to group constructs and make it easy to apply
stereotypes or tagged values for a set of the constructs in a group. Thus, we could pro-
pose a group named Rational Grouper, which includes Actor and Role to apply the
stereotype <> to this group.




1
    http://istarwiki.org/




                                                 32
2.2       piStar tool
The piStar tool [13] is a web tool to create iStar models available at
https://cin.ufpe.br/~ler/pistar/. It was developed by using web technologies HTML,
CSS and Javascript. The code is structured in two main packages: language, which de-
fines the metamodel, constraints and shapes of the iStar constructs; and app, which
presents the main functionalities of the piStar tool. Fig. 2 shows an overview of the
piStar tool user interface. The top of Fig. 2 shows the modelling palette, inspired by the
design of the OME tool. The elements and links of the palette can be added to the
drawing area. The visual design of the diagram is based on the original iStar 2.0 nota-
tion [1]. Actors can be collapsed and presented at will. Thus, one can create different
views (Strategic Dependencies and Strategic Relationships) of the same model.




                             Fig. 2. An Overview of the piStar tool.


2.3       Related work
    A vast number of modelling tools have been proposed for iStar. We mention here
two tools that support iStar 2.0. iStar 2.0 editor [12] is a desktop-based iStar modelling
tool created using Sirius2, an eclipse framework for the model-driven development of
modelling tools. The authors presented a metamodel of the tool and pointed out some
details about its implementation. The Leaf 2.0 tool3 is similar to piStar in the sense that
it is a web-based iStar 2.0 modelling tool. It constitutes the basis of three more specific
tools: CreativeLeaf [11] and GrowingLeaf/BloomingLeaf [10].
    Web tools such as piStar can make it easier to model when compared with desktop
tools such as iStar 2.0 editor since they do not require any software installation. Unlike
piStar, Leaf does not support the creation of dependency links. iStar 2.0 editor and Leaf
do not support the creation of new iStar extensions by using a GUI.



2
    https://www.eclipse.org/sirius/
3
    http://www.cs.toronto.edu/~amgrubb/leaf




                                               33
3        piStar-ext

piStar-ext4 is a specific tool based on piStar [13] with support for the creation of exten-
sions. We added a set of new features to the piStar tool to support the creation of iStar
extensions based on our proposal of extensions mechanisms presented in [4]. Fig. 3
presents an overview of the new features which support the creation of iStar extensions.




                             Fig. 3. New Features of piStar-ext tool.

   We added three new tabs which appear when the modeller select a blank area in the
canvas (Fig. 3-A, Fig. 3-B and Fig. 3-C). They are related to the creation of a set of
stereotypes, tagged values and groupers.
   Fig. 3-A presents the creation of iStar textual stereotypes tab, which is used to spe-
cialise existing iStar nodes and links. An iStar stereotype can be applied to an iStar
grouper, to an iStar node or an iStar link. In Fig. 3-A the stereotypes simple-reflex,
model-based reflex, goal-based and utility based, which represent the kind of rational
agents presented by [14], are applied to rational grouper. Complementary, the stereo-
type action is applied to Task to represent agents’ actions[14].
   Fig. 3-B presents the creation of iStar tagged values which are used to add visual
information to the constructs. An iStar tagged value can be applied to an iStar grouper,
to an iStar node or an iStar link. Fig. 3-B presents the tagged value type applied to the
Task to represent the kind of Task. The possible values to type are duty, which repre-
sents that a mandatory Task, and right, which represents that an optional Task.
   Note that a blank diagram with only the definition of stereotypes, tagged-values and
groupers can be created and shared as a basis to create models of an iStar extension.
   Fig. 3-C presents the creation of iStar groupers which are used to create a subset of
iStar constructs to facilitate the application of stereotypes and tagged values. An iStar
grouper can join a subset of iStar constructs. Fig. 3-C depicts rational grouper (related
4
    The tool is aßvailable to use at www.cin.ufpe.br/~ler/pistar-ext. The Code is available at
     https://github.com/guiRodrigues/pistar-supporting-creation-istar-extensions




                                               34
to rational agents [6]) applied to Actor and Role. This grouper is used by the stereotype
shown in Fig. 3-A. Groupers can be applied to tagged-values as well.
    Fig. 3-D presents the usage of the goal-based stereotype applied to an Agent. Fig. 3-
E presents the usage of the tagged value type to a Task. Note that a set of the four
default values of tagged value (Id, Reference to, Status and Logic) [4] are presented as
options. Stereotypes created in the Stereotypes tab (Fig. 3-A) also appear as an option
in the dropdown list to be applied to an element (Fig. 3-D). Note that goal-based appears
as a possible stereotype in Fig. 3-D. Tagged values created in the tab tagged values
(Fig. 3-B) also appear as an option in the dropdown list to be applied to an element
(Fig. 3-E). Note that type appears as a possible tagged value in Fig. 3-E. Additionally,
the modeller can create a new stereotype or tagged value during the modelling of the
elements of the diagram.
    In summary, to add new textual elements follow these steps: 1. Click in the blank
area of the canvas, 2. Create the Groupers, Stereotypes and Tagged values, 3. Add new
nodes and links to canvas, 4. Apply the pre-defined Stereotypes and Tagged values. It
is also possible to create new stereotypes and tagged values when creating new models.
    It is common for iStar extensions to create constructs using new symbols (as in the
extension proposed to model rational agents [6] and the recreation of a subset of sym-
bols of existing extensions [9]). Thus, we included a way in piStar to create constructs
based on new symbols using the GUI via the new button (Add new) that was added to
the palette. When the modeller clicks on this button, a pop-up window opens with the
definition of the new construct. The modeller should inform data about the name of the
construct, shape (parameters of the svg image that makes the symbol which can be
created with a tool such as Inkscape in inkscape.org or svgicons in http://svgi-
cons.sparkk.fr/), type (node or link), source and target (mandatory when proposing a
link). Then the new construct is included in the palette and can be used in the diagrams.
Fig. 4 shows the button to add new construct on the right side of the palette, the pop-up
window with the specifications of the new construct, new constructs named Planning
and Plan added to the palette and the usage of the new construct Planning in canvas.
Planning is a construct used to represent the creation of a sequence of tasks by an agent
to achieve their goals. These constructs were proposed in [6].
    Fig. 4 illustrates the usage of piStar-ext to create iStar models of an extension repre-
senting rational agents [6]. New constructs were proposed to model the kinds of agent
and roles and a set of specific agent functions using stereotypes. New symbols were
proposed for constructs such as Planning and Plan.




               Fig. 4. Adding Constructs with New Symbol in piStar-ext tool.




                                            35
4      Conclusions and Further research

iStar has been extended since its initial proposal in the 90’s. In previous work, we con-
sidered some iStar extensibility mechanisms [4]. In this paper, we discuss how these
extension mechanisms were included in the piStar tool, an iStar 2.0 modelling tool. We
also presented an example of the usage of this new feature included in piStar. As future
work, we intend to include OCL Rules (part of the iStar extension mechanism not im-
plemented in this version of piStar) in the piStar tool. We also intend to perform an
experiment to analyse time and effort to add the constructs of an iStar extension by
comparison of the usage of two different versions of this tool (piStar and piStar-ext).
Acknowledgements. The authors thank CNPq, CAPES, FACEPE and NOVA LINCS
UID/CEC/04516/2019 for the financial support to the execution of this work.


References
 1. Dalpiaz, F., Franch, X., Horkoff, J. iStar 2.0 Language Guide. arXiv:1605.07767, 2016,
    Available in http://arxiv.org/pdf/1605.07767v1.pdf
 2. Gonçalves, E., Castro, J., Araújo, J., Heineck, T. A Systematic Literature Review of iStar
    Extensions, Journal of Systems and Software, 2017.
 3. Gonçalves, E., Monteiro, I., de Oliveira, M. A., Castro, J., Araújo, J. Understanding What
    is Important in iStar Extensions Proposals: The Viewpoint of Researchers, Requirements
    Engineering Journal, 2017.
 4. Gonçalves, E., Araújo, J., Castro, J. Towards Extension Mechanisms in iStar 2.0. 11th Inter-
    national i* Workshop co-located with the 30th International Conference on Advanced Infor-
    mation Systems Engineering, 2018.
 5. Gonçalves, E., Heineck, T., Araújo, J., Castro, J.: CATIE: a catalogue of iStar extensions.
    Cadernos do IME-Série Informática 41,23–37, 2018.
 6. Gonçalves, E., Araujo, J., Castro, J. iStar4RationalAgents: Modeling Requirements of
    Multi-Agent Systems with Rational Agents, 38th International Conference on Conceptual
    Modeling, 2019.
 7. Gonçalves, E., Araujo, J., Castro, J. PRISE: A process to Supoort iStar Extensions, Journal
    of Systems and Software, 2020.
 8. Gonçalves, E., Araujo, J., Castro, J. A Process to Support the Creation of iStar Extensions.
    35th ACM/SIGAPP Symposium on Applied Computing, p. 1363–1370, 2020.
 9. Gonçalves, E., Almendra, C., Goulão, M., Araujo, J., Castro, J. Using empirical studies to
    mitigate symbol overload in iStar extensions. Software and Systems Modeling, 2020.
10. Grubb, A., Song, G., Chechik, M. GrowingLeaf: Supporting requirements evolution over
    time, 9th International iStar workshop, 2016.
11. Horkoff, J., Maiden, N. Creative Leaf: A Creative iStar Modeling Tool. 9th International
    iStar workshop, 2016.
12. Liebenberg, M., Roßmaier,K., Lakemeyer, G. An iStar 2.0 Editor Based on the Eclipse Mod-
    elling Framework. 10th International iStar workshop iStar. 2017.
13. Pimentel, J. , Castro, J. pistar tool–a pluggable online tool for goal modeling, IEEE 26 th
    International Requirements Engineering Conference, 2018.
14. Russell, S., Norvig, P: Artificial Intelligence: A Modern Approach, Prentice Hall (2003).
15. Yu, E., Giorgini, P., Maiden, N., Mylopoulos, J. Social modeling for requirements engi-
    neering. Mit Press, 2011.




                                              36