<!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>Extraction of Functional Structure Graph from System Design Documents</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Eiichi SUNAGAWA</string-name>
          <email>eiichi1.sunagawa@toshiba.co.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Shinichi NAGANO</string-name>
          <email>shinichi3.nagano@toshiba.co.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Toshiba Corp.</institution>
          ,
          <addr-line>Komukai-toshiba-cho 1, Kawasaki, Kanagawa 212-8582</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In system development, reuse of modules from existing systems is an important issue. However, such reuse becomes difficult in similar but customized applications because the relations among module functions are complicated. To address this problem, we aim to establish a technology that can extract, from design documents, a knowledge graph that represents the functional structure of a system and use it in development of other systems. In this paper, we introduce our knowledge-graph extraction framework and describe an experiment show a partial extraction.</p>
      </abstract>
      <kwd-group>
        <kwd>function graph</kwd>
        <kwd>knowledge graph</kwd>
        <kwd>ontology</kwd>
        <kwd>machine learning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Nowadays, software systems are rarely developed from scratch. Instead, most reuse
existing modules. Rational Derivational Development and Software Product Line
(SPL) development are typical styles of system development using extant modules. In
doing such development, it is necessary to consider the functions and relations among
available modules (e.g. their behaviors and functionality) along with their purposes,
conditions, and requirements. However, migrating more complicated modules
increases the difficulty for developers to acquire knowledge about the system functions
because they have to read many documents, find the descriptions of functions of
interest, and summarize them.</p>
      <p>
        This research aims to support developers seeking to understand the functional
configuration of systems, particularly those developed with reuse of several existing
modules, by using a knowledge graph to represent how the system and its functions work.
The goal is to simplify development of a common platform for a series of system
products. We establish technology that can extract the knowledge graphs of system
functions (function graphs) from design documents and integrate the graphs into a
comprehensive model as a conceptual platform (Fig. 1) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A graph of this type helps
developers to share understanding of the system, to determine a common module that will
be needed for various services, to grasp the status of ongoing development projects, to
check the range of impact when adding a new module, to access necessary development
assets, and to improve the efficiency of the development process.
Integrated function graph
for series of system products
Function graphs
for each development
      </p>
      <p>Documents
RSmyesqetuneitmrse SDyesstiegmn SDofetswiganre Coding</p>
      <p>Derivational Developments for Customers
…</p>
      <p>This paper introduces a part of our trial approach for extracting a knowledge graph
of system functions from design documents. In Section 2, we explain the extraction
method. In Section 3, we describe an experiment in which expressions are detected in
functions and, in Section 4, we discuss the result. In Section 5, we summarize this paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Extraction of Function Graph from Documents</title>
      <p>In this research, a function graph is a directed graph network in which nodes and
links (edges) correspond functions and their relations, respectively. An example of a
function graph is shown in Fig.2.</p>
      <p>The nodes contain partial text from documents describing functions, such as the
names of the functions or the process in which the functions are used. Three types of
relations between functions are defined.
 Same-as: texts indicate the same function
 (Super-)Sub: one function includes the other as a sub-function
 (Pre-)Post: one function is executed after the other begins</p>
      <p>A function graph is extracted from design documents semi-automatically by
supervised learning model. An overview of the extraction is shown in Fig.3. First, texts in
the document are analyzed and divided into phrases, which typically consist of several
words. The phrases are converted into numerical vectors according to their words,
meanings as defined in a domain ontology, and modifying relations. After that, each
vector is classified into a class of expression for some function, or not. Finally, pairs of
function phrases are classified into a class in which some type of relation (including a
null relation) exists between the pair. To prepare the learning data, the system
developers checked and corrected the results of classification and updated the learning data in
an online fashion before each classification. Moreover, the developers updated the
ontology for feature extension.</p>
      <p>The phrases and their pairs are converted into feature vectors based on documents.
However, developers determine which phrases are treated as functions and what
relations are indicated by the phrases. Therefore, a function graph represents the
developers’ interpretation and understanding of the design documents.</p>
      <p>1. Extraction Function Model
Documents
Learning</p>
      <p>Data
－－－－－
－－－－－
－－－－－
－－－－－
－－－－－
－－－－－
Detection of
expression of</p>
      <p>function
3. Adding Knowledge
• Resolve spelling variants
• Generalization of concepts</p>
      <p>Domain
Ontology</p>
      <p>Creation of
relations among
functions</p>
      <p>Integration
2. Checking and Correcting
• Correcting errors
• Complementing for missing data</p>
      <p>
        Developer
Feature Models [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and functional decomposition trees [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] have already been proposed
also as a model for capturing the system hierarchically. These models are constructed
basically by hand.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Experiment</title>
      <p>A point-of-sales (POS) system in the retail domain is a representative product,
composed of several modules and often customized for each retailer. Design documents
issued by the Open-POS Technical Council (OPOS document) are available for POS
systems with various specifications. Using the OPOS document, we performed an
experiment to detect expressions of functions.</p>
      <p>First, we selected 18 chapters from the OPOS document, treating these as smaller
documents for designing each of the system modules: a line display, a scanner, a coin
dispenser, and so on. From one chapter, we manually built a function graph. Then, we
created and updated classification models with the learning data, applied the model to
another module document, extracting that document’s function graph, checked and
corrected it, and finally added learning data and updated the models. We repeated this
sequence for different orders of presentation of the modules.</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>In this paper, we introduced a prospective approach for extracting a functional model,
which represents the functional structure of a target system, from system design
documents. This should improve the reusability of development aspects. To show the
working of this approach, we described an experiment in which expressions of functions
were detected from documents. In future work, we intend to develop an entire
framework for extracting and using functional graphs, increase the application’s generality,
and evaluate it.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>SUNAGAWA</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>NAGANO</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>An Approach to Extract Functional Model in System Design Documents</article-title>
          ,
          <source>SIG-SWO 044-01</source>
          (
          <year>2018</year>
          )
          <article-title>(in Japanese)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Apel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kästner</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>An Overview of Feature-Oriented Software Development</article-title>
          .
          <source>Journal of Object Technology</source>
          <volume>8</volume>
          (
          <issue>5</issue>
          ),
          <fpage>49</fpage>
          -
          <lpage>84</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kitamura</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , et al.:
          <article-title>Deployment of an ontological framework of functional design knowledge</article-title>
          .
          <source>Advanced Engineering Informatics</source>
          <volume>18</volume>
          (
          <issue>2</issue>
          ),
          <fpage>115</fpage>
          -
          <lpage>127</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>