=Paper= {{Paper |id=None |storemode=property |title=None |pdfUrl=https://ceur-ws.org/Vol-766/paper30.pdf |volume=Vol-766 |dblpUrl=https://dblp.org/rec/conf/istar/MaltaSSPAC11 }} ==None== https://ceur-ws.org/Vol-766/paper30.pdf
           CEUR Proceedings of the 5th International i* Workshop (iStar 2011)




            iStarTool: Modeling requirements using the i*
                           framework

    Átila Malta1, Monique Soares1, Emanuel Santos1, Josias Paes1, Fernanda Alencar2,
                                    Jaelson Castro1
       1
         Universidade Federal de Pernambuco – UFPE, Centro de Informática, Recife, Brazil
                           {avmm, mcs4, ebs , jpsj2, jbc}@cin.ufpe.br
      ² Universidade Federal de Pernambuco - UFPE, Departamento de Eletrônica e Sistemas,
                                          Recife, Brazil,
                                    fernandaalenc@gmail.com



        Abstract. The iStarTool supports the graphical modeling of i* Framework. With
        a view to decrease the learning curve of i* models as well as to improve their
        quality, we provided the syntax checking feature. The tool allows the
        construction of valid models according to constraints and good practices
        guidelines. It is been developed using the open-source Eclipse platform and
        model-driven technologies, such as the Graphical Modeling Framework (GMF).
        Keywords: iStarTool; Modeling tool, i* (iStar) Framework


1     Introduction
IStarTool is a graphical editor for the i* Framework models, built using the GMF
framework. It supports the creation of both the SD and SR models, through an intuitive
user interface built over the well-known Eclipse platform.
Download Information/availability. The iStarTool is free for download, and it is
available at the project Web page: http://portal.cin.ufpe.br/ler/Projects/IStarTool.aspx.
Web page and documentation. The web page of the project is the same of the
download page. The main documentation available in [1], is written in Portuguese but
currently under translation to English.
Main purpose. The main purpose of the iStarTool is to facilitate the learning of i*
language and improve the quality of i* models, being especially aimed at beginners. In
several occasions during the teaching of i*, we identified the need to have a tool to
help beginner users to reduce their number of mistakes well as to make it clear what
kind of constructions were possible (or not). Several tools can handle some level of
constraints over the i* models. In some cases also allowing, if necessary, the definition
of extra modeling constraints, e.g., jUCMNav. However, we preferred to develop our
own solution instead of customizing somebody else tool. The reasons are many fold.
It served as an exercise to master the meta-modelling technologies and implementation
environment. Furthermore, it allowed us to improve its usability, i.e., as we managed to
provide more friendly warnings. In the future it will also incorporate model-driven
features (see future works).




                                            163
         CEUR Proceedings of the 5th International i* Workshop (iStar 2011)




   Status and Maturity. The current version of the iStarTool (Fig. 1) is 0.3. Some
bugs still need to be fixed before the release of version 1.0. However, at this early
stage, the tool presents a good degree of maturity and stability.


2    iStarTool
The iStarTool supports two different versions of i* Framework: the Yu’s PhD Thesis
and the iStarWiki [2]. Fig. 1 shows a screenshot of the tool interface. Panel 1 is where
we can create and edit the diagrams. Panel 2 is the tool palette that offers the elements
and links used when drawing diagrams. Panel 3 shows an overview of the diagram that
allows the manipulation of large and complex diagrams. Panel 4 enabled the change
of the properties of a selected element. Panel 5 highlights the button used to check
(syntactically) the model.




                                Fig.1. Screenshot of iStarTool
Primary Features. One of the main features of the iStarTool is the syntax checker.
Due to the fact that we have used GMF, which supports the Object Constraint
Language (OCL), it was possible to handle many common errors and constraints
present in the i* models. This syntax checker feature consists of two independent
systems integrated to the iStarTool, namely the the Syntax Warnings and the Syntax
Checker System, described below.
   The Syntax Warnings is an online system that enable pop-ups that fires warnings
when the modeler makes a mistake during the modeling process. Instead of forbidding
errors in the i* models, we prefer to alert users when some error is detected. For
example, if a link is used in the wrong place, the Syntax Warning System shows a pop-
up with an explanation, indicating to the user what is inappropriate. Then the user can
correct it and learn in this process of trial and errors.
   This system was deveopled because i* language allows some conditions that are
difficult to be expressed and handled using OCL. Our systems can detect some of the
most common problems and adequately treat them without upsetting the user. For
example, if the user tries to link two actors without determining the intentional
element an alert is fired. Many common mistakes are documented in the literature, see
for example the i* good practices guidelines available at [2]. The errors detected
include:
        · Actors linked by dependency link without an intentional element (SD
             Model);




                                           164
                  CEUR Proceedings of the 5th International i* Workshop (iStar 2011)




              ·  Dependency links used inside an actor boundary (SR Model) linking
                 internal elements;
            · Contribution, Means-end or decomposition links used between actors in
                 SD Models;
        Unlike the Syntax Warning System, the Syntax Checker runs offline. The reason it
     that some i* steps could be considered wrong if analyzed in real time. In order to
     execute it, the user only needs to click a button (see Fig 1, panel 5). The Syntax
     Checker detects the same problems of the Syntax Warning and many others such as:
            · The same intentional element being targeted more than once;
            · The same intentional element being the source more than once;
            · Dependency links without an intentional element in a SR model.
        The iStarTool also allows users to work on multiple models at the same time. It
     saves all models in XML format, by default, and if necessary, they can be exported as
     an image. In a previous work we have identified the common and variable modeling
     elements of several i* based languages [4]. Based on SPL principles, we produced a
     core metamodel, which enabled the definition of specific i* dialects. Moreover, the
     current features of the iStarTool can be reused to support families of graphical editors
     for i* based languages. Since the AGILE approach was based on the iStarTool,
     similar families of tools could be generated in minutes.


     3     Limitations and Future plans
        We are planning to make several extensions. For example we want to support the
     measurement of i* models (based on some well pre-defined metrics) as well as to
     provide some semantic checkers present. We plan to integrate model transformations
     to produce other artifacts such as architectural models and scenario descriptions [5].
        We intend to improve the interface of the iStarTool as well as the shape of the i*
     elements. Moreover, we wish to provide the interoperability with other i* modeling
     tools. Currently, the iStarTool just runs on Windows. However we are already working
     to support other operational systems.


     References

1.       Santos, B. S. IStarTool – A proposal of tool for modeling i*. (in portuguese, Uma proposta de
         ferramenta para modelagem de i*). Master’s thesis - Universidade Federal de Pernambuco,
         Centro de Informática, Brasil, 2008.
2.       i* Wiki: i* Guides < http://istar.rwth-aachen.de/tiki-index.php?page_ref_id=200 >. Last
         Access in May of 2011.
3.       Graphical Modelling Framework < http://www.eclipse.org/modeling/gmp/ >. Last Access in
         May of 2011.
4.       Paes, J., Lima, , Santos, E., Silva, C., and Castro, J.: AGILE : Automatic Generation of i *
         Languages. In: Proceedings of the 24th Ibero-American Conference on Software Engineering
         - CIbSE 2011, Rio de Janeiro, Brasil: 2011.
5.       Lucena, M., Silva, C., Santos, E., Alencar, F., and Castro, J.: Applying Transformation Rules
         to Improve i* Models. In: Proceedings of the 21st International Conference on Software
         Engineering and Knowledge Engineering (SEKE 2009), Boston, USA: 2009, pp. 43-48.




                                                   165