Development of Software Decision-Making Modules Based on a Model-Driven Approach Aleksandr Yu. Yurina , Nikita O. Dorodnykha a Matrosov Institute for System Dynamics and Control Theory, Siberian Branch of the Russian Academy of Sciences, Irkutsk, Russia Abstract The computer-aided engineering software modules for decision-making intelligent systems requires the development of specialized methods, algorithms and software. The use of a model-driven approach that implements the principles of generative and visual programming as well as model transformations, is promising. In this paper, we propose an approach for the development of rule-based intelligent system software components in the form of decision-making modules by specializing and using main principles of a model-driven development. The proposed specialization includes using a step-by-step development scheme (chain of model transformations) from information models to source codes and specifications; a method for the automated creation of computation-independent models based on the transformation of spreadsheets; domain-specific tools for formalization, visualization and generation of codes. The de- veloped approach was applied for creating decision-making modules for rule-based intelligent systems. 1. Introduction The development of intelligent systems and their components (software modules) continues to be a complex and time-consuming task. One of the ways to increase the efficiency of creating such systems is to use the principles of generative and visual programming, as well as the con- cept of model transformations for conceptualization, formalization and automatic codification. These principles are implemented in various techniques and tools. However, in most cases, existing solutions are focused on certain software platforms and have high qualification re- quirements for developers. The integrated use of these principles is also implemented within approaches based on model transformations. Currently they are known as Model-Driven En- gineering (MDE) or Model-Driven Development (MDD)[Sil15]. In this paper, we propose a modified standardised MDE approach for computer-aided engi- neering of software components in the form of decision-making modules for intelligent sys- tems. Our approach includes: • A step-by-step development scheme in the form of a chain of model transformations (more abstract models are transformed to less abstract models, and source codes and specifications are generated at the end of this chain). Russian Advances in Artificial Intelligence: selected contributions to the Russian Conference on Artificial intelligence (RCAI 2020), October 10-16, 2020, Moscow, Russia " iskander@icc.ru (A.Yu. Yurin); tualatin32@mail.ru (N.O. Dorodnykh)  © 2020 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) • A method for the automated creation of computation-independent models in the form of domain models, this method based on the transformation of spreadsheets with arbitrary layouts and styles. • Specialized domain-specific tools for formalization, visualization and generation of codes. Our approach is focused on non-programmers (end-users) and provides algorithms, lan- guages and software for creating rule-based knowledge bases and decision-making modules of intelligent systems. We tested the approach when created the following software prototypes of: • A module for definition causes of damages and destruction of technical system elements (a part of the “IS Expertise” decision support system[Ber15]). • A “Detector” module1 for detection of banned messages and clients who com-promise a SMS mailing service (a part of the “SMS Organizer” platform2 ). • A module for facial features interpretation and detection of emotions (a part of the “HR Robot” project3 ). Our approach was also used in educational process at the Institute of Information Technolo- gies and Data Analysis of the Irkutsk National Research Technical University (IrNITU). 2. State-of-Art 2.1. Model-Driven Engineering and Model Transformations Model transformations, generative and visual programming are widely used practices in soft- ware engineering especially in model-driven approaches (MDE, as well as Model-Driven De- velopment (MDD))[Sil15]. The main idea of such approaches is using the transformation and interpretation of information models, in particular, conceptual models, for software develop- ment. Of course, researches related to the model transformations and meta-programming have been conducted since the origin of programming theory and expert systems, including by Rus- sian and Belarusian researchers. In particular, we can highlight the AT-Technology and Open Semantic Technologies for Intelligent Systems (OSTIS) projects. However, they are weakly integrated with international software development standards (for example, UML, XMI, etc.), while some MDE implementations are based on them. There are some implementations of MDE: Eclipse Modelling Framework (EMF), Model-Integrated Computing (MIC) and Model-Driven Architecture (MDA). MDA4 is the most standardized ones and suggests the integrated use of OMG (Object Management Group) standards, including: 1 Yurin, A.Yu.: Detector. Certificate of software registration, № 2020614257, 27.03.2020 2 SMS-Organizer Home: http://centrasib.ru/index.php?p=smso 3 Personnel Evaluation Home: http://www.ocenkakadrov.ru 4 MDA: https://www.omg.org/mda/ • Unified Modeling Language (UML) as a main language for formalizing and visualizing models. • Meta Object Facility (MOF) as a language for describing metamodels. • Query/View/Transformation (QVT) as a set of model transformation languages. • XML Metadata Interchange (XMI) as the standard for textual representation of models. The MDA approach generates three viewpoints on the software, which are present-ed in the form of corresponding models: a Computation-Independent Model (CIM), a Platform- Independent Model (PIM) and a Platform-Specific Model (PSM). The software development process represents a sequential transformation of these models from the most abstract CIM to a specific PSM. Program codes or specifications are generated at the last step. A model trans- formation is the automatic generation of a target model from a source model, according to a set of transformation rules that together describe how a model in the source language can be transformed into a model in the target language. The MDA approach implements a four-level metamodel architecture to support this process[Spr10]. According to this architecture there are following types of model transformations[Men06]: horizontal and vertical, endogenous and exogenous, unidirectional and bidirectional. Metamodels are the part of this architecture and the way to define abstract syntax of languages used in the development process. 2.1.1. Intelligent System and Knowledge Base Engineering Based on Model Transformations There are several recent studies dealing with knowledge base and intelligent system engineer- ing based on principles of model-driven approaches. Moreover, they can be classified according to the following criteria: • Used models and transformation chains: approaches using their own methodological principles without a clear classification of models and transformation chains[Dun08, Nof15, Rui11, Shu09, Kad13]; approaches that implement the model transformation within standards[Yur18, Cab09, Can09]. • Target platforms: approaches using general-purpose languages such as Perl, C#, .NET[Dun08, Cab09]; approaches using specialized knowledge representation languages, for example, Jess, Drools, CLIPS and others[Shu09, Yur18, Can09, Cha04]; approaches using own orig- inal languages and means, for example, PRISMA[Cab09]. • Sources of domain information: ontology-based approaches[Nof15, Shu09, Can09]; UML- based approaches[Yur18]; semantic trees-based approaches[Rui11] and approaches based on XML-like structures[Dun08]. • End users: programmers-oriented approaches[Dun08, Shu09, Can09, Cha04] or non- programmers-oriented approaches[Nof15, Kad13, Yur18, Cab09]. The analysis of these studies showed that they are focused primarily on users with high pro- gramming and metamodeling skills. So, as a rule, existing solutions do not clearly correspond to the MDA methodology, for example, skipping the CIM construction stage, going directly to the PIM development stage. However, CIM plays an important role, it bridging the gap that usually exists between domain experts and information technology specialists. This stage is very important when developing intelligent systems; it results to a conceptual domain model and knowledge bases represented by certain formalisms, for example, rules. 2.2. Background In our previous work[Yur18] we have proposed an approach for the rule-based expert systems and knowledge bases engineering based on MDA principles and model trans-formations. This approach partly eliminated the disadvantages described above and used the Transformation Model Representation Language (TMRL)[Dor18] to describe transformation rules. The following main stages of model transformations were defined: Stage 1. Creating domain models. Domain modeling and description of main architectural elements of expert systems are carried out at this stage. The resulting models are considered as a CIM and can be represented in the form of OWL ontology, UML models (e.g. class diagrams), concept maps, etc. Stage 2. Forming rule-based models in the RVML notation. Domain models created at the previous stage are automatically transformed into rule-based models. In this case, concepts from the domain model are matched with fact templates and elements of logical rules (con- ditions and actions). Causal relationships are transformed into rules. In fact, an automated formalization of the domain model is carried out. The resulting rule-based models are con- sidered as a PIM and can be represented using a special graphic notation called Rule Visual Modeling Language (RVML)[Yur18]. Stage 3. Modifying rule-based models in accordance with the knowledge representation language. At this stage, the resulting rule-based models are modified in RVML notation taking into account the characteristics of the selected target platforms (knowledge representation or programming languages). For example, when using CLIPS (C Language Integrated Production System), rule priorities and “by default” values of slots are specified. The resulting revised rules (modified RVML models) are considered as a PSM. Stage 4. Generating program codes and specifications by specialized tools, in particular: • Web-oriented software called Knowledge Base development System (KBDS)[Dor17] that provides development of converters for transformation domain models to rule-based models. • Desktop application called Personal Knowledge Base Designer (PKBD)[Yur20] that pro- vides generation of source codes and specifications based on the received rule-based models in the RVML notation. Stage 5. Testing obtained program codes both in special software (in the PKBD interpreter), and in the application. Generally, this approach allows experts to prototype rule-based knowledge bases and expert systems on the basis of existing conceptual models (for example, UML class diagrams). Despite a significant reduction of time of the implementation stage and the elimination of programming errors through automatic code generation, the proposed approach has some disadvantages, in particular: • The long time of the stage of creating domain models by experts: at this stage additional information sources that can reduce the development time and improve the quality of resulted models are not used. • A limited set of means when creating rule-based models: the RVML notation only used, which is not effective when designing large knowledge bases (more than 50 rules). • A limited set of supported platforms: CLIPS only supported, which has low integration ability with existing software (including those based on web technologies) in terms of expanding their functionality. Thus, in this paper, we propose a modified approach to the development of rule-based intel- ligent systems in the form of embedded web-based decision-making mod-ules, and this mod- ification taking into account the above mentioned factors. So, the main our contributions are the followings: • A new method for the automated formation of a conceptual domain model (a CIM) based on data extracted from spreadsheets with arbitrary layouts and styles. • The combined use of a tabular (in the form of a decision table) and a graphical approaches (in the form of RVML schemes) to formalize and visualize the trans-formed models as a PIM. • Extension of a set of supported platforms by Drools and PHP (Hypertext Preprocessor). 3. Modified Approach We modify the first four stages of our previous approach. Thus, our modified ap-proach in- cludes the following chain of model transformations: 𝑇 = ⟨𝑇𝐼 𝑆−𝐶𝐼 𝑀 , 𝑇𝐶𝐼 𝑀−𝑃𝐼 𝑀 , 𝑇𝑃𝐼 𝑁 −𝑃𝑆𝑀 , 𝑇𝑃𝑆𝑀−𝐶𝑂𝐷𝐸 ⟩ , (1) when 𝑇𝐼 𝑆−𝐶𝐼 𝑀 is a set of transformation rules of information source (e.g., databases, spread- sheets, texts, etc.) into a conceptual domain model; 𝑇𝐶𝐼 𝑀−𝑃𝐼 𝑀 is a set of transformation rules of a conceptual domain model into a rule-based model; 𝑇𝑃𝐼 𝑀−𝑃𝑆𝑀 is a set of transformation rules of a rule-based model in general form into a modified rule-based model corresponding to a specific target knowledge representation language; 𝑇𝑃𝑆𝑀−𝐶𝑂𝐷𝐸 is a set of transformation rues of a modified rule-based model into a program code on the target knowledge representation language. Next, we consider main stages in detail: Stage 1: Creating domain models. The effectiveness of this stage can be improved by reusing existing information sources. In this paper, we propose to use spreadsheets in the Excel and CSV format. Spreadsheets are a fairly popular means of structuring and storing various types of information. Spreadsheets are commonly used in various domains and can contain a large number of facts. We have developed a special method for the automated construction of a conceptual domain model by transforming data extracted from arbitrary spreadsheets. The method is based on the use of a specific canonicalized (relational) form for the source spreadsheet and rules for its transformation. The method includes the following main steps: 1. Recognizing spreadsheets with arbitrary layouts and styles, and its transfor-mation to a canonicalized (relational) form: 𝐶𝑆 = {𝐷, 𝑅𝐻 , 𝐶𝐻 } , (2) when 𝐷 is a data block; 𝑅𝐻 is a set of row labels of the category; 𝐶𝐻 is a set of column labels of the category. The values in cells for heading blocks can be separated by the “ | ” symbol to divide categories into subcategories. Thus, the canonical table denotes hierarchical relation- ships between categories (headings). This step results in tables in the unified (canonicalized) form prepared for their further automated processing. A detailed description of this step is given in[Shi17]. 2. Generating conceptual model fragments based on the transformation of canonical spread- sheets. In this case, UML class diagrams or concept maps can be used to represent model fragments. According to the MDA approach, transformation is carried out at the metamodel level (abstract level “M2” of a four-level metamodel architecture[Spr10]). For this reason, we have defined metamodels describing the source canonical spreadsheets (Fig. 1), the target UML class diagrams and concept maps[Dor19]. At the same time, transformation rules describing the correspondence between the elements of these metamodels were created on TMRL. Figure 1: A metamodel of canonical spreadsheets 3. Aggregating conceptual model fragments into one general domain model. This step in- cludes operations for clarifying the names of classes, their attributes and relationships (e.g., associations), and also their possible merging and separation. The following main rules used for aggregation of conceptual models fragments: • Classes with equal names are merged (a common list of attributes is formed). • When the names of a class and attribute are equal, the attribute of the same name is removed; the corresponding relationship between classes is created. Manual merging and separation operations are performed by the user using PKBD. Thus, let’s clarify the operator 𝑇𝐼 𝑆−𝐶𝐼 𝑀 from (1): 𝑇𝐼 𝑆−𝐶𝐼 𝑀 ∶ 𝐶𝑆 → 𝐶𝑀, (3) when 𝐶𝑆 is a spreadsheet in a canonicalized (relational) form; 𝐶𝑀 is a conceptual domain model. 𝐶𝑀 = ⟨𝐶𝑀 𝑈 𝑀𝐿 , 𝐶𝑀 𝑋 𝑇 𝑀 ⟩, when 𝐶𝑀 𝑈 𝑀𝐿 is a conceptual model in the form of a UML class diagram; 𝐶𝑀 𝑋 𝑇 𝑀 is a conceptual model in the form of a concept map (XML Topic Maps). Stage 2: Forming decision tables as platform-independent models. At this stage, we pro-pose using the formalism of decision tables containing all properties of concepts of a con- ceptual domain model (a CIM) with the ability to represent them in RVML for visualization and subsequent modification. Decision tables are a popular way to describe logical dependencies[Ere16]. Moreover, both specialized tools and general-purpose office suites, in particular, Microsoft Excel, can be used to create them. The main advantage of decision tables is its visibility, especially in the case of large knowledge bases, when the use of graphic schemes leads to clutter or fragmentation of the representation, and the use of programming languages leads to excess information in the form of service operators and symbols. Thus, let’s clarify the operator 𝑇𝐶𝐼 𝑀−𝑃𝐼 𝑀 from (1): 𝑇𝐶𝐼 𝑀−𝑃𝐼 𝑀 ∶ 𝐶𝑀 → 𝑅𝑀, (4) when 𝐶𝑀 is a conceptual domain model; 𝑅𝑀 is a rule-based model which is a universal high- level abstraction of knowledge representation in the form of logical rules that is independent of a target knowledge representation language (e.g., CLIPS, Jess, Drools, RuleML, etc.). Wherein: 𝑅𝑀 = ⟨𝑅𝑀 𝐷𝑇 , 𝑅𝑀 𝑅𝑉 𝑀𝐿 ⟩, when 𝑅𝑀 𝐷𝑇 is a rule-based model in the form of a decision table; 𝑅𝑀 𝑅𝑉 𝑀𝐿 is a rule-based model in the form of RVML diagram. Stage 3: Modifying rule-based models as platform-dependent models in accordance with the selected knowledge representation language. Automatic conversion of decision tables to RVML models is carried out at this stage. In accordance with our approach, the developer should clarify the resulting RVML models taking into account the characteristics of the target software platform. In addition to CLIPS, we proposed to use: • Drools, it is a business rule management system that uses an enhanced implementation of the Rete algorithm and supports standard of API Java Rules Engine. The obtained rules can be integrated into existing Java codes. • PHP (Hypertext Preprocessor), it is a general-purpose scripting language widely used in web applications. PHP modules (units) are easily to integrate, while they do not require the use of additional rule engine or any extensions. The use of this software platforms (languages) use allows one to integrate the de-veloped decision-making modules (components) into existing web-based intelligent systems. Thus, let’s clarify the operator 𝑇𝑃𝐼 𝑀−𝑃𝑆𝑀 from (1): 𝑇𝑃𝐼 𝑀−𝑃𝑆𝑀 ∶ 𝑅𝑀 → 𝑅𝑀 ∗ , (5) when 𝑅𝑀 is a rule-based model (rules); 𝑅 ∗ is a modified rule-based model for a specific platform (a knowledge representation language). Stage 4: Generating program codes and specifications using the extended PKBD toolkit that supports new platforms (Drools and PHP) and implements a method for the automated formation of conceptual domain models based on the transformation of spreadsheets. Thus, let’s clarify the operator 𝑇𝑃𝑆𝑀−𝐶𝑂𝐷𝐸 from (1): 𝑇𝑃𝑆𝑀−𝐶𝑂𝐷𝐸 ∶ 𝑅𝑀 ∗ → 𝐾 𝐵, (6) when 𝑅 ∗ is a modified rule-based model for a specific platform; 𝐾 𝐵 is source codes of a knowl- edge base on a target language (e.g., CLIPS, Drools or PHP). Note that the integration process of the obtained modules requires programming skills. 4. Case Studies Our modified approach was used to solve practical problems. In our case studies we use various ways for representing domain concepts and its relationships, and also different metamodels and platforms. In particular, we developed prototypes of decision-making modules for the following intelligent systems: • “IS Expertise”[Ber15] designed to define causes of damages and destructions of technical system elements. • “SMS Organizer“ designed to provide detection of banned messages and clients who com- promise a SMS mailing service (“Detector” module). • “HR Robot” designed to interpret facial features for detection of emotions. Further, we briefly consider these case studies. 4.1. IS Expertise Software Module “IS Expertise” (Industrial Safety Expertise) decision support system[Ber15] is intended to auto- mate the process of an industrial safety inspection of chemical and petrochemical equipment. This system automates collecting, storing and processing information for preparing and con- ducting the expertise and forming conclusions and reports. “IS Expertise” is a client-server application, which includes the subsystems: data storage (contains information about the in- spected objects, experts and other information for the inspection); previewing and entering information; analytical processing that provides decision support on the basis of case-based and rule-based expert system modules. Let’s consider the application of the proposed approach for developing a prototype of rule- based expert system: Stage 1: Creating domain models. The creation of domain models was carried out based on a model of the dynamics of technical states[Ber07]. This model describes the main concepts in the field of equipment degradation in the petrochemical industry, and includes a description and relationships of the following main concepts: mechanical stresses (properties: magnitude, cycle, amplitude, etc.); materials (properties: name, type, resistance temperature, etc.); contact medium (properties: form, pressure, temperature, chlorine ions, dissolved oxygen, etc.); degra- dation process (properties: mechanism name, kinetics, etc.). All models designed in the form of concept maps (Fig. 2, block 1). Figure 2: The scheme of developing a prototype of rule-based expert system for “IS Expertise” In addition to this model, we used information from a database of petrochemical equipment failures[Ber93], as well as the results of an industrial safety inspection in the form of reports containing spreadsheets (we extracted them in the CSV format). As a result, a conceptual domain model was obtained. This model was further considered as a CIM (Fig. 2, block 1). Stage 2: Forming decision tables as platform-independent models. The formation of platform-independent models was carried out using KBDS, which provided the import of the CIM from the format of concept maps (XML Topic Maps) and its transformation. As a result of this transformation, the concepts and relationships of a conceptual domain model were mapped with templates for facts and rules represented in the form of RVML schemes (Fig. 2, block 2-3). Stage 3: The formation of platform-specific models. Target platforms in this case were CLIPS (for describing knowledge base codes) and PKBD (for interpreting expert system speci- fications). Therefore, a minor modification of the PIM in the form of RVML was required. Stage 4: Generating program codes and specifications. The generation of program codes and specifications was performed automatically. CLIPS code (Fig. 2, block 4) and spec- ifications for the PKBD interpreter have been obtained. These specifications provide the gen- eration of a user interface for creating, reading, updating and deleting (CRUD) elements of the knowledge base. Thus, knowledge base was created, including 14 fact templates, 12 rule templates, 4 initial facts and 20 specific rules (for one degradation process). 4.2. Detector Module Banned messages fall into the category of SPAM messages, the sending of which violates the Russian Federal Law #38 “On Advertising”. The specialized web-based software module called “Detector” [4] was developed for a SMS mailing service. The “Detector” aim is to detect SPAM messages and clients who sending them. This module includes an intelligent decision support block with a rule-based knowledge base. Let’s consider the application of the proposed approach for developing this module: Stage 1: Creating domain models. The creation of domain models allowed us to identify key abstractions and their relationships (Fig. 3, block 1). At the conceptual level, the main concepts are the followings: “SMS message”, “Keywords” aka “markers” of SPAM messages and the “Sender”. Subsequently, the model was simplified in order to better match the structure of logical rules during formalization. An analysis of database containing 1 366 490 messages was performed to highlight combina- tions of markers (keywords). 829 SPAM messages of detected and blocked earlier clients were selected as a training corpus. As results of the training corpus analysis we identified five main groups of SPAM messages: propaganda of prohibited substances; unfair advertising; fraud; threats and insults; not bearing signs of SPAM. For each group, a possible reaction of the decision support system was deter- mined, in particular: blocking the sending of a message (changing its status) and blocking the client. Stage 2: Forming decision tables as platform-independent models. The formation of platform-independent models was carried out in the form of a decision table containing infor- mation about 487 unique sets of keywords (Fig. 3, block 2). This decision table was developed by automated analysis of a message database. The table structure is formed by listing the prop- erties of all concepts, where each property is a column of this table. Stage 3: The formation of platform-specific models. The formation of platform-specific models was carried out using PKBD, which provided the import of the developed decision table with subsequent modification of the obtained rules in the form of RVML, including the priority of the rules and “by-default” values (Fig. 3, block 3). Stage 4: Generating program codes and specifications. The generation of program codes and specifications was performed automatically. Using the PKBD generator, 6 871 lines Figure 3: The scheme of developing a prototype of “Detector” of PHP code were synthesized that describe 487 specific rules (Fig. 3, block 4). The priorities for rules were taken into account by sorting the atomic conditional operators within the computational block (function). Thus, if the rule was fired than the inference was stopped. In this case, the result of the last fired rule was returned. Subsequently, the generated code was integrated to the “SMS Organizer” platform. Testing the developed “Detector” module was carried out on the training corpus. In particular, the modified knowledge base contained 498 specific rules, which detected 653 banned messages. Thus the accuracy was 0.83. The average runtime was 0,00026 sec. Checking the database of 1 366 490 messages by the “Detector” module resulted to detection of 1 145 SPAM messages and 25 clients who compromised a SMS mailing service (but who were not previously blocked). 4.3. Emotion Features Interpretation Module “HR Robot” is a project of a decision support system for selecting candidates for vacancies and checking staff for motivation (study of the psychological situation in the team). “HR Robot” conceptually provides video interview processing, identifica-tion of facial features of emotions and their interpretation. Interpretation of facial features is based on the rule-based knowledge base. Let’s consider the application of the proposed approach for developing this knowledge base prototype: Stage 1: Creating domain models. The creation of domain models. The obtained models describe face parts and its main elements that will be tracked in detecting emotions. A fragment of one of the models is shown in Fig. 4, block 1. Eye NasolabialFold + Width + Form + Heigth + Movement Face Mout h + Form + Width Nose + Length + Width + Form NoseWing + Movement Figure 4: The scheme of developing a prototype of rule-based knowledge base for facial features in- terpretation Stage 2: Forming decision tables as platform-independent models. The formation of platform-independent models. On this stage we developed decision tables on the basis of the constructed conceptual domain models and the knowledge of expert psychologists. These tables contain information about combinations of concept values, which can be used for emo- tions detection, for example, fear (Fig. 4, block 2). In fact, each row in the table is a logical decision-making rule. Next, PKBD was used. PKBD imported decision tables and transformed them to rule-based knowledge base structures. In the test example, this knowledge base seg-ment for the fear emotion includes: 5 fact templates, 1 rule template, and 11 specific rules. Stage 3: The formation of platform-specific models. The formation of platform-specific models was also carried out using PKBD. The imported decision tables were refined in the form of RVML diagrams (Fig. 4, block 3). Stage 4: Generating program codes and specifications. The generation of program codes and specifications was performed automatically for PHP and Drools (Fig. 4, block 4). PHP code in 250 lines and Drools code in 453 lines was generated for this segment of knowledge base. 5. Evaluation The evaluation of complexity of the proposed approach and tools carried out by the time cri- terion, using the corpus of test tasks and some results obtained earlier[Yur18, Dor18]. During testing we calculated the time spent for tasks connected with rule-based knowledge bases en- gineering by the following ways: • Using PKBD and KBDS in terms of importing conceptual models and decision tables (the MS Excel format is used), as well as automated transformation of tables to knowledge base elements and automatic code generation. • Manual programming (hand coding) of knowledge base elements in a specialized editor (e.g., Programmers Notepad). The comparison of these methods showed that the use of the proposed approach can signif- icantly reduce the time spent in comparison with manual coding up to 60%[Dor19]. It should be noted that in this experiment, decision tables were created manually and the test knowledge bases contain 10-12 rules. However, the efficiency can be even higher with the automated gen- eration of decision tables containing a large number of records (487, as in the above example). The use of decision tables for rule-based knowledge base engineering is a good practice[Ere16], especially with a large number of rules. The use of model transfor-mations and specialized tools reduces the complexity of codification of rules on this context. 6. Conclusion In this paper, we propose a modified approach for the development of components of rule- based intelligent systems in the form of software decision-making modules. This approach is based on the principles of the standardised model-driven methodology (MDE/MDA) and model transformations. In our approach we can use spreadsheets as a source of information for creation of computation- independent models (CIM), and reduce the development time for these models. Decision tables are used as an additional formalism for knowledge description that increases the efficiency of processing a large number of rules. The proposed approach supports two additional platforms: Drools and PHP, which simplify the integration of developed decision-making modules with existing web-based intelligent systems. Our approach is implemented in the form of interacting tools: Personal Knowledge Base Designer (PKBD)[Yur20] and Knowledge Base Development System (KBDS)[Dor17]. Case studies and educational tasks demonstrated the applicability of our proposals. Acknowledgments The present study was partially supported by the Russian Foundation for Basic Re-search (Grant no. 19-07-00927). The contribution related to the use of spreadsheets for generating computational-independent models (Sections 2 and 3.1) was supported by the Russian Science Foundation (Grant no. 18-71-10001). References [Sil15] A. R. D. Silva. Model-driven engineering: A survey supported by the unified concep- tual model. Computer Languages, Systems & Structures, 43:139–155, Oct. 2015. [Ber15] B. F. Berman, O. A. Nikolaichuk, A. Yu. Yurin, K. A., Kuznetsov. Support of Decision- Making Based on a Production Approach in the Performance of an Industrial Safety Review. Chemical and Petroleum Engineering, 50(1-2):730–738, Mar. 1979. [Spr10] J. Sprinkle, B. Rumpe, H. Vangheluwe, G. Karsai. Metamodelling: State of the Art and Research Challenges. Model-Based Engineering of Embedded Real-Time Systems, 57–76, Oct. 2010. [Men06] T. Mens, P. V. Gorp. A Taxonomy of Model Transformations. Electronic Notes in Theoretical Computer Science, 152:125–142, Mar. 2006. [Dun08] N. Dunstan. Generating domain-specific web-based expert systems. Expert Systems with Applications, 35:686–690, Oct. 2008. [Nof15] M. A.Nofal, K. M., Fouad. Developing web-based Semantic and fuzzy expert systems using proposed tool. International Journal of Computer Applications, 112:38–45, Feb. 2015. [Rui11] B. Ruiz-Mezcua, A. Garcia-Crespo, J. Lopez-Cuadrado, I. Gonzalez-Carrasco. An ex- pert system development tool for non AI experts. Expert Systems with Applications, 38:597–609, Jan. 2011. [Shu09] L. Shue, C. Chen, W. Shiue. The development of an ontology-based expert system for corporate financial rating. Expert Systems with Applications, 36:2130–2142, Mar. 2009. [Kad13] M. A. Kadhim, M. A. Alam, H. Kaur. Design and implementation of intelligent agent and diagnosis domain tool for rule-based expert system. Proceedings of the Inter- national Conference on Machine Intelligence Research and Advancement. IEEE Xplore Press, Katra, India, 619–622, Dec. 2013. [Yur18] A. Yu. Yurin, N. O. Dorodnykh, O. A. Nikolaychuk, M. A. Grishenko. Designing rule- based expert systems with the aid of the model-driven development approach. Expert Systems, 35(5):1–23, June 2018. [Cab09] M. E. Cabello, I. Ramos, A. Gomez, R. Limon. Baseline-oriented modeling: An MDA approach based on software product lines for the expert systems development. Pro- ceedings of the 1st Asian Conference on Intelligent Information and Database Systems. IEEE Xplore Press, Dong Hoi, Vietnam, 208–213, Apr. 2009. [Can09] J. Canadas, J. Palma, S. Tunez. InSCo-Gen: A MDD Tool for Web Rule-Based Appli- cations. Web Engineering, 5648:523–526, June 2009. [Cha04] G. W. Chaur. Modeling rule-based systems with EMF. Eclipse Corner articles. http://www.eclipse.org/articles/Article-Rule%20Modeling%20With%20EMF/article.html, Nov. 2004. [Dor18] N. O. Dorodnykh, A. Yu. Yurin. A domain-specific language for transformation mod- els. Proceedings of the 1st Scientific-practical Workshop Information Technologies: Al- gorithms, Models, Systems, Irkutsk, Russia, 70–75, Sep. 2018. [Dor17] N. O. Dorodnykh. Web-based software for automating development of knowledge bases on the basis of transformation of conceptual models. Open Semantic Technolo- gies for Intelligent Systems, 7:145–150, Feb. 2017. [Yur20] A. Yu. Yurin, N. O. Dorodnykh. Personal knowledge base designer: Software for expert systems prototyping. SoftwareX, 11:100411, Jan. 2020. [Shi17] A. O. Shigarov, A. A. Mikhailov. Rule-based spreadsheet data transformation from arbitrary to relational tables. Information Systems, 71:123–136, Nov. 2017. [Dor19] N. O. Dorodnykh, A. Yu. Yurin. Technology for rule-based expert system engineering based on model transformations. Novosibirsk, SB RAS, 2019. (in Russian). [Ere16] A. P. Eremeev. Development of the apparatus of decision tables in the context of creating hybrid intelligent systems. Proceedings of the 3rd All-Russian Pospelovsky Conference with International Participation – Hybrid and Synergetic Intelligent Sys- tems, 121–132, 2016. (in Russian). [Ber07] A. F. Berman, O. .A. Nikolaychuk. Technical state space of unique mechanical sys- tems. Journal of Machinery Manufacture and Reliability, 36(1):10–16, Jan. 2007. [Ber93] A. F. Berman, V L. Khramova. Automated data base for failures in pipelines and tubular high-pressure apparatus. Chemical and Petroleum Engineering, 29(2):63–66, Feb. 1993.