Loading...
 

piStar

piStar


piStar is an online goal modeling tool for i* 2.0. Available at http://www.cin.ufpe.br/~jhcp/pistar/

Table of contents



General Information

Tool Name

piStar (pi pronounced as in pie)

Version

1.0.1

Group

Initially created by Universidade Federal de Pernambuco and Universidade Federal Rural de Pernambuco (Brazil).

Web page (if available)

Live: http://www.cin.ufpe.br/~jhcp/pistar/
Development repository: https://github.com/jhcp/pistar

Main Purpose of the Tool

For requirements engineering researchers and practitioners who need to create and maintain i* models.

The piStar tool is a modelling tool that conforms to the iStar 2 standard. The models created with it present high visual fidelity, suitable for including on requirements documents, scientific documents, and web-sites. It can be customized so that other researchers can adopt it as a basis for creating their specific-purpose tools. It contains custom attributes, which help practitioners to specify their requirements. The tool runs on a web-browser without requiring additional installation.

Unlike existing tools, our product has high visual fidelity and built-in extension functionalities, allowing researchers to create a tool to support their own i* approach.

i* framework supported

iStar 2.0

Availability of the tool

  • ( ) For i* modelling only
  • ( ) For development only
  • (X) Both

Programming Language

JavaScript (+ HTML and CSS).

Platform Requirements

Modern web-browser (such as the most recent versions of Google Chrome and Mozilla Firefox).

Other technology needed

None.

Current state of the tool

Working version is available for use. It is ongoing continuous development, suggestions and complaints are welcome: Feedback Form

Ongoing work

  • Undo/redo capabilities
  • Calculating metrics
  • Visualizations for prioritization
  • Bug Fixes

i* Modelling Suitability



1. Does the tool allow SD modelling?

Yes

2. Does the tool allow SR modelling?

Yes

3. Does the tool allow working with SD & SR models jointly?

Yes
If so, please specify how (i.e., by means of expandable elements).
By means of expandable elements. An actor can be collapsed and uncollapsed, thus allowing the visualization of SD and SR (and combinations thereof) diagrams within a single model.

4. Does the tool allow the construction of the models graphically?

Yes
If so, please specify how (i.e., dragging and dropping the elements into a drawing page)
There are buttons for the different elements and links that can be added to the model. The user click a button, then click on the drawing area to position that element. For links, the user click the respective button, then click on the source element, and finally click on the target elements.

5. Does the tool allow the construction of the models textually?

No. The user can manually edit their save file, which is human-readable, but this is not recommended.

6. Describe how the elements are modelled and their flexibility (i.e., the elements can be moved and reordered).

The elements can be moved, deleted, and have their name changed. The user can also add (and edit) any additional property to the elements (e.g., cost, priority, rationale, etc.).
Links can be deleted. Vertexes can be added and deleted from the link.

Dependency links can be deleted. They are modeled with straight line that can be curved (making smooth lines). Dependums can be moved, deleted, and have their name changed. The user can also add (and edit) any additional property to the dependum (e.g., cost, priority, rationale, etc.).

8. Does the tool allow automatic organization of the elements?

No

9. Other modelling facilities provided by the tool:

Resize drawing area; Change the background of the actors to white (to reduce ink consumption when printing).

10. Does the tool check SD models?

Yes.
If so, please specify how (i.e., the tool checks if all the SD dependencies are assigned).
The tool checks for validity at the moment of insertion. The following guidelines from the original i* guide are checked and enforced by the tool:
  • Do not use Dependency Links inside an Actor.
  • Ensure that both sides of a Dependency Link point in the same direction.
  • Do not reuse Dependums in more than one Dependency Relation.
  • Do not use a Dependency Link between two actors without showing the Dependum.
  • Keep elements horizontal. Do not tilt or twist them.


11. Does the tool check SR models?

Yes.

If so, please specify how (i.e., checks if the SR links are correctly stated).

The tool checks for validity at the moment of insertion. The constraints defined by the i* 2.0 standard are checked and enforced by the tool, preventing the user from making syntax mistakes. For example, the user is not able to: add quality links between tasks; add dependency from an element in an actor to an element in the same actor; add an element outside actors' boundaries; create a link with only a source element (without a target); and so on.

12. Other checks provided by the tool (i.e., cross validation between SD and SR models).

In this tool the SD and SR are different visualizations of the same model (by collapsing/uncollapsing actors), thus they are always consistent with each other.

13. Does the tool allow working with two or more models at the same time?

No. The user can work with different models at the same time by opening multiple browser tabs or windows, but they are not interconnected.

14. Does the tool allow to group models in projects?

No.

15. Does the tool allow working with two or more projects at the same time?

No. The user can work with different models at the same time by opening multiple browser tabs or windows, but they are not interconnected.

16. What are the other functionalities that the tool provides?

N/A

Usability


17. Rate the understandability of the user interface

  • () Internal use
  • () Ready for public use
  • (X) Has been used publicly with little learning curve



18. Rate the quality of the user manual

  • ( ) Inexistent
  • ( ) Internal use
  • ( ) Ready for public use
  • (X) Has been used publicly, but still under improvement


19. Does the tool provides i* learning facilities?

Yes.
If so, explain which ones (i.e., methodological guidance).
By preventing invalid i* 2.0 the tool helps users to learn the i* 2.0 syntax. Moreover, when adding a link, the user is instructed on what is allowed regarding that link. Examples:
  • When adding an AND-refinement, the user is informed that It can only be applied to goals or tasks.
  • If trying to add an is-a link between an actor and an agent, the user is informed that it is not possible to add a 'IsALink' link from an Actor to an Agent


20. Does the tool provide any examples for the users?

Yes.

21. Rate the difficulty of installing the tool

Browser-based, no installation required.

Maturity of the Tool


22. Rate the maturity of the tool from the user point of view:

  • ( ) Under Development
  • ( ) Prototype
  • ( ) Ready for public use
  • (X) Has been used publicly


23. Has the tool been used for any case study?

Not that we know of.

24. Has the tool been tested in large models?

Yes.

25. Has the tool any drawback when working with very large models?

  • Saving and loading large models is slow.
  • Moving highly connected elements (e.g., a single goal that has 20 AND-refinements) is slow.

26. Which is approximately the maximum size of the model (in terms of actors and dependencies) the tool has been used for?

For real use, approximately 50 elements. For testing, 300 elements.

Extensibility and Interoperability


27. Does the tool allow importing files?

Yes. The user can import (load) textual JSON files that were created with the tool.


28. Does the tool allow exporting files?

Yes. The user can export (save) textual JSON files representing the created model. The model can also be exported as an image file:
  • Vectorial format (SVG)
  • Rasterized format (PNG)


29. Does the tool allow importing/exporting the data through an XML format?

Not XML, but JSON

30. Is the architecture of the tool published?

No
If so, where?

31. Does the tool allow the addition of other elements outside the i* framework of the tool?

No, only if the tool is extend via plugins or direct source-code modification.

32. New functionalities can be added to the tool by means of:



33. Rate the maturity of the tool for open development:

  • ( ) Under Development
  • ( ) Prototype
  • ( ) Ready for public development use
  • (X) Has been used for public development


34. Is there any internal documentation for programmers?

Yes. https://github.com/jhcp/piStar/blob/master/DEVELOPMENT.md

If so, enumerate the facilities provided
  • (X) Requirements specification and design decisions available
  • ( ) Interface conventions
  • ( ) Code conventions
  • (X) Full commented code
  • (X) Examples
  • ( ) others: please specify
Created by Pimentel. Last Modification: Thursday 29 of March, 2018 10:12:46 GMT-0000 by Pimentel.