<!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>iTactic: A Goal Model Evaluation Tool to Support Strategic Decision-Making</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mohamed Abdel-Monem</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Islam El-Maddah</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hani Mahdi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer and Systems Engineering Department, Faculty of Engineering, Ain Shams University</institution>
          ,
          <country country="EG">Egypt</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Goal models proved their importance in several disciplines and fields of application. However, most goal modeling support tools are mainly biased toward requirements engineering. This paper presents a new conceptual tool “iTactic.” iTactic supports decision-making and tactics based on goal modeling. The tool defines a strategy in terms of a goal model using i* terminology. The employed evaluation method is based on the analogy to system models of control systems, accounting for input and output values at each point in time. iTactic goes beyond goal model evaluation and provides room for costs in its data model, providing a basis for comparing the expected success from diferent strategy implementation alternatives to the cost of these alternatives.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Goal model</kwd>
        <kwd>Goal model evaluation</kwd>
        <kwd>Goal model evaluation tool</kwd>
        <kwd>iStar</kwd>
        <kwd>i*</kwd>
        <kwd>Strategy evaluation</kwd>
        <kwd>Decision-making tool</kwd>
        <kwd>iTactic</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        approaches based on fuzzy logic have been presented in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. A quantitative
approach for evaluating KAOS-based goal models was introduced based on a probabilistic
model to represent partial satisfaction of the goals presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. GeNIe Modeler[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
provides a similar concept to goal model evaluation but also relies on a probabilistic
model and does not support the goals’ nodes to form cycles.
      </p>
      <p>
        These mentioned satisfaction analysis techniques consider only what value the final goal
will eventually take, ignoring the time profile of satisfaction levels of both leaf goals (the
inputs) and the root goal (the output). Additionally, these techniques ignore the nature
of specific goal satisfaction dynamics, e.g., the required time for goals to be satisfied after
their precedents were fully satisfied. Other research works, e.g. in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], consider
the time domain for goal satisfaction levels and even for the structure of the goal model
itself. Nevertheless, these researches still don’t account for the natural propagation delay
in goal satisfaction.
      </p>
      <p>In the selected framework for strategy evaluation, a strategy is modeled in terms of an
i*-like goal model. The strategy’s final goal and other intermediate goals are treated as i*
softgoals. Tasks are the leaf nodes in the goal model, and they are the original source of
the contribution. This contribution is specified for each task in terms of a pre-estimated
curve named the success curve. The success curve defines how the task will develop
success. Another curve to be specified for each task is the cost curve which also specifies
how the cost will be distributed along the task execution time.</p>
      <p>
        In iTactic, positive and negative contribution relationships are the only supported
relationships among goals or from tasks to goals. The framework accepts the contribution
relationships to form cycles in the goal model. The individual success of a task propagates
to participate in the success curve of the final goal. On the other hand, the cost curve of
the final goal can be computed algebraically. Comparing the cost and success curves for
the final goal of diferent policies provides a means for choosing the best decision to take.
2. Tool Objectives
iTactic is used to prove the novel concept in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. That concept ties the control system
model to the goal modeling. iTactic is designed specifically to address:
1. Graphical editing goal models in accordance with i* terminology.
2. Extending the i* softgoal data model to accommodate the extended attributes:
softgoal responsiveness and weights from the contributing nodes.
3. Extending the i* task data model to accommodate the entry of cost and success
curves.
4. Graphical data entry of the extended attributes.
5. Providing an interactive graphical user interface to start the evaluation of diferent
combinations of tasks based on task inclusion or exclusion.
6. Evaluating the resultant success curve of the final goal based on state-space
representation according to the methodology that is detailed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
7. Calculating the resultant cost curve of the final goal.
      </p>
      <p>8. Visualizing the resultant cost/success curves for the goal model final softgoal.</p>
    </sec>
    <sec id="sec-2">
      <title>3. Internal Design</title>
      <p>
        Based on the analogy of goal models to system models of control systems, the used goal
