<!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>Technology for Prototyping Expert Systems Based on Transformations (PESoT): a Method</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Main Stages</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Matrosov Institute for System Dynamics and Control Theory, Siberian Branch of Russian Academy of Sciences</institution>
          ,
          <addr-line>Lermontov St. 134, Irkutsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>The development of intelligent systems and their software components (modules) continues to be a complex and time-consuming task. One of the ways to improve the efficiency of this process is to use the principles of generative and visual programming, as well as the model transformations in the context of conceptualization, formalization, and automatic codification of knowledge. This work is devoted to the description of one of the elements of the information technology for Prototyping Experts Systems and these components based on Transformations (namely, PESoT), in particular, to the method. This method implements and redefines the basic principles of the model-driven approach: models and the development process in the form of a chain of sequential transformations of models with more abstraction to ones with less abstraction and obtaining interpreted program codes and specifications at the end of this chain. Domain conceptual models and specific spreadsheets are used as source (computational-independent) models. The method is designed for nonprogramming users and reduces the time for creating prototypes of intelligent modules and expert systems by automating the codification stage and using existing domain models.</p>
      </abstract>
      <kwd-group>
        <kwd>Information Technology</kwd>
        <kwd>Prototyping</kwd>
        <kwd>Experts System</kwd>
        <kwd>Method</kwd>
        <kwd>Model Transformation</kwd>
        <kwd>Code Generation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CxPERT, Exsys Developer, etc.), that oriented on programmers, and require an
indepth study of programming languages.</p>
      <p>3. Integrated approaches and software platforms (AT-Technology, MOKA,
CommonKADS, OSTIS, IACPaaS), that combine features of previous groups of
researches.</p>
      <p>So, we can define the following main disadvantages of existing solutions:
 narrow specialization from a viewpoint of a support of formats and
programming languages for expert systems and knowledge bases;
 a low integration capability with visual modeling software;
 the complexity of the reusing previously developed conceptual (domain)
models;
 high requirements for users in the field of programming.</p>
      <p>In this connection, the involving non-programming users to the development
process and automation of conceptualization, formalization, and codification are
promising trends.</p>
      <p>One of the ways to fulfill these conditions is to use the principles of generative and
visual programming, as well as model transformations in the context of
conceptualization, formalization and automatic codification.</p>
      <p>
        These principles are implemented separately in various methods and tools.
However, in most cases, existing solutions are focused on a narrow range of target platforms
and have high qualification requirements for developers. The integrated use of the
considered principles is implemented within a group of approaches based on model
transformations. Currently, this group of approaches is known as Model-Driven
Engineering (MDE) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        We used a standardized MDE that applies some standards in the field of software
engineering, such as UML, XMI, and MOF, for the development of new information
technology. Our technology, shortly PESoT [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], consists of:
 methods and tools for creating expert systems and knowledge bases (that use
the logical rules formalism) based on model transformations;
 the original UML-based graphical notation for building models of logical
rules – a Rule Visual Modeling Language (RVML) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ];
 the domain-specific declarative language for describing transformations – a
      </p>
      <p>
        Transformation Model Representation Language (TMRL) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ];
      </p>
      <p>This work is devoted to the description of one of the elements of this technology,
in particular, the method.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>Main Principles of Model-Driven Engineering</title>
        <p>
          Model-Driven Engineering (MDE) or Model-Driven Development (MDD) is a
software design approach that uses the information models as the major artifacts, which,
in turn, can be used for obtaining other models and generating programming codes [
          <xref ref-type="bibr" rid="ref1 ref3 ref5">1,
3, 5</xref>
          ]. This approach enables programmers and non-programmers (depending on the
implementation) to create software based on conceptual models.
        </p>
        <p>
          The main MDD principles are the following:
 A model is an abstract description of a system (a process) by a formal
language. As a rule, models are visualized with the aid of certain graphic
notations and serialized (represented) in XML.
 A metamodel is a model of a formal language used to create models (a model
of models).
 A four-layer metamodeling architecture is a concept that defines the different
layers of abstraction (M0-M3), where the objects of reality are represented at
the lowest level (M0), then a level of models (M1), a level of metamodels
(M2) and a level of a meta-metamodel (M3).
 Model transformation is the automatic generation of a target model from a
