<!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>Rule creation based on decision tables in knowledge- based systems development platform</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of the Russian Academy of Sciences</institution>
          ,
          <addr-line>134 Lermotov st., Irkutsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>New results related to rule-based reasoning component of knowledge-based systems development platform are considered in the paper. Namely, the technique for the alternative way of rule creation based on the decision table approach is proposed. The data model of the decision table in the context of the platform, the transformation scheme from the decision table into rules are suggested. The implementation issues based on previously developed components are also discussed. The graphical user interface and database diagram are shown. As an illustrative example, the problem of identification of degradation processes of mechanical systems is chosen. The proposed technique is well suited for situations when there are numerous combinations of the facts of quite large set of templates in condition and action parts of rules. The end-user benefits are to represent knowledge in a tabular form that is convenient for analysis and evaluation, as well as to reduce the number of actions when creating a rule by the description of repeated actions in the transformation scheme.</p>
      </abstract>
      <kwd-group>
        <kwd>Knowledge-based system</kwd>
        <kwd>Decision table</kwd>
        <kwd>Rule-based reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Knowledge-based systems (KBSs) are commonly accepted valuable tools for solving
poorly formalized problems by means of structuring and integrating information for
its intelligent processing with the help of a set of designed models and methods.
During recent years the authors are creating a knowledge-based systems development
platform (KBSDP) with the following key features: web-oriented component-based
open client-server architecture [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]; a possibility of external problem-oriented tools
integration into applied KBS; central role of the conceptual model in the development
process; workflow approach utilization for integrating and assembling components
into applied KBS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Despite the initial research motivation for KBSDP creation, up to date, more than
10 system, core, applied and auxiliary components are under development. The
system components provide common software functionality adopted for
knowledgeCopyright © 2020 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
based systems: the data control component provides operations for unified data
manipulation and it is currently implemented for PostgreSQL database; the
communication component supporting bidirectional client-server interaction; the component for
building graphical user web interface containing an extensible library of control
elements with predefined templates of client-server interactions; the workflow
component can be used either for creation assembling scheme of platform components or for
representing some imperative behavior used in rules. Utilizing system components
features the core components provide knowledge processing functionality. The
subject domain model design component is about all the stuff (data storing, editing,
visual representation, etc.) concerning operations with conceptual models (concept,
relation, attribute, instance). The rule-based reasoning component carries out creating
knowledge bases with the selected conceptual model as an initial source of
information for designing fact templates. This component provides original visual tool for
rule design, code generation and executing reasoning based on Drools and Clips
engines. Auxiliary components are developed to facilitate the processing of special
types of information: geodata and multidimensional data sets. The applied
components cover such subject area as unique mechanical system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], agent-based
simulation modeling [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], infrastructure logistics [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], scenario analysis of ecological
problems [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        In the current paper, the important problem of knowledge acquiring in relation to
the rule creation task is considered. As stated in the authors' publications [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] the rule
is visually constructed by the user based on the previously obtained conceptual model.
In such a way, rules with different types of conditions, including a comparison of the
slot values with other facts or their slot values can be designed. Moreover, in action
part of the rule, a call to methods of some registered in the context of the platform
problem-oriented component can be also performed. So, the currently available
functionality of rule-based reasoning component is rather general and allows one to design
complex rules integrating external data and knowledge processing procedures.
      </p>
      <p>However, there are a lot of situations when all capabilities of the component are
not necessary to solve the user problem: both on the side of the expressive power of
the rules and on the side of their visual construction. To address this problem, the
platform is currently being refined for supporting well-known knowledge acquiring
methods. As for the current paper, rule creation technique based on the particular
knowledge acquiring method – decision table approach – is proposed.</p>
      <p>Decision table has been used since the 1960s in the process design automation,
software testing [6], control problems of complex technical objects [7], and others.
The decision table is an effective representation of knowledge if the rules differ
slightly from each other in condition or action parts. Currently, decision tables are
used to create fuzzy production knowledge bases [7, 8].</p>
      <p>The rest of the paper is organized as follows. The decision table data model,
transformation scheme, and implementation issues are consistently considered in the next
sections. Then as an illustrative example, a fragment of the knowledge base for
identifying the mechanisms of degradation processes of mechanical systems is considered.</p>
    </sec>
    <sec id="sec-2">
      <title>Decision table and its data model</title>
      <p>Decision table approach overview
A decision table (DT) is a method for compact representation of a model with
complex logic. The formal definitions of DT can be found, for example in [9]. Similar to
rules DT represent a relationship between conditions and actions. In general DT is
divided into four quadrants as shown in table 1. Condition and action options are
alternatives from appropriate list. For example, in simple case option can be a Boolean
value (0/1 or yes/no). Also note, that action options can be elementary or refer to
other decision tables.</p>
      <p>The advantage of DT from the user viewpoint is the ability to construct the logic
from opposite start points: either determining an action set for considered conditions
(data-driven approach) or defining under which conditions an action occurs (goal
directed approach). Note also that unlike procedural programming languages, DT can
establish the relationship between a set of independent conditions and actions.</p>
      <p>To represent the DT, it is suggested a data model in which each table MDT is
associated with a set of values for table elements (ValueTableElement) and rules (Rule). The
value of a table element is a text string with a description. Each rule consists of a set
of same elements (TableElement) that describe both a condition and an action. A table
element is described by the following set of properties: element type (Kind), value
(ValueTableElement), and status (Status). Summarizing the previous ideas, the decision
table data model can be expressed as follows:</p>
      <p>MDT = &lt;{ValueTableElement}, {Rule}&gt;,
ValueTableElement = &lt;ConstantLiteral, Description, Translation&gt;,</p>
      <p>Rule = &lt;NameOfRule, {TableElement}&gt;,
Translation = &lt;Kind, NameOfTemplate, NameOfSlot, {ValToCopy}&gt;,
(1)
(2)
(3)
(4)
(5)
(6)
ValToCopy=&lt;NameOfTargetSlot, NameOfSourceTemplate, NameOfSourceSlot&gt;. (8)</p>
      <p>The proposed model allows one to create DT of any dimension and provides an
opportunity to construct rules by inputing only the values that are significant for this
rule, skipping the rest.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Rule creation based on decision table</title>
      <p>
        Based on the information from the obtained decision table, it is proposed a technique
to automatically generate a set of rules. The technique applies the model of the rule
from KBSDP [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] as the target model:
      </p>
      <p>&lt;Rule&gt; = &lt;{Condition}, {Action}&gt;,
&lt;Condition&gt;=&lt;FactExistence, {RestrictionOnValueOfSlot}&gt;,
&lt;RestrictionOnValueOfSlot&gt; = &lt;NameOfSlot, CompareOperator, ValOfCondition&gt;,
&lt;CompareOperator&gt; = &lt;Equal | Not equal | Less, Less or equal | Greater | Greater or
equal&gt;,
&lt;ValOfCondition&gt; = &lt;ConstantLiteral | FactReference | SlotReference&gt;,
&lt;SlotReference&gt; = &lt;FactReference, NameOfSlot&gt;,
&lt;Action&gt; = &lt;CreationOfNewFact | ModificationOfExistedFact | RemovalOfFact |</p>
      <p>ExternalMethodInvocation&gt;.</p>
      <p>The structure of the obtained rules depends on the number and kind of table
elements they own. So, a condition may consist of one or more restrictions on the value
of the fact slot, and the action may contain one or more new fact creation instruction
as shown in Table 2.
Condition for the presence fact of the template =
NameOfTemplate, where ValueTableElement used as a
restriction on the value the slot = NameOfSlot.</p>
      <p>Action of creation a new fact of the template =
NameOfTemplate, where ValueTableElement used as the
value of slot = NameOfSlot.</p>
      <p>Additionally, for each item of the ValToCopy array
the slot of new fact = NameOfTargetSlot copy value
from slot = NameOfSourceSlot of the existing in rule
condition fact of template =
NameOfSourceTemplate.</p>
      <p>To organize the process of converting a decision table element into a parts of a
rule, each value of the table element must have a description of the conversion
scheme (eq. 7), containing the name of the knowledge base template and the name of
the slot that should be used when elements with this value are processing.</p>
      <p>Also note, that the conditions and actions of the conversion scheme are set
independently. And for elements with the "action" view, the conversion scheme can be
supplemented with information about the slots of the created fact, the values of which
must be copied from the facts that exist in the rule condition (eq. 8). The proposed
technique of forming rules allows one to perform a single entry of repetitive
information and, thus, automate the process of creating the same type of rules.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Implementation issues</title>
      <p>The proposed decision table data model was implemented using the PostgreSQL
DBMS. The structure of the "Decision tables" schema is shown on figure 1. External
table "Rules" from the schema "Production knowledge bases" is highlighted by white
color.</p>
      <p>Note, that the considered figure is obtained automatically by the data control
component of KBSDP.</p>
      <p>
        The visual interface supporting all rule creation process based on proposed
technique is done on the top existing KBSDP functionality. Namely, the data control
component [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and the data representation and editing component [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are utilized.
      </p>
      <p>The task of creating and completing DT is fully supported by existing
functionality. In particular, it is used a function for inputting data by a range of values, which in
some cases allows one to input data for all conditions or all actions during single
request towards a column (rule) in the decision table. This situation is illustrated on the
figure 2.</p>
      <p>To view the ready-made DT, a specialized form (fig. 3) of the user interface is
used. It is based on the standard "dialog" control of the KBSDP.</p>
      <p>Thus, the algorithm of technique, i.e. the algorithm for rule creation based on a
decision table can be divided into three main stages:
1. Forming a decision table. At this stage, one inputs a name and description, creates
a list of possible values for table elements, and describes the rules.
2. Forming rules for processing values. At this stage, relationships between the values
of the decision table and the fact slots of the selected knowledge base templates are
established.
3. Generating rules in the format of a rule-based reasoning component. At this stage,
rules are automatically created.
5</p>
    </sec>
    <sec id="sec-5">
      <title>An illustrative example</title>
      <p>To demonstrate the proposed forming rules technique capabilities, a fragment of
the knowledge base for identifying the mechanisms of degradation processes of
mechanical systems is implemented [10]. The principle algorithm of technique
application includes the following stages.</p>
      <p>At first, DT must be created (see Fig. 4).</p>
      <p>Fig. 4. Example of decision table of the mechanisms of degradation processes.</p>
      <p>Then, a set of related rules is generated based on the defined conversion scheme.
The rule example corresponding one of the mechanisms of degradation processes is
shown on Fig. 5.</p>
      <p>Fig. 5. Example of one column of decision table represented as a rule in the rule-based
reasoning component.</p>
      <p>Finally, the knowledge base code generation is performed. Further the Drools
example is presented:</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>The technique for automatic generation a rule set based on the decision table approach
is proposed in the paper. The technique is implemented as an extension of the
rulebased reasoning component of knowledge-based systems development platform. An
example of applying this technique to the creation of the knowledge base about
degradation processes is shown.</p>
      <p>This technique is necessary to improve the efficiency knowledge bases creation
process by non-programming domain specialists. Application of the technique is
promising, on the one hand, when it is necessary to describe the domain knowledge,
where a sufficiently large set of facts is repeated in various combinations in a variety
of rules. On the other hand, the implementation of this technique expands the users’
capabilities, providing them with the choice of the most convenient tool depending on
their skills and experience.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The research was supported by the Program of the Fundamental Research of the
Siberian Branch of the Russian Academy of Sciences, project no. IV.38.1.2 (reg. no.
АААА-А17-117032210079-1). Results are achieved using the Centre of collective
usage «Integrated information network of Irkutsk scientific educational complex».
6. Copeland, L.: A Practitioner's Guide to Software Test Design. Artech House Publishers
(2003).
7. Grevtsov, N.M., Perchitz, S.N., Fedunov, B.E., Yunevich, N.D.: Intellectual support of
commander of escort jet fighter group in solving the task for the returning subgroup, which
repulsed an attack of enemy jet fighters. Journal of Computer and Systems Sciences
International 57 (4), 608-619 (2018).
8. Eremeev, A.P. Vinogradov, O.V.: Software tools for decision support based on fuzzy
tabular models of knowledge representation. Software &amp; systems 4, 22 (2008).
9. Wets, G.: Decision tables in knowledge-based systems : adding knowledge discovery and
fuzzy concepts to the decision table formalism. Technische Universiteit Eindhoven (1998).</p>
      <p>DOI: https://doi.org/10.6100/IR510201
10. Berman, A. F.: Degradation of mechanical systems. Publisher “Nauka”, Novosibirsk
(1998).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Nikolaychuk</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolbov</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>The software platform architecture for the component-oriented development of knowledge-based systems</article-title>
          .
          <source>In: Proceedings of the 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO)</source>
          , pp.
          <fpage>1234</fpage>
          -
          <lpage>1239</lpage>
          . IEEE,
          <string-name>
            <surname>Opatija Croatia</surname>
          </string-name>
          (
          <year>2018</year>
          ). https://doi.org/10.23919/MIPRO.
          <year>2018</year>
          .8400194
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolbov</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorofeev</surname>
            ,
            <given-names>A.S.:</given-names>
          </string-name>
          <article-title>The workflow component of the knowledgebased systems development platform</article-title>
          . In: Bychkov,
          <string-name>
            <given-names>I.V.</given-names>
            ,
            <surname>Karastoanov</surname>
          </string-name>
          <string-name>
            <surname>D</surname>
          </string-name>
          . (eds.)
          <source>Proceedings for 2nd Scientific-practical Workshop Information Technologies: Algorithms</source>
          , Models,
          <source>Systems (ITAMS)</source>
          ,
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>2463</volume>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>58</lpage>
          . CEURWS.org, Irkutsk
          <string-name>
            <surname>Russia</surname>
          </string-name>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Nikolaychuk</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolbov</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>The Agent-Based Modeling Method For The Study Of Unique Mechanical Systems</article-title>
          .
          <source>Advances in Intelligent Systems Research</source>
          ,
          <volume>166</volume>
          ,
          <fpage>201</fpage>
          -
          <lpage>206</lpage>
          (
          <year>2019</year>
          ). https://doi.org/10.2991/itids-
          <fpage>19</fpage>
          .
          <year>2019</year>
          .36
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolbov</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorofeev</surname>
            ,
            <given-names>A.S.:</given-names>
          </string-name>
          <article-title>The architecture of the software tool for the agent-based simulation models specification development</article-title>
          . In: Bychkov,
          <string-name>
            <given-names>I.V.</given-names>
            ,
            <surname>Karastoanov</surname>
          </string-name>
          <string-name>
            <surname>D</surname>
          </string-name>
          . (eds.)
          <source>Proceedings for 2nd Scientific-practical Workshop Information Technologies: Algorithms</source>
          , Models,
          <source>Systems (ITAMS)</source>
          ,
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>2463</volume>
          , pp.
          <fpage>112</fpage>
          -
          <lpage>121</lpage>
          . CEUR-WS.org, Irkutsk
          <string-name>
            <surname>Russia</surname>
          </string-name>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>A.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolbov</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>The Application of the Knowledge-Based Systems Development Platform for Creating Scenario Analysis Support Tools</article-title>
          .
          <source>Advances in Intelligent Systems Research</source>
          ,
          <volume>169</volume>
          ,
          <fpage>43</fpage>
          -
          <lpage>48</lpage>
          (
          <year>2019</year>
          ). https://doi.org/10.2991/itids-
          <fpage>19</fpage>
          .
          <year>2019</year>
          .36
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>