<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Modeling Editor: A tool for semi-automated goal modeling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Keitaro Watanabe</string-name>
          <email>k-watanabe@ist.osaka-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hiroyuki Nakagawa</string-name>
          <email>nakagawa@ist.osaka-u.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tatsuhiro Tsuchiya</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ER2023: Companion Proceedings of the 42nd International Conference on Conceptual Modeling: ER Forum</institution>
          ,
          <addr-line>7th SCME</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Graduate School of Information Science and Technology, Osaka University</institution>
          ,
          <addr-line>1-5 Yamadaoka, Suita, Osaka</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Project Exhibitions</institution>
          ,
          <addr-line>Posters and Demos, and Doctoral Consortium</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>KAOS modeling editor is a tool that enables semi-automatic goal modeling via browsers. This tool draws/derives a goal model from a requirements description of a software system. This tool allows software engineers to discover and organize goals that the envisioned software has to accomplish. Engineers can also edit the diagram manually using a graph interface or DOT source file. Moreover, the goal description can be stated in natural languages. The tool is currently available in Github1 and can be installed in a PC with Node.js and Python. The demo video2 is also available on Youtube.</p>
      </abstract>
      <kwd-group>
        <kwd>goal modeling</kwd>
        <kwd>requirements description</kwd>
        <kwd>natural language processing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>In recent times, the requirements that software must meet have grown increasingly complex,
mirroring the expanding scale of software development. Consequently, software developers
often grapple with the challenge of discerning precisely what their clients expect from their
products, striving to avoid either excessive features or deficiencies. To tackle this issue, a
goal-oriented requirement analysis model, referred to as the goal model, is employed. In our
work, we propose an open-source editing tool that automatically generates an initial KAOS
goal model based on the provided requirements description, detailing the states or objectives of
a software system.</p>
      <p>
        Numerous studies have explored goal modeling, including eforts to extract and visualize