source model with the accordance of a set of transformation rules [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. In this
case, each transformation rule describes the correspondence between the
elements of a source and a target metamodels.
        </p>
        <p>
          There are many works devoted to the model transformations. At the same time,
model transformations can be considered from different viewpoints [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]: by the type of
results (Model-to-Model (M2M); Model-to-Text (M2T) and Text-to-Model (T2M));
by modeling languages used (endogenous, exogenous); by the abstraction level of
models (vertical, horizontal); by the transformation direction (unidirectional,
bidirectional). Currently, there are some ways to implement the model transformation: graph
grammars (graph rewriting) (e.g., VIsual Automated model TRAnsformations
(VIATRA2), Graph REwriting And Transformation (GReAT), etc.); visual design of
transformation rules and category theory (e.g., Henshin); transformation standards
(e.g., Query/View/Transformation); declarative and procedural programming
languages; languages for transforming XML documents (e.g., eXtensible Stylesheet
Language Transformations, etc.).
        </p>
        <p>
          There are examples of successful use of MDE for the development of database
applications (e.g., ECO, for Enterprise Core Objects), agent-oriented monitoring
applications, decision support systems, embedded systems (software components) for the
Internet, and rule-based expert systems [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>Today, the main MDE implementations (initiatives) are the following: OMG
Model Driven Architecture (MDA), Eclipse Modeling Framework (EMF), Model
Integrated Computing (MIC), Microsoft Software Factories, JetBrains MPS.</p>
        <p>MDA is the most standardized MDE that uses the following software standards:
MOF, XMI, CWM, UML, and QVT.</p>
        <p>
          So, we can formalize MDE [
          <xref ref-type="bibr" rid="ref3 ref9">3, 9</xref>
          ]:
        </p>
        <p>MDE = MOF,UML, CIM , PIM , PSM , PDM , FCIM -to-PIM , FPIM −to−PSM , FPSM −to−CODE ,
where MOF (Meta Object Facility) is an abstract language for describing models (a
metamodel description language); UML (Unified Modelling Language) is a unified
modeling language; CIM (Computation Independent Model) is a model that hides any
details of the implementation and processes of software, and describes only the
software and environment requirements; PIM (Platform Independent Model) is a model
that hides details of the software implementation that depend on the platform, and
contains elements that do not change when the software interacts with any platform;
PSM (Platform Specific Model) is a model of software that taking into account
implementation details and processes, dependent on a specific platform; PDM (Platform
Description Model) is a set of technical characteristics and descriptions of the
technologies and interfaces that make up the platform;
FCIM −to−PIM : CIM → PIM ,
FPIM −to−PSM : PIM → PSM , FPSM −to−CODE : PSM → CODE are the rules for models
transformations.</p>
        <p>This formalization was used in the development of PESoT technology.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Main Elements of the PESoT Technology</title>
        <p>To overcome the shortcomings described in the introduction, we developed the
PESoT technology that includes methods and tools for prototyping rule-based expert
systems and decision-making software components for intelligent systems.</p>
        <p>The following tasks were solved when developing the PESoT technology:
 to analyze the modern approaches, methods, and tools for creating rule-based
expert systems and knowledge-bases based on the transformations;
 to develop principles (elements of theory, algorithms, methods) for creating
rule-based expert systems and knowledge-bases based on the transformations;
 to develop languages and software to support the proposed methods;
 to test the developed methods and software when solving practical and
educational tasks.</p>
        <p>
          The main results of the solved tasks, as well as the elements of PESoT technology,
are the following:
 a method for creating rule-based expert systems and knowledge bases based
on the sequential transformations;
 a method for automated creating domain models as
computationalindependent models based on transformation, both conceptual models (using
XMI, XTM) [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and spreadsheets of a specific structure (using CSV) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ];
 a method for automated creating software components-converters for
conceptual models transformations [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ];
 a UML-based graphical notation for designing rule-based models – a Rule
        </p>
        <p>
          Visual Modeling Language (RVML) [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ];
 a domain-specific language for the description of transformations – a
Transformation Model Representation Language (TMRL) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ];
 Personal Knowledge Base Designer (PKBD) – a tool for creating
knowledgebases and expert systems [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ];
 Knowledge Base Development System (KBDS) - a tool for creating model
transformation software components [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ];
 The results of testing when developing software to solve problems in the field
of:
o
reliability and safety of technical systems (a module for defining the
causes of damage and destruction of elements of technical systems of the
software complex "Expertise of ISI» [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]; knowledge bases for predicting
degradation processes in petrochemistry (systems for identifying technical
states of constructions) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]; an intelligent failure analysis process
scheduler [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]; a module for creating conceptual models based on the analysis
of tables from reports on industrial safety expertise [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ];
o detection of banned messages and clients who violate the rules for using
the SMS informing service of the «SMS organizer» platform [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ];
o developing a domain-specific knowledge base editor [19];
o educational tasks within the educational process on the basis of the
Institute of data analysis and information technologies of the Irkutsk national
research technical University (IrNITU) [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Next, we will consider the first result and element of the PESoT technology – the
method of creating expert systems and knowledge bases based on transformations.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Method</title>
      <p>The developed method is based on MDE principles and standards in the field of
software engineering.</p>
      <p>The main features of the method (its novelty) are:
 application of model transformations in the context of knowledge engineering
and creation of a certain type of software: rule-based expert systems;
 qualitative redefinition of the main stages of the standardized MDE, in
particular, Model Driven Architecture (MDA);
 development and use of original languages and software;
 support for certain languages of modeling and creating knowledge bases (as
part of our testing).
3.1</p>
      <sec id="sec-3-1">
        <title>Formalized Statement</title>
        <p>The following formalization of the proposed method is proposed:</p>
        <p>MDE ES = MOF, LES ,CIM ES , PIM ES , PSM ES , PDM ES , FCEIMS −to−PIM , FPEIMS −to−PSM , FPESSM −to−CODE
where LES is a set of languages and formalisms used for modeling; in our case
LES = {UML, CM , ET , DT , CT , RVML} where UML is a Unified Modelling
Language; CM is a concept or mind maps formalism; ET is an event trees formalism; DT
is a formalism for the representation of decision tables; CT is a formalism for the
representation of caninicalised tables; RVML is a Rule Visual Modeling Language;</p>
        <p>CIMES is a computation-independent model for PESoT, in our case, it are domain
models represented with the aid of LES;</p>
        <p>PIMES is a platform-independent model for PESoT, in our case this model
represent logical rules in our notation RVML;</p>
        <p>PSMES is a platform-specific model for PESoT, in our case this model takes into
account the features of the programming language, we use RVML;</p>
        <p>PDMES is a set platform description models for PESoT, in our case
PDM ES = {CLIPS, DROOLS, PHP, PKBD} .</p>
        <p>FCEIMS −to−PIM , FPEIMS −to−PSM , FPESSM −to−CODE are the rules for model transformations.
3.2
The process of creating prototypes of knowledge bases and expert systems is
represented by the sequence of stages described below (Fig. 1.).</p>
        <p>1. Building domain models
(Concepts and relationships)
2. Building platform-Independent models
2.1. Description of templates for facts</p>
        <p>and rules
2.2. Description of template instances
3. Building platform-specific models
4. Generating source codes and
specifications
5. Testing</p>
        <p>Ontology, Concept map,</p>
        <p>UML class diagram,</p>
        <p>Decision table,
Canonical spreadsheet</p>
        <p>Logical rules model 1</p>
        <p>(RVML)
Logical rules model 2
(RVML)</p>
        <p>CIM
PIM
PSM
PDM</p>
        <p>Domain model</p>
        <p>Model of
rulebased expert</p>
        <p>system
Logical rules
description</p>
        <p>ES architecture</p>
        <p>description
Logical rules
description</p>
        <p>KB codes ES codes
(CLIPS, DROOLS, PHP) (PKBD specification)</p>
        <p>Platform description
(CLIPS, ..., PHP)</p>
        <p>Transformation
rules</p>
        <p>Stage 1: Building domain models. The results of this stage are:
 a domain model;
 a model of a rule-based expert system.</p>
        <p>The models acquired will be considered as a CIM and can be represented in the
forms of an OWL-ontology, UML-models (in particular, as UML class diagrams),
concept (mind) maps, decision, or canonical tables.</p>
        <p>We do not concretize the ways of forming these models. Оn the one hand, relevant
concepts emerge in a bottom-up fashion by analyzing the domain and the model
specification. On the other hand, a top-down approach is followed through the analysis of
relevant existing ontologies and data models. But, the efficiency of this stage can be
improved by reusing the existing models created using various ontological and
conceptual (cognitive) editors, CASE-tools or office suites (e.g., Protégé, OntoStudio,
CmapTools, FreeMind, TheBrain, Xmind, IBM Rational Rose Enterprise, StarUML,
Microsoft Excel, etc.).</p>
        <p>It is very important that the domain model of this stage be semantically significant,
that is, it should describe any cause-and-effect relationships in a particular domain.
So, in addition to the relationships of ‘is-part-of’ and ‘is-a’, the relationship
‘dependson’ is introduced; this relationship describes of cause-and-effect relationships. In the
case of UML class diagrams, the types of relationships are defined by the mechanism
of stereotypes.</p>
        <p>A model of a rule-based expert system is formed at the level of the requirements
for the composition of its main modules. Since the type of created systems is defined
earlier - this is a rule-based expert system, and then the corresponding template
(which defines the main architectural elements and includes the relevant concepts) is
used to form this model. The main architectural elements of the expert system are:
«input form»; «output form» etc., which are derived from «graphic user interface
form»; «inference engine», which is derived from «handler»; «knowledge-base».
Next, we built-in this model in our tool.</p>
        <p>Most of the software that supports the MDA approach (e.g., Bold for Delphi) does
not realize this stage and only suggests to develop the software starting at the next
stage. In this case, the domain model (even presented in the form of the ontology) is
considered as a PIM that describes the main concepts and business logic (that is
acceptable for databases). In the case of developing intelligent systems, this stage is
necessary and corresponds to the stage of knowledge conceptualization and can be
considered as one of the proposed modifications of the MDA/MDD.</p>
        <p>Stage 2: Building platform-independent models. The results of this stage are:
 description of logical rules;
 a detailed description of an ES architecture.</p>
        <p>The models of this stage resulted from the transformation of a CIM. In the process
of a CIM transformation, the concepts are transformed into the fact templates and rule
elements such as the conditions and actions, and the cause-and-effect relationships are
transformed into logical rules. RVML is used for visualization and subsequent
clarification of PIM elements.</p>
        <p>
          For the implementation of this stage and subsequent stages, we used PKBD [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
with the built-in model of the expert system architecture.
        </p>
        <p>Stage 3: Building platform-specific models. The number of these models is
determined by the number of platforms, for which an ES is created. PSMs result from
automatic transformations of PIMs by special tools with consequent modification by the
end-user.</p>
        <p>In our case, the end-user is to specify the RVML models of rules taking into
account the features of a certain knowledge representation language (e.g., CLIPS) such
as priorities of rules, ‘by default’ values of slots and a certainty factor.</p>
        <p>Stage 4: Generating source codes and specifications. At this stage, the
interpretation of RVML diagrams is performed automatically using PKBD. The results of this
stage are as follows:
 a knowledge base code for a certain programming language (e.g., CLIPS);
 specifications of an expert system for the PKBD interpreter.</p>
        <p>Source codes and specifications are created syntactically correct and they are
independent of the semantic content of the models.</p>
        <p>Stage 5: Testing. At this stage, the obtained program codes are tested in special
software (in our PKBD interpreter).</p>
        <p>Since the generation of source codes is completely automatic and syntactically
correct, the end-user can test only the semantic correctness of the designed models by
«running» them for different values of the initial facts. The PKBD interpreter uses the
generated code and also synthesizes the elements of the user interface forms for
access to the PSM model elements.</p>
        <p>The testing criteria are the correctness of the logical inference and the correctness
of its results.</p>
        <p>It should be noted that the end-users (e.g., domain experts or analysts) are actively
involved in designing a CIM and a PIM and partially a PSM. All of the model
transformations and generation of program codes are implemented with specialized
software that includes a PDM.</p>
        <p>The described sequence of stages almost coincides with the MDA approach but the
stage’s content is redefined based on features of the rule-based expert systems (ES)
engineering.</p>
        <p>We shall further consider in detail the models presented and its metamodels.
3.3</p>
      </sec>
      <sec id="sec-3-2">
        <title>Models and Metamodels</title>
        <p>The description of the models and their transformations is important for the MDA
approach. We represent the models in set-theoretic form.</p>
        <p>The CIM can be presented in the form of the ontology and described as follows:
CIM ES = Ont D,Ont RB _ ES
,
where Ont D is the domain ontology (e.g., the reliability of technical systems);
Ont RB _ ES is the ontology of rule-based ESs that includes the description of the main
architectural elements, which are necessary for the implementation of the approach
proposed.</p>
        <p>The domain ontology Ont D includes the concepts (i.e., the classes and instances of
classes) and the relationships between them:</p>
        <p>Ont D = BT _ D,CN,Pr ,Obj, RD
,
where BT _ D is the list of basic data types; BT _ D = {literal, object, collection}
; CN are the names of classes; Pr are the names of class properties; Obj are the
concepts (constants, objects); lastly, RD is the finite set of relationships between
concepts. We have RD = {RiDs−a , Rpr , RcD} , where RiDsa are the ‘is-a’ relationships
be</p>
        <p>D
tween classes CN , RpDr are the relationships between classes and properties, and
pr RpDr cn, cn _ bt</p>
        <p>where pr ∈ Pr , cn ∈ CN , cn _ bt ∈ CN ∪ BT _ D ; thus, the
property pri in the subject domain D describes class cn j . Finally, R D are the
с
cause-and-effect relationships (the ‘depends-on’ relationships) between concepts.</p>
        <p>
          A detailed description of this model presented in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. To provide correct CIM
transformation we develop its metamodel with the use of MOF (Meta Object Facility)
(Fig.2).
where RVMLRB _ KB is a model of the knowledge base and UMLRB _ ES is a model
of the ES architecture. A detailed description of these models presented in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. The
PIM metamodel corresponds to the PSM metamodel and can be represented with the
aid of MOF (Fig.3).
        </p>
        <p>The model transformation rules are implemented in the form of specifications on
the imperative programming language Object Pascal for PKBD, and on TMRL and
PHP for KBDS.</p>
        <p>The implemented specifications meet the requirements of completeness, formality,
and flexibility. These specifications contain all the necessary (within the approach
proposed) information for solving the task, all objects of the model are well
formalized, at the same time the specifications are compact enough and understandable
(readable).
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Implementation</title>
      <p>The proposed method is implemented by the original software, namely, Personal
Knowledge Base Designer and Knowledge Base Development System.
4.1</p>
      <sec id="sec-4-1">
        <title>Personal Knowledge Base Designer (PKBD)</title>
        <p>
          PKBD [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] is a tool for prototyping rule-based expert systems and knowledge bases.
It is implemented as a desktop application designed for non-programmers.
        </p>
        <p>PKBD supports RVML, and has a modular architecture that provides the ability to
add modules (dynamic link libraries) that provide generation of source codes and
integration with domain models designers. Currently, CLIPS, Drools, PHP, IBM
Rational Rose, StarUML, XMind, CMapTools, and Microsoft Excel support DLLs are
included.</p>
        <p>
          Main functions of PKBD are:
 designing elements of rule bases (fact templates, facts, and rules) by
nonprogrammers using a set of wizards and defined sources of conceptual
models;
 checking the integrity of the developed knowledge bases (syntactic and
semantic control);
 representing knowledge base elements using RVML;
 generating knowledge base codes in the CLIPS, Drools, and PHP formats;
 testing developed knowledge base codes (logical inference) using the
integrated CLIPS rule engine;
 integrating with CASE-tools: IBM Rational Rose, StarUML, XMind, Protégé,
and CMapTools, regarding import and transformation of conceptual models
to highlight the main entities (concepts) and relationships for creating
knowledge base drafts;
 integrating with TabbyXL [20] in terms of import and transformation of
canonical spreadsheet tables to highlight the main entities (concepts) and
relationships for creating knowledge base drafts;
 integrating with Microsoft Excel in terms of import and transformation of
decision tables [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] to highlight the main entities (concepts) and relationships
for creating knowledge base drafts.
        </p>
        <p> interacting with the KBDS service.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Knowledge Base Development System (KBDS)</title>
        <p>
          KBDS [
          <xref ref-type="bibr" rid="ref12 ref14">12, 14</xref>
          ] is a tool for the development of software components (modules) that
transform conceptual models presented in the XML format (the most common format
for the exchange and storage of the different conceptual models) to source codes or
other models. It is implemented as a web application designed for non-programmers.
        </p>
        <p>KBDS supports TMRL, and has built-in modules that provide generation of source
codes and integration with domain models designers. Currently, CLIPS, OWL DL,
IBM Rational Rose, and CMapTools are included.</p>
        <p>Main functions of KBDS are:
 the source code generation for CLIPS and OWL DL;
 the automated synthesis of an ontological and a rule-based model (the internal
representation of knowledge in the KBDS) based on the analysis of input
conceptual models;
 the use of RVML for the representation and modeling the logical rules;

the visual representation and modeling knowledge in the form of the
graphbased ontological model.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Testing and Discussion</title>
      <p>
        The method was tested when solving educational and practical (real-world) tasks [
        <xref ref-type="bibr" rid="ref15 ref18 ref3 ref9">3,
9, 15, 18, 22-24</xref>
        ]. In particular, when solving educational tasks when creating
prototypes of the simplest knowledge bases based on UML class diagrams and CMapTools
concept maps, the method and software tools allowed in some cases to reduce the
creation time by 60% [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>In the case of real-world tasks, we used an indirect method to evaluate
effectiveness of the PESoT method.</p>
      <p>The indirect method of evaluation considered the main stages of expert systems
engineering and the time of their implementation. At the same time, the
conceptualization stage was decomposed into stages of problem identification, retrieving, and
structuring knowledge, according to [24] (Table 2).
Thus (Table 2), the development of expert systems by the standard method on average
lasts from 4 to 9 months. When applying PESoT, the implementation stage is
excluded from the development process, since automatic code generation is used, this
reduces the expert systems development time by 1-2 months.</p>
      <p>Also, when implementing the stages of retrieving, structuring, and formalizing
knowledge, the knowledge engineer is excluded from the development process (or the
participation time is reduced).</p>
      <p>Based on these facts and the worst assumptions about the achievability of these
effects, the execution time of these stages will be reduced by 25%, i.e. by 0.5-1.5
months. The final time reduction will be from 1.5 to 3.5 months.</p>
      <p>It should also be noted that according to the concept of MDE, the main focus of
application development is transferred from the actual programming stage to the stage
of creating the model. At the same time, by creating a model once, the developer gets
the basic ability to generate source codes for other supported languages.</p>
      <p>Therefore, an additional effect occurs when you need to transfer development to a
new technology platform since you can use the old platform-independent model and
develop a new only the platform-dependent one. When using the proposed method,
the expert system development time will be only 1.5 to 2.5 months, since it will
require repeated work only at the testing stage. Of course, this is only possible if there is
software that provides code generation for the target language.</p>
      <p>Besides, the PESoT method provides:
- reducing the risk of design errors: on a relatively simple and completely
customer-based platform-independent model (as opposed to a traditional model cluttered
with implementation details), it is easy to find and correct such errors;
- using cognitive graphics at the stage of knowledge retrieval;
- eliminating the programming errors due to automatic code generation.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>In this work, we consider a method for creating rule-based expert systems and
knowledge bases. This method is an element of PESoT technology; its features are the
following: a redefined chain of model transformations, original means of
implementation: language and software.</p>
      <p>
        This method reduces the time for prototyping expert systems and knowledge bases
by automating the codification stage and using existing domain models. Evaluation of
the method is presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The practical significance of the results is defined by their use in the educational
process of IrNRTU, as well as when working with the "IrkutskNIIhimmash"
jointstock company and LLC "Centrasib".
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), project no. IV.38.1.3 (reg. no.
АААА-А17117032210077-7). Results are achieved using the Centre of collective usage
«Integrated information network of Irkutsk scientific educational complex».
19. Yurin, A.Yu., Berman, A.F., Nikolaychuk, O.A., Dorodnykh, N.O., Grishenko, M.A.: The
domain-specific editor for rule-based knowledge bases. Proceedings of the 41st
International Convention on Information and Communication Technology, Electronics and
Microelectronics (MIPRO), 1130-1135 (2018). DOI: 10.23919/MIPRO.2018.8400176
20. Shigarov, A., Khristyuk, V., Mikhailov, A.: TabbyXL: Software platform for rule-based
spreadsheet data extraction and transformation. SoftwareX 10, 100270 (2019). DOI:
10.1016/j.softx.2019.100270
21. Berman, A.F., Dorodnykh, N.O., Nikolaychuk, O.A., Yurin, A.Y.: Knowledge bases
engineering on the basis of fault trees analysis. CEUR Workshop Proceedings. Information
Technologies: Algorithms, Models, Systems (ITAMS 2018) 2221, 25-31 (2018).
22. Yurin, A.Yu., Berman, A.F., Nikolaychuk, O.A., Dorodnykh, N.O.: Knowledge Base
Engineering for Industrial Safety Expertise: A Model-Driven Development Approach.
Studies in Systems, Decision and Control 199, 112-124 (2019). DOI:
10.1007/978-3-03012072-6_11
23. Yurin, A.Yu., Dorodnykh, N.O., Nikolaychuk, O.A., Grishenko, M.A.: Prototyping
RuleBased Expert Systems with the Aid of Model Transformations. Journal of Computer
Science 14 (5), 680-698 (2018). DOI: 10.3844/jcssp.2018.680.698
24. Jackson P.: Introduction To Expert Systems. 3rd edition. Addison Wesley (1999).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Da</given-names>
            <surname>Silva</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.R.</surname>
          </string-name>
          :
          <article-title>Model-driven engineering: A survey supported by the unified conceptual model</article-title>
          .
          <source>Computer Languages, Systems &amp; Structures</source>
          <volume>43</volume>
          ,
          <fpage>139</fpage>
          -
          <lpage>155</lpage>
          (
          <year>2015</year>
          ). DOI:
          <volume>10</volume>
          .1016/j.cl.
          <year>2015</year>
          .
          <volume>06</volume>
          .001
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .:
          <article-title>Technology for creating rule-based expert systems based on model transformations, Novosibirsk</article-title>
          ,
          <string-name>
            <surname>SB RAS</surname>
          </string-name>
          (
          <year>2019</year>
          ). (in Russian) DOI:
          <fpage>10</fpage>
          .15372/TECHNOLOGY2019DNO
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Grishenko</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolaychuk</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .:
          <article-title>Designing rulebased expert systems with the aid of the model-driven development approach</article-title>
          .
          <source>Expert Systems</source>
          <volume>35</volume>
          (
          <issue>5</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>23</lpage>
          (
          <year>2018</year>
          ). DOI:
          <volume>10</volume>
          .1111/exsy.12291
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .:
          <article-title>A domain-specific language for transformation models</article-title>
          .
          <source>CEUR Workshop Proceedings (ITAMS-</source>
          <year>2018</year>
          )
          <volume>2221</volume>
          ,
          <fpage>70</fpage>
          -
          <lpage>75</lpage>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cretu</surname>
            ,
            <given-names>L.G.</given-names>
          </string-name>
          <string-name>
            <surname>Florin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Model-Driven Engineering</surname>
          </string-name>
          of Information Systems: Principles, Techniques, and
          <string-name>
            <surname>Practice</surname>
          </string-name>
          . Apple Academic Press (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kleppe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Warmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bast</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          : MDA Explained:
          <article-title>The Model Driven Architecture: Practice and Promise</article-title>
          , 1st ed.,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorp</surname>
            ,
            <given-names>P.V.</given-names>
          </string-name>
          :
          <article-title>A Taxonomy of Model Transformations</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>152</volume>
          ,
          <fpage>125</fpage>
          -
          <lpage>142</lpage>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Nofal</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fouad</surname>
            ,
            <given-names>K.M.:</given-names>
          </string-name>
          <article-title>Developing web-based Semantic and fuzzy expert systems using proposed tool</article-title>
          .
          <source>International Journal of Computer Applications</source>
          <volume>112</volume>
          (
          <issue>7</issue>
          ),
          <fpage>38</fpage>
          -
          <lpage>45</lpage>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolbov</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>Ontology Driven Development of RuleBased Expert Systems</article-title>
          .
          <source>Proceedings of the 3rd Russian-Pacific Conference on Computer Technology and Applications (RPC)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          (
          <year>2018</year>
          ). DOI:
          <volume>10</volume>
          .1109/RPC.
          <year>2018</year>
          .8482174
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .:
          <source>Towards Ontology Engineering Based on Transformation of Conceptual Models and Spreadsheet Data: A Case Study. Advances in Intelligent Systems and Computing. Computational Methods in Systems and Software (CoMeSySo</source>
          <year>2019</year>
          )
          <volume>1046</volume>
          ,
          <fpage>233</fpage>
          -
          <lpage>247</lpage>
          (
          <year>2019</year>
          ). DOI:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -30329-7_
          <fpage>22</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          :
          <article-title>Development of Software Decision-Making Modules Based on a Model-Driven Approach</article-title>
          .
          <source>CEUR Workshop Proceedings. Russian Advances in Artificial Intelligence: selected contributions to the Russian Conference on Artificial intelligence (RCAI</source>
          <year>2020</year>
          )
          <volume>2648</volume>
          ,
          <fpage>265</fpage>
          -
          <lpage>279</lpage>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Bychkov</surname>
            ,
            <given-names>I.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          .:
          <article-title>Approach for the development of software components for the creation of knowledge bases based on conceptual models</article-title>
          .
          <source>Computational technologies 21(4)</source>
          ,
          <fpage>16</fpage>
          -
          <lpage>36</lpage>
          (
          <year>2016</year>
          ).
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          :
          <article-title>Personal knowledge base designer: Software for expert systems prototyping</article-title>
          .
          <source>SoftwareX</source>
          <volume>11</volume>
          ,
          <issue>100411</issue>
          (
          <year>2020</year>
          ). DOI:
          <volume>10</volume>
          .1016/j.softx.
          <year>2020</year>
          .100411
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          :
          <article-title>Web-based software for automating development of knowledge bases on the basis of transformation of conceptual models</article-title>
          .
          <source>Open Semantic Technologies for Intelligent Systems</source>
          <volume>1</volume>
          ,
          <fpage>145</fpage>
          -
          <lpage>150</lpage>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Berman</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolaichuk</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>K.A.</given-names>
          </string-name>
          :
          <article-title>Support of DecisionMaking Based on a Production Approach in the Performance of an Industrial Safety Review</article-title>
          .
          <source>Chemical and Petroleum Engineering</source>
          <volume>50</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>730</fpage>
          -
          <lpage>738</lpage>
          (
          <year>2015</year>
          ). DOI:
          <volume>10</volume>
          .1007/s10556-015-9970-x
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Nikolaychuk</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
          </string-name>
          , A.Y.:
          <article-title>Computer-aided identification of mechanical system's technical state with the aid of case-based reasoning</article-title>
          .
          <source>Expert Systems with Applications</source>
          <volume>34</volume>
          ,
          <fpage>635</fpage>
          -
          <lpage>642</lpage>
          (
          <year>2008</year>
          ). DOI:
          <volume>10</volume>
          .1016/j.eswa.
          <year>2006</year>
          .
          <volume>10</volume>
          .001
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Berman</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolaychuk</surname>
            ,
            <given-names>O.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          :
          <article-title>Intelligent planner for control of failures analysis of unique mechanical systems</article-title>
          .
          <source>Expert Systems with Applications</source>
          <volume>37</volume>
          ,
          <fpage>7101</fpage>
          -
          <lpage>7107</lpage>
          (
          <year>2010</year>
          ). DOI:
          <volume>10</volume>
          .1016/j.eswa.
          <year>2010</year>
          .
          <volume>03</volume>
          .005
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Dorodnykh</surname>
            ,
            <given-names>N.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yurin</surname>
            ,
            <given-names>A.Yu.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shigarov</surname>
            ,
            <given-names>A.O.</given-names>
          </string-name>
          :
          <article-title>Conceptual Model Engineering for Industrial Safety Inspection Based on Spreadsheet Data Analysis /</article-title>
          / Communications in Computer and Information Science.
          <source>Modelling and Development of Intelligent Systems (MDIS</source>
          <year>2019</year>
          )
          <volume>1126</volume>
          ,
          <fpage>51</fpage>
          -
          <lpage>65</lpage>
          (
          <year>2020</year>
          ). DOI:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -39237-
          <issue>6</issue>
          _
          <fpage>4</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>