25. Muller, M. Geoinformationen fur die intelligente stadt - Gute entscheidungen leicht gemacht [Text] / M. Muller, T. Neder // Zeitschrift fur Geodäsie, Geoinformation und Landmanagement. - 2015. - Vol. 140, Issue 4. - P. 249-254.
Для автоматизаци аналiзу статв об&eктiв використан правила для представлення знань, а для гх вiдображення, ттерактивног обробки та перевiрки вдосконален моделi правил у виглядi 1/АБО-графа. Запропоновано 1Т з використан-ням редактора правил для розробки знання-орieнтованих систем контролю, за допомогою яког проводиться автоматизоване перетворення правил в мову продукцшного програмування
Ключовi слова: знанняорieнтована техноло-гiя контролю, модель правил контролю, 1/АБО-граф, експертн системи контролю
Для автоматизации анализа состояний объектов использованы правила для представления знаний, а для их отображения, интерактивной обработки и проверки усовершенствованные модели правил в виде И/ИЛИ-графа. Предложено ИТ с использованием редактора правил для разработки знаниеориентированных систем контроля, с помощью которой проводится автоматизированное преобразование правил в язык продукционного программирования
И/ИЛИ-граф, экспертные системы контроля
-□ □UDC 004.02 : 004.825 : 004.942
|DOI: 10.15587/1729-4061.2017.98727|
DEVELOPMENT OF INFORMATION TECHNOLOGY FOR THE GENERATION AND MAINTENANCE OF KNOWLEDGE-ORIENTED CONTROL SYSTEMS
V. Ruvi nskaya
PhD, Professor* E-mail: iolnlen@te.net.ua A. Troynina
PhD, Associate Professor* E-mail: anastasiyatroinina@gmail.com *Department of system software Odessa National Polytechnic University Shevchenka ave., 1, Odessa, Ukraine, 65044
Present-day requirements to the level of safety for trouble-free operation of objects necessitate improvement of automated control processes. Thus, in addition to monitoring, the control functions include analysis of the object parameters to determine its status and provide the decision maker (DM) with processed information.
The paper considers control systems with the following properties:
- limited number of object states;
- parameters can be logical or qualitative;
- the systems under investigation are not real-time systems;
- control conditions may vary.
The listed properties of control systems are characteristic for such object domains (OD) as labor protection, ecology and economics, medicine and sanitation, engineering and others. The control systems under investigation can work both independently and be integrated as a component in existing control systems, particularly, in automated monitoring and management systems.
To make decisions on the state of objects, rules are applied which are usually built into the control system. However, the control conditions for most systems change quite often, and a need of rule adjustment appears in maintaining such systems. Adaptation of traditional systems requires significant costs which leads to a slowdown in making changes and smaller decision validity. In addition, each parameter in many control systems is evaluated separately with no connection to others and this negatively affects validity of decision making concerning results of monitoring.
It is proposed to use knowledge-oriented systems in complex analysis of objects with a possibility of making rapid changes. This is due to the fact that the control task is not completely formalized and the control conditions are usually described declaratively and require an accumulated experts& experience for automation [1].
However, implementation of such systems is constrained on the one hand because of inconvenient mode of formation and updating of knowledge and on the other hand because of availability of only specialized tools for development of control systems, that is, the tools aimed at specific ODs. Consequently, there is a contradiction between the potential capabilities of intellectual knowledge-oriented systems and the insufficient level of their practical use due to imperfect information support tools for maintenance of knowledge bases (KB) and creation of control systems. Therefore, the scientific and technical task of developing new models, methods and IT for creating and maintaining control systems based on a knowledge-oriented approach is urgent and unresolved.
Expert control and monitoring systems for various ODs were analyzed. The issues of choosing implementation options for knowledge-oriented control systems embedded in a data network for improving service quality are elucidated in paper [2]. A knowledge-oriented monitoring, diagnostic and control systems for monitoring technical condition of transformer equipment have been developed in work [3]. In article [4], approaches are presented that realize control of the dynamic state of machines based on vibroacoustic vibrations. In work [5], a knowledge-oriented system for automation of temperature control in a glass furnace is described. An expert system REXPERT [6] is used in training students to control their knowledge. In paper [7], an expert system for monitoring level of driver vigilance is described. Knowledge-oriented systems are known that allow monitoring dangerous situations, particularly on roads [8].
Thus, it was concluded in the analysis of open printed sources devoted to this issue that there are control systems that implement information analysis for various ODs but no generally accepted and tested in practice common approach
to generation of control systems with an integrated expert analysis component was found. Therefore, the work sets the task of developing an IT which will generalize the processes of creating and maintaining knowledge-oriented control systems for various ODs.
Based on the analysis of the knowledge presentation models [9], it was decided to use production rules for control. Such a model favorably differs from others by low complexity, versatility, high modularity, small storage space and visualization abilities [10]. However, despite the similarity of such presentation to natural language presentation, it is necessary to note that this does not always mean that it is easy to formulate rules for use in knowledge-oriented systems. In addition, checking the rules in a text form is difficult if there is a multiplicity of rules. In particular, it is extremely difficult to monitor and verify relationships between rules. Therefore, methods of visualization and, on this basis, methods of rule verification, in particular, when constructing component configurations [11] are offered currently. The authors of work [12] proposed to use for the purpose of visualizing rules and interacting with them the AND/OR-graph which is an oriented circuit-free graph with all vertices divided into three disjoint classes: AND-vertices, OR-ver-tices and final (target) vertices [1]. For knowledge-oriented control systems, one vertex corresponds to the state of the object, and the rest are the values of the object&s parameters, and each path represents a set of conditions under which the monitored object state falls outside the acceptable limits.
However, there remains an open question of automatic transfer of the constructed graph representation of rules into the language of production programming. Therefore, the work study is aimed at creating ways of such transformation.
Within the framework of solving problems of validation and verification of production knowledge-oriented systems, the following dominant approaches were distinguished [13]: survey, empirical estimation, static verification, empirical testing.
Two of the approaches listed (survey and empirical estimation) are based on manual, rather than automated, validation and verification procedures [14]. The other two (static verification and empirical testing) are focused on automating validation and verification of systems.
Note that the KB checks are most effective at the early stages when a description of the basic concepts and OD interrelations in a natural language is created because an expert can work with knowledge at this stage. With static verification, so-called anomalies are detected: a static sample in the KB which involves presence of an error in the knowledge presented. Classification of methods of static verification for the knowledge representation model in a form of rules proposed in [15] was most popular. These methods are based on decision tables, generation of labels and graphs. However, most of the existing methods of static verification of rules require additional work from the user, in particular, in the construction of problem-oriented constraints [16]. Thus, for control rules, it is necessary to develop steps for verification of knowledge bases (KB) taking the methods proposed by the authors in [17] as a basis.
The study objective consisted in raising reliability of control through developing a new IT for generation and
maintenance of control systems based on a knowledge-oriented approach.
To achieve this goal, the following tasks have been accomplished:
- creation of an IT for construction and maintenance of knowledge-oriented control systems;
- transformation of rules from the AND/OR graph into the language of production programming;
- approbation of the developed methods and IT and their study for effectiveness when used in making decisions concerning the control results.
Basic information technology for creating knowledge-oriented systems includes the following stages [18]:
- the stage of obtaining knowledge: it includes analysis of the OD, concepts and their interrelations, determining feasibility of using a knowledge-oriented system in the selected area;
- the stage of structuring knowledge: an informal visual description of knowledge about the object domain is developed in the form of a graph, a table, a diagram or a text
IT for creation and maintenance of
reflecting basic concepts and interrelations between the concepts of the object domain;
- the stage of formalization: organization and presentation of knowledge in a form convenient for work of a knowledge-oriented system;
- the stage of implementation: creation of one or several prototypes of a knowledge-oriented system that solve the set tasks;
- the testing stage: the chosen method of representing knowledge of a knowledge-oriented system as a whole is evaluated;
- the maintenance phase: the process of improvement, optimization and correction of defects in the knowledge-oriented system after its commissioning.
An applied information technology for development of control systems is proposed (Table 1) based on the above mentioned basic technology using a tool in the form of a rule editor for creating, verifying and supporting control rules. The technology is based on the knowledge presentation model in a form of production rules as well as on the proposed model and methods for checking quality of control rules [17]. The proposed approach makes it possible to partially move the stage of testing knowledge to the earlier stages of development.
owledge-oriented control systems
Basic IT Applied IT for control systems
Stage 1 The acquisition of knowledge: - analysis of OD; - highlighting concepts; - expediency of developing a knowledge-oriented system - compiling an OD vocabulary; - identifying parameters of the objects of control; - selection of monitored states; - determination of feasibility of development in accordance with the criteria from the basic IT
Stage 2 Structuring: - visual representation and decomposition of concepts and relationships in a form of graph, table or text - construction of a hierarchy of concepts for OD, division into terminal and intermediate ones; - breaking knowledge into groups by the object states, one group for each state is used; with a large volume of the group, its division into subgroups is made; - construction of rules in a natural language and in a form of an AND/OR graph with the ability to convert from one form to another (in the rule editor); - automated checking of rules for consistency, completeness, availability of states (in the rule editor)
Stage 3 Formalization of knowledge: - representation of knowledge in a form that the inference engine uses - automatic transformation of each group (subgroup) of rules into the language of production programming taking into account the decrease in the time of logical inference due to the optimal assignment of priorities to the rules
Stage 4 Coding - choice of an existing inference engine or development of an own one; - completion of each group (subgroup) in accordance with the rules received at the stage of formal-ization; - combining of groups (subgroups) of rules into a common modular structure taking into account frequency of errors and triggering in two modes: 1) until the first discrepancy; 2) a complete check; - integration of KB and inference engines with two components of the control system; - the first one: for setting modes and obtaining parameters from the monitored object; - the second one: for outputting work results and organizing graphical user interface
Stage 5 Testing - debugging each group of rules: all conditions for emergency states as well as conditions for normal operation; - debugging the modular structure obtained by combining groups (subgroups) of rules; - integration testing of the control system
Stage 6 Maintenance - changing the rules of control (in the rule editor)
Steps 1-6 are performed iteratively until the system meets the user&s requirements
Stage 1. Obtaining knowledge on the object domain of control.
In work [20], a method is proposed for automated creation of dictionary of the object domain terms which is based on syntactic and semantic analysis of texts. On the basis of this method, a freeware program was created which implemented dictionary compilation using the mentioned method. The program makes it possible to view highlighted words and phrases, the number of their occurrences, frequency and also write the results to an .xml file.
Stage 2. Structuring knowledge for control.
- consistency check of each rule as well as the entire set of rules using the Boolean formula satisfiability task (SAT). This defines rules that can never be executed or will always
be executed. Both the first and the second cases are inadmissible and show contradictions in the system of rules;
- checking the rules for incompleteness based on the automatic construction and visualization of "inverse" rules describing in which cases the monitored state of the subject is normal;
- checking reachability of the object state vertex from the set of rules.
Stage 3. Formalization of knowledge for control.
Stage 4. Implementation of knowledge-oriented control systems.
The order of execution of the modules is assigned based on the frequency of error appearance (the group for which violations are most frequently detected during control is started first).
To ensure an optimal combination of the knowledge-oriented system modules, various modes of module actuation were identified and two combination modes were proposed on their basis. In the first mode (fast mode), the decision that the monitored state of an object is beyond the tolerance limits is made according to the first group of rules which were violated and the modules are not started further. The second mode of operation of a knowledge-oriented system involves actuation of all modules which makes it possible to identify all the problems.
- the first one is for setting the modes and obtaining parameters from the controlled object;
- the second one is for outputting the work results and organizing graphical user interface.
Stage 5. Debugging knowledge-oriented control systems.
Stage 6. First of all, maintenance includes changing of the control rules. It is supposed to make prompt changes to the rules, preferably by the expert (in the rule editor).
Some subitems of stages 1 to 6 can be performed in different sequences, and often iteratively. It is convenient, for example, to the knowledge engineer together with the expert to imagine first what rule groups can be, then define the entities and states for each group and finally construct the rules. Further, rules must be checked and when discrepancies and mistakes are corrected, return to the previous steps is made.
In the practice of creating knowledge-oriented systems, the sequence of steps can be somewhat changed. For example, first build the rules, next select parameters and their values from them simultaneously correcting the rules and then the rules are divided into groups and checked.
As a result of browsing the visualized graph, the knowledge engineer along with the expert can review the rules, identify inconsistencies and logical errors in the earlier built rules, parameters and their values, and fix them.
Similarly, stages 4 and 5 are performed iteratively, like it is done when developing any software systems.
The proposed IT is designed in corpore for creation of KBs analyzing precise parameters of the controlled object. However, if parameters are fuzzy [21], then most of the IT stages are executed in full. There are tools for coding knowledge-oriented systems with unfuzzy rules, in particular Clips as well as FuzzyClips for fuzzy rules and the control rules obtained in stage 2 are converted into production languages for these systems.
For formalization of knowledge, freely distributed development environment CLIPS (C Language Integrated Production System) was chosen [9].
The facts in CLIPS are a piece of data placed in the current list of system facts (working memory). The rules consist of premises and conclusions. Premises of the rules are satisfied depending on the presence or absence of some specified facts in the list of facts. Conditional elements in a form of patterns consist of a list of field constraints, wildcards and variables that are used to find a set of facts that correspond to a given pattern. A rule effect is represented by a set of actions to be performed in a case when the rule is applicable to the current situation. Priorities (saliences) can be assigned to rules.
According to the proposed IT, each group (subgroup) of rules generated in the rule editor at the structuring stage is automatically transformed into the CLIPS production programming language at stage 3. 2 taking into account reduction of the logical conclusion time due to the optimal assignment of priorities to the rules.
To reduce the number of rules actuated during the control, higher priorities are assigned to the rules based of the following considerations:
- the rules containing premises common to many rules must be fulfilled earlier, since such premises are the most significant in the control and thus, if they are executed, it is more likely that some rule will be actuated and the control will end;
- the rules that have a smaller number of premises should be fulfilled earlier, since there will be fewer checks in this case.
A template of the module pre-designed for the control rules has been formed, the same for any control rules and consisting of control rules designed to output the result,
functions necessary to obtain input data and the structures necessary for storing and processing facts. It is possible to create both a console and a graphical user interface. And then rules from the specific AND/OR graph are added to the template module.
For example, Fig. 1 presents rules of the &Network& subgroup of the &Problems in the computer network& object domain as a graph. It can be seen that there are 4 input parameters on the left: traffic (normal or low), number of queries (high or low), query processing time (high or low), CPU load (high or low). On the right, there is the verdict whether there are any problems in the network. Between the input parameters and the verdict, intermediate conclusions are given.
Fig. 2 shows the levels of subgroup rules, since they are represented in the resulting program in CLIPS. Each previous level of nesting depends only on the following. The first level: the rules that determine values of the input parameters, level 4: terminal level, levels 2 and 3: intermediate levels.
Consider the stages of rule transformation.
The description of the AND/OR graph for the rule editor is stored in an XML file. The first step is to select names of the parameters and their possible values from the file. The received information automatically generates the first level rules which determine the values of the input data for control.
An example of a CLIPS rule that defines the query processing time is shown below:
(defrule dop-three
(not (av (a query_time )(v ?)
(not (result ?))
(if (yes-or-no-p "Is query processing time high? (yes/ no) ")
(assert (av (a query_time) (v High)))
(assert (av (a query_time) (v Normal))))
If there is still no data in the facts database on the query processing time and there are no results of inference, the question is asked to the user and depending on the answer, a fact is established. The yes-or-no-p function is used from the previously prepared template. Of course, the time for processing queries in the knowledge-oriented system built into the network management system, is determined automatically and sent to the input of the rule base without asking the user. There may be a more complicated case when there are not two but more answers. In this case, another function is used from the template.
The next step is formation of intermediate rules, there may be several of them: Fig. 2 shows two levels with two and three rules at each, respectively. The last step is creation of a terminal rule in the conclusions of which contain the state of the controlled object, e. g., the rule of the following type:
(defrule final1
(or (av (a connection_instability) (v Connection_insta-bility))
(av (a network_instability) (v Network_instability))
(not (result ?))
(assert (av (a state) (v Problem in network)))
(assert (result "Problem in network")))
Fig. 1. AND/OR graph for the &Network& subgroup of rules
By the example of network control given in Fig. 3, all branches are shown for which the &Network& subgroup was tested.
Fig. 2. Levels of rules for the &Network& subgroup
Run environment Clips
Fig. 4. User interface
Fig. 3. The decision tree used for testing ES
Fig. 4 shows a fragment of the consultation when the user must answer a number of questions after which the consultation result will be displayed.
Based on the proposed rule editor and IT, it is possible to create a knowledge-oriented system for user consulting with the use of a graphical interface without writing a single line of code.
The presented work is a continuation of the research related to the development of models and methods for creating and maintaining knowledge-oriented control systems that formed the basis of the information technology proposed here.
The work was carried out within the framework of the state budgetary themes of the Ministry of Education and Science of Ukraine, scientific research of the Department of System Software of the National Polytechnic University (ONPU), Odesa, Ukraine, titled "Methods, Models and Means for Analyzing and Improving Performance of Computer Systems" No. DR 0110U0008193.
On the basis of the IT and the rule editor, effective prototypes of ES control were created.
ES for safe work with electrical installations is used in making decisions by the dispatcher about the possibility of carrying out works with electrical installations. Data about the parameters of objects are entered manually by the dispatcher or automatic control means are used that measure room temperature, humidity and other parameters. The ES determines whether the safety requirements are met and, in the event of violations, notifies the dispatcher.
When the system was tested by an expert, the dispatcher&s work log was analyzed two months before the system was first used and for two months during the system operation (Fig. 5-8). The expert looked through the dispatcher&s decisions in the reports and identified how many mistakes
of the first kind were made when the dispatcher made the wrong decisions that the work cannot be performed, and mistakes of the second kind when the dispatcher made wrong decisions that works could be done. Validity of correct decisions was also calculated as a probability measure determining the ratio of correct decisions to the total number of decisions (before the system was introduced and with its application, Fig. 9).
Validity of correct dispatcher&s decisions before applying the ES was 0.85; validity of correct decisions within two months after the ES application was 0.97 (Fig. 9). Thus, the validity of the dispatcher&s decisions increased by 12 %: (0,97/0,85-1)* 100=12.
Dispatcher&s decisions made before the ES was introduced, March
Wrong decisions
Correct decisions
Week days
Fig. 5. Dispatcher&s decisions made before the ES was introduced, March
Dispatcher&s decisions made before the ES was introduced, ^ April ^ Wrong decisions
■ Correct decisions
Week days
Fig. 6. Dispatcher&s decisions made before the ES was introduced, April
£ 35 "o 30
Dispatcher&s decisions made after the ES was introduced, June
Wrong decisions
Week days
Fig. 7. Dispatcher&s decisions made after the ES was introduced, June
.2 30 &o
Dispatcher&s decisions made after the ES was introduced,
_Wrong decisions
I Correct decisions
Week days
Fig. 8. Dispatcher&s decisions made after the ES was introduced, July
Fig. 9. Validity of decisions made before and after using the ES
IT is universal in nature and is supposed to be applicable for a wide range of object domains described earlier, therefore further research areas involve analysis of features and development of knowledge-oriented control systems for various applications: not only for decision-making but also for training.
The work is devoted to the development of an IT for generation and support of knowledge-oriented control systems. The development process was greatly simplified due to the visualization of knowledge and its automated verification.
check them. On its basis, an IT was proposed for development and maintenance of knowledge-oriented control systems.
References
Dzharatanno, D. Ekspertnye sistemy: principy razrabotki i programmirovaniya [Text] / D. Dzharatanno, G. Rajli. - 4-oe izd. - Moscow: OOO «I. D. Vil&yams», 2007. - 1152 p.
Yazlovetskiy, Ya. S. Sravnitelnyiy analiz ekspertnyih sistem kontrolya kachestva obsluzhivaniya v setyah peredachi dannyih [Text] / Ya. S. Yazlovetskiy, L. N. Velichko // Vesnik svyazi. - 2015. - Issue 2 (130). - P. 49-54.