goals through data mining techniques [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], deriving domain models from requirements using
natural language processing [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], web-based tools for goal model construction [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], assistance
tools for i* goal models via machine learning and algorithms [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], tools for generating i* models
from narratives [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and automatic i* model generation through natural language processing [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Additionally, this study is based on Nakagawa’s interactive goal modeling theory [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. While
recent research has heavily focused on automatic goal modeling, none have produced a fully
1https://github.com/OrdinaryHyphen/KAOS-modeling-editor
(H. Nakagawa); https://tatsuhirotsuchiya.github.io/jp/ (T. Tsuchiya)
CEUR
Workshop
Proceedings
comprehensive goal model due to incomplete methods or models. In contrast, our modeling
editor can automatically generate preliminary KAOS goal models, allowing users to refine and
modify them, ofering a head start in goal model construction.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Overview</title>
      <p>
        Figure 1 showcases our proposed editor. This tool functions in environments with Node.js and
Python and is compatible with web browsers like Google Chrome and Firefox. On the left side,
there’s a text field for entering requirement descriptions. After the user input and activation by
pressing the button below, the editor autonomously generates a goal model on the right side
after a set time. You can manipulate the goal model’s structure directly using the right-side
interface. Our KAOS modeling editor is based on GVE[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], designed for GraphViz graphs and
accessible via web browsers like Google Chrome and Firefox. Consequently, it includes most of
GVE’s user interfaces (UIs) and functions, except for automatic goal modeling.
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. Implementation</title>
      <p>This section describes the automatic construction of a goal model using the proposed tool.</p>
      <p>Parsing sentences into words Initially, the editor parses the sentences into words. Each
word has information about its part of speech, and its dependencies on other words.</p>
      <p>Extraction of important sentences Following this, crucial sentences are identified based on
specific keywords. These critical sentences pertain to the primary requirements outlined in
the requirement description. To illustrate, in the context of describing an automotive control
software system, sentences containing words like “car,” “driving,” and “speed,” as well as sentences
following them, are considered to contain essential requirements.</p>
      <p>To extract these vital sentences, our proposed tool leverages a concept known as an “epoch
phrase” as a guiding principle for identification. An epoch phrase is a specific phrase that
not only includes words occurring a predetermined number of times within the requirement
description but also incorporates particular terms like “envisioned” and “to be developed.”
For instance, phrases such as “The envisioned auto-driving software” or “The speed control
system to be developed” fall within the epoch phrases category when terms like “auto-driving,”
“software,” “speed,” and “system” appear a predefined number of times in the descriptions. In
the case of a specification for an automotive control system, these terms undoubtedly refer to
the automotive control system under development and typically precede related requirements.
Consequently, sentences within the same paragraph following these epoch phrases are singled
out as pivotal sentences.</p>
      <p>In order to ensure rapid transportation, /
advcl</p>
      <p>obl
trains should run fast, / by reducing unnecessary delays, /</p>
      <p>obl
at a high frequency.</p>
      <p>In order to ensure rapid transportation</p>
      <p>trains should run fast
by reducing unnecessary
delays
at a high
frequency</p>
      <p>Extraction and linking goals Figure 2 illustrates the creation of a KAOS goal model based
on word-to-word dependencies. In general, one word can be considered “dependent” on another.
As demonstrated in Figure 2, the word “ensure” in the first line displays an “advcl” dependency
originating from the word “run” in the second line. The arrows in the figure visually represent
this connection. An “advcl” dependency arises when an “adverbial clause modifier” is present
in the text. An adverbial clause modifier is a clause that modifies another word, like adverbs
such as “very,” “usually,” “pleasantly,” and so on. Our tool creates a goal model by breaking
down sentences into phrases based on identified word dependencies. It forms parent-child
connections between these phrases according to the dependencies that link them. For instance,
the “advcl” dependency links the phrase in the first line of Figure 2 with the phrase “trains should
run fast” in the second line, resulting in an automatic parent-child relationship between them.
However, connecting goals from diferent sentences through dependencies is challenging since
dependencies are limited to words within a single sentence. In such cases, our tool compares
nouns in one goal with those in another and establishes a parent-child relationship between
goals with the most similar nouns. This is based on noun co-occurrence, indicating that the
goals may share the same topic, describing a common concept.</p>
    </sec>
    <sec id="sec-5">
      <title>4. Evaluation</title>
      <p>Figure 3 shows a part of a preliminary KAOS goal model that the proposed editor automatically
generates. The other part of the model was omitted due to space limitations. To assess the
accuracy of the tool, we conducted an experiment comparing the generated goal model with the
modified goal model. We used two metrics to evaluate the applicability of the editor. First, we
used NDCG, which measures the accuracy of the ranking prediction, and the number of editor
operations. To begin with, it was necessary for us to measure how closely the automatically
generated model resembled the ideal model’s structure and to assess the diferences. For
this purpose, we prepared rankings for both the automatically generated goal model and the
manually adjusted goal model, arranging the nodes in each by their depth. We then compared
to ensure more
effective access to</p>
      <p>state of the
art books periodicals
and proceedings</p>
      <p>The new UWON
library system should
address such problems</p>
      <p>It should provide
interactive online facilities
for book acquisition
user registration loan
management bibliographical search
and book reservation</p>
      <p>Access to such
facilities should be
restricted
to convert its
library new system
while reducing operational
costs
through software based
solution integrating all
department libraries</p>
      <p>The new system
should interoperate
these rankings using the NDCG metric to evaluate the accuracy of the model’s automatic
generation. Next, we manually used the editor to measure which operations and how many
times it took to modify the preliminary goal model to make a valid goal model. This is a direct
indicator regarding the usefulness of the tool.
In essence, it’s like having a rule such as “extract phrases containing infinitives as goals.” The
algorithm doesn’t distinguish contextually relevant infinitives from irrelevant ones; it extracts
them all. Solely relying on algorithmic judgments for context is a significant hurdle. To address
this fundamentally, it’s advisable to explore the integration of large-scale language models like
GPT-4 in the future, capable of understanding and interpreting context.</p>
    </sec>
    <sec id="sec-6">
      <title>5. Conclusion</title>
      <p>In this study, we introduced our tool, the KAOS Modeling Editor, designed to autonomously
create initial KAOS goal models from requirement descriptions. It identifies crucial segments
using epoch phrases and then extracts and connects goals based on dependencies and noun
co-occurrence. The highest accuracy achieved for initial models is 0.940 by NDCG, with a
maximum generation time of 30 minutes. Our future goals include integrating LLMs like GPT-4
into the goal model implementation process to improve accuracy and processing speed.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Rahimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mirakhorli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cleland-Huang</surname>
          </string-name>
          ,
          <article-title>Automated extraction and visualization of quality concerns from requirements specifications</article-title>
          ,
          <source>in: 2014 IEEE 22nd International Requirements Engineering Conference (RE)</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>253</fpage>
          -
          <lpage>262</lpage>
          . doi:
          <volume>10</volume>
          .1109/RE.
          <year>2014</year>
          .
          <volume>6912267</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Arora</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sabetzadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Briand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Zimmer</surname>
          </string-name>
          ,
          <article-title>Extracting domain models from naturallanguage requirements: Approach and industrial evaluation</article-title>
          ,
          <source>in: Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems, MODELS '16</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2016</year>
          , p.
          <fpage>250</fpage>
          -
          <lpage>260</lpage>
          . URL: https://doi.org/10.1145/2976767.2976769. doi:
          <volume>10</volume>
          .1145/2976767.2976769.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pimentel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vilela</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Castro</surname>
          </string-name>
          ,
          <article-title>Web tool for goal modelling and statechart derivation</article-title>
          ,
          <source>in: 2015 IEEE 23rd International Requirements Engineering Conference (RE)</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>292</fpage>
          -
          <lpage>293</lpage>
          . doi:
          <volume>10</volume>
          .1109/RE.
          <year>2015</year>
          .
          <volume>7320444</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Assisting in requirements goal modeling: A hybrid approach based on machine learning and logical reasoning</article-title>
          ,
          <source>in: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, MODELS '22</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2022</year>
          , p.
          <fpage>199</fpage>
          -
          <lpage>209</lpage>
          . URL: https://doi.org/10. 1145/3550355.3552415. doi:
          <volume>10</volume>
          .1145/3550355.3552415.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Mesquita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jaqueira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lucena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Filho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M. R.</given-names>
            <surname>Alencar</surname>
          </string-name>
          ,
          <article-title>Us2startool: Generating i* models from user stories</article-title>
          ,
          <source>in: International i* Workshop</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Güneş</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Aydemir</surname>
          </string-name>
          ,
          <article-title>Automated goal model extraction from user stories using nlp</article-title>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Nakagawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Shimada</surname>
          </string-name>
          , T. Tsuchiya,
          <article-title>Interactive goal model construction based on a flow of questions</article-title>
          ,
          <source>IEICE Transactions on Information and Systems</source>
          E103.D (
          <year>2020</year>
          )
          <fpage>1309</fpage>
          -
          <lpage>1318</lpage>
          . doi:
          <volume>10</volume>
          .1587/transinf.2019KBP0015.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8] magjac, Graphviz visual editor,
          <year>2022</year>
          . magjac.com/graphviz-visual-editor.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. van Lamsweerde</given-names>
            ,
            <surname>Requirements</surname>
          </string-name>
          <string-name>
            <surname>Engineering</surname>
          </string-name>
          , Wiley,
          <year>2011</year>
          . URL: https://lead.to/amazon/ jp/?op=bt&amp;la=en&amp;key=
          <fpage>B00DWHU40E</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>