model evaluation is based on the state-space representation. This allows the accounting
of values at each point in time for the inputs and the output. The details of the method
along with the used algorithms are stated in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        State-space representation has a mature open-source implementation in the signal
module of SciPy which is a Python library for scientific computing. This drove iTactic
to use Python as the foundation programming language. Python also provides a myriad
of facilities for matrix representation, graphical user interface, and data visualization.
PyQt [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is the python binding of the prominent graphical user interface toolkit Qt which
has been adopted by iTactic and used extensively. All package dependencies of iTactic
are listed in Table 1.
iTactic attempts to separate the presentation layer of the application from the internal
data model presentation and computations layer. This is achieved by the segregation
of classes into gui namespace and model namespace. Among the classes in the gui
namespace is the gui.Scene class, which inherits PyQt5.QtWidgets.QGraphicsScene.
The primary task of this class is to populate the graphical nodes and relations (the
gui.graphics.* classes inheriting from QGraphicsItem) from the model.Document class.
The class diagram of the graphical elements of the goal model is shown in Figure 1.
      </p>
      <p>
        From the class diagram it can be indicated that while the tool supports actor nodes, it
does not support dependencies in its current version. Therefore, it cannot currently be
used for Strategic Dependency models as indicated in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>JSON format has been chosen for saving the model as computer files. It allows for
external editing by text editors and gives chance for possible interoperability with other
modeling tools.</p>
      <p>For handling mouse events inside the QGraphicView which is the widget that hosts the
goal model, an object-oriented approach is used based on a concept of an interactor. An
interactor is an object that handles user events like mouse and keyboards. The naming
matches a similar concept used by ILOG Views, which was a famous object-oriented
C++ toolkit for graphical user interface and data visualization in the 1990s and 2000s.
Another notable task of the gui.Scene is dispatching keyboard and mouse events to the
gui.interactors.Interactor subclasses that define the user interface behavior. The
graphics</p>
      <p>Scene</p>
      <p>SoftGoalItem</p>
      <p>GoalItem</p>
      <p>ResourceItem</p>
      <p>TaskItem</p>
      <p>ActorItem
ContributionItem</p>
      <p>OrRefinementRelationItem</p>
      <p>AndRefinementRelationItem</p>
      <p>NodeItem</p>
      <p>NeededByItem
Qt</p>
      <p>QGraphicsItem
QGraphicsScene</p>
      <p>QGraphicsLineItem</p>
      <p>Node
RelationItem
model</p>
      <p>Relation</p>
      <p>Actor
Document</p>
      <p>Interactor
class diagram of the implemented interactors for manipulating various goal model elements
is shown in Figure 2.
interactors</p>
      <p>AddRelationInteractor</p>
      <p>AddNodeInteractor</p>
      <p>AddActorInteractor
AddSoftgoalNodeInteractor</p>
      <p>AddTaskNodeInteractor
AddGoalNodeInteractor</p>
      <p>AddResourceNodeInteractor
AddNeededByRelationInteractor</p>
      <p>AddAndRefinementRelationInteractor</p>
      <p>AddOrRefinementRelationInteractor</p>
      <p>AddContributionRelationInteractor</p>
    </sec>
    <sec id="sec-3">
      <title>4. Using iTactic</title>
      <p>The general steps for using iTactic are:
1. Develop the goal model that represents the strategy to achieve the final goal.
2. For each goal, define the responsiveness parameter and the weights of contributions
from other goals or tasks. Weights should sum up to the value of 1.0.
3. For each task, determine the best cost and success curve parameters that best match
its expected performance. The supported types are Linear and Sigmoid. Additional
parameters are required according to the type as seen in Figure 3:
• Linear type: The “Start” parameter specifies when the linear period of cost/success
starts and the “End” parameter specifies when that period ends.
• Sigmoid type: The “Hump” value of the curve, which specifies the center of the
curve that corresponds to the point in time with the maximum rate of change
in the curve, and to set the “Speed” value to specify how sharp the curve will
look like
4. Start evaluation of the goal model and define strategy implementation alternatives
by selecting combinations of tasks as seen in Figure 4). The simulation is instantly
re-executed, and the output success and cost curves are shown allowing the user to
review the expected cost and success curves of the final goal for these combinations.
5. Conclusions and Ongoing Work
iTactic is a tool that is capable of editing i* goal models. It also introduced novel
evaluation capabilities that facilitates identifying strategy implementation alternative
by task inclusion/exclusion. The output of an alternative in iTactic is represented as
the cost/success curves of the final goal of the goal model. The resultant cost/success
curves carry insights about the expected performance of the strategy implementation
alternatives, hence supporting decision-making.</p>
      <p>However, the current version supports only the basic parts of the i* language. Currently,
it supports all node types but the relationship types are limited to contributions. This is
due to the fact that the employed evaluation algorithm uses the state-space representation
which requires linear relations only. A possible future work can address this limitation
possibly by linearization techniques.</p>
      <p>
        The underlying method for goal model evaluation supports any time series for the
cost/success curves of tasks. However, the current version of the tool supports
graphicalbased data entry of only curves that are either linear or sigmoid-like. More options
for cost/success curves since are currently being studied to be supported in a next
version. Other planned enhancements of the tool include modeling and handling of
interdependencies among tasks, and implementing cost/success curves’ alternatives for
tasks. Ongoing work is currently being done also to provide internal interoperability with
other i* tools by importing and exporting files in common formats, e.g. iStarML [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or
piStar’s JSON [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Abdel-Monem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mansour</surname>
          </string-name>
          , I.
          <string-name>
            <surname>El-Maddah</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Mahdi</surname>
          </string-name>
          ,
          <article-title>Strategy assessment using goal models: Software industry as a case study example</article-title>
          ,
          <source>in: Proceedings of the 14th International iStar Workshop</source>
          (iStar
          <year>2021</year>
          ),
          <source>CEUR Workshop Proceedings</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Nixon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <article-title>Non-Functional Requirements in Software Engineering</article-title>
          , volume
          <volume>5</volume>
          of International Series in Software Engineering, Springer US,
          <year>2000</year>
          . doi:
          <volume>10</volume>
          .1007/978-1-
          <fpage>4615</fpage>
          -5269-7.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , E. Nicchiarelli,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          ,
          <article-title>Reasoning with goal models</article-title>
          , in: S. Spaccapietra,
          <string-name>
            <given-names>S. T.</given-names>
            <surname>March</surname>
          </string-name>
          , Y. Kambayashi (Eds.),
          <source>Conceptual Modeling - ER 2002</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2003</year>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>181</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Subramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krishna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kaur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Gopalan</surname>
          </string-name>
          ,
          <article-title>Quantitative reasoning of goal satisfaction in the i* framework</article-title>
          ,
          <source>in: Proceedings of the 27th International Conference on Software Engineering and Knowledge Engineering, KSI Research Inc. and Knowledge Systems Institute Graduate School</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>666</fpage>
          -
          <lpage>669</lpage>
          . doi:
          <volume>10</volume>
          .18293/ SEKE2015-158.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Chatzikonstantinou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kontogiannis</surname>
          </string-name>
          ,
          <article-title>Eficient parallel reasoning on fuzzy goal models for run time requirements verification</article-title>
          ,
          <source>Software &amp; Systems Modeling</source>
          <volume>17</volume>
          (
          <year>2018</year>
          )
          <fpage>1339</fpage>
          -
          <lpage>1364</lpage>
          . URL: https://doi.org/10.1007/s10270-016-0562-9. doi:
          <volume>10</volume>
          .1007/ s10270-016-0562-9.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Letier</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. van Lamsweerde</surname>
          </string-name>
          ,
          <article-title>Reasoning about partial goal satisfaction for requirements and design engineering</article-title>
          ,
          <source>SIGSOFT Softw. Eng. Notes</source>
          <volume>29</volume>
          (
          <year>2004</year>
          )
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          . URL: https://doi.org/10.1145/1041685.1029905. doi:
          <volume>10</volume>
          .1145/1041685.1029905.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>L. BayesFusion</surname>
          </string-name>
          , Genie modeler, User Manual. Available online: https://support. bayesfusion. com/docs/(accessed on 21
          <source>October</source>
          <year>2019</year>
          ) (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Mussbacher</surname>
          </string-name>
          , et al.,
          <article-title>Timedgrl: specifying goal models over time</article-title>
          ,
          <source>in: 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>134</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Grubb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          ,
          <article-title>Formal reasoning for analyzing goal models that evolve over time</article-title>
          ,
          <source>Requirements Engineering</source>
          <volume>26</volume>
          (
          <year>2021</year>
          )
          <fpage>423</fpage>
          -
          <lpage>457</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Abdel-Monem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>El-Maddah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. K.</given-names>
            <surname>Mahdi</surname>
          </string-name>
          ,
          <article-title>Goal model evaluation based on state-space representation</article-title>
          ,
          <source>IEEE Access 8</source>
          (
          <year>2020</year>
          )
          <fpage>205111</fpage>
          -
          <lpage>205123</lpage>
          . doi:
          <volume>10</volume>
          .1109/ ACCESS.
          <year>2020</year>
          .
          <volume>3037210</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Riverbank</given-names>
            <surname>Computing</surname>
          </string-name>
          <string-name>
            <surname>Limited</surname>
          </string-name>
          , PyQt,
          <year>2022</year>
          . URL: https://www.riverbankcomputing. com/software/pyqt/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Modelling Strategic Relationships for Process Reengineering</article-title>
          ,
          <source>Ph.D. thesis</source>
          , Graduate Department of Computer Science, University of Toronto,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C.</given-names>
            <surname>Cares</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Susi</surname>
          </string-name>
          ,
          <article-title>Towards interoperability of i* models using iStarML</article-title>
          ,
          <source>Computer Standards &amp; Interfaces</source>
          <volume>33</volume>
          (
          <year>2011</year>
          )
          <fpage>69</fpage>
          -
          <lpage>79</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pimentel</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Castro,</surname>
          </string-name>
          <article-title>piStar tool-a pluggable online tool for goal modeling</article-title>
          , in: 2018 IEEE 26th International Requirements Engineering Conference (RE), IEEE,
          <year>2018</year>
          , pp.
          <fpage>498</fpage>
          -
          <lpage>499</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>