<!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>(1) Институт динамики систем и теории управления имени В.М. Матросова СО РАН, г. Иркутск</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexandr F. Berman</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nikita O. Dorodnykh</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olga A. Nikolaychuk</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexandr Yu. Yurin</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The paper describes an approach for the computer-aided development of rule-based knowledge bases on the basis of analysis of fault trees represented with the aid of the author's notation. The approach is based on the extraction of structural elements from the fault trees specification and converting them to the target constructions of knowledge representation language, in particular, CLIPS. The description of main approach stages, the analyzed structures of fault trees in the XML-format are presented.</p>
      </abstract>
      <kwd-group>
        <kwd>knowledge acquisition</kwd>
        <kwd>knowledge base</kwd>
        <kwd>fault trees</kwd>
        <kwd>model transformation</kwd>
        <kwd>code generation</kwd>
        <kwd>CLIPS</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Введение. В настоящее время разработка новых методов и подходов к созданию
интеллектуальных систем и, в частности, проблемно-ориентированных систем анализа риска
опасных технических систем остается перспективной областью научных исследований [1,
8-9]. Базовым компонентом (ядром) таких систем является база знаний (БЗ),
представленная на определенном языке представления знаний (ЯПЗ). Основную сложность при
разработке БЗ представляет этап формализации [6], эффективность которого может быть
повышена путем автоматической генерации кода БЗ на основе трансформации различных
концептуальных моделей (например, диаграмм классов UML, концепт-карт и т.д.) [7].</p>
      <p>На сегодняшний день существует множество различных языков для представления
концептуальных моделей предметной области (например, DFD, IDEF0, IDEF5, UML и
т.д.), а также разрабатываются нотации для отражения специфических особенностей
моделей представления знаний (например, Rule Visual Modeling Language (RVML) [10]).
Подобные нотации ориентированы, прежде всего, на системных аналитиков, программистов,
инженеров по знаниям и т.д. При этом специалисты-предметники предпочитают модели
общесистемной направленности и ориентированные на систематизацию знаний или
поддержку принятия решений (например, концептуальные карты, диаграммы Венна и
Ишикавы, и т.д.). К таким моделям можно отнести «деревья отказов» и «деревья событий»,
применяемые в области анализа отказов и риска технических систем (fault tree analysis,
event tree analysis). Результаты моделирования в нотациях подобного типа не только
содержат специальные знания, используемые при решении предметных задач, но и являются
удобным и понятным для специалиста-предметника способом их представления.</p>
      <p>Для построения деревьев событий и отказов существуют программные системы в
форме редакторов с возможностью выполнения специализированных расчетов. Анализ
подобных систем показал, что они не предполагают дальнейшее использование знаний,
заключенных в созданных специалистами деревьях, и направлены на решение частных
задач.</p>
      <p>Целью данной работы является создание подхода к автоматизированной разработке
продукционных БЗ на основе анализа деревьев отказов. В качестве целевого ЯПЗ выбран –
CLIPS (C Language Integrated Production System).</p>
      <p>Задача анализа деревьев отказов и их преобразования в БЗ может быть сведена к
задаче трансформации моделей, представляющей, в общем случае, процесс автоматической
генерации целевой модели по исходной модели, в соответствии с набором правил
трансформации (преобразования). При этом под правилом преобразования подразумевается
описание того, как одна или более конструкций на исходном языке моделирования может
быть преобразована (mapping) в одну или более конструкций на целевом языке
моделирования [3].</p>
      <p>Трансформация моделей является одной из основных составляющих
модельноориентированного (-управляемого) подхода к разработке программного обеспечения
(Model-Driven Engineering, MDE) [3]. В рамках данного подхода, процесс разработки
программного обеспечения представляет собой последовательное преобразование моделей с
разным уровнем детализации, где на завершающем этапе генерируется исходный код
программы.</p>
      <p>Формализуем постановку задачи, в которой необходимо определить оператор
преобразования концептуальной модели T :
этом KB = CodeCLIPS .</p>
      <p>Структура деревьев отказов. Дерево отказов, ДО (дерево неисправностей) –
упорядоченное графическое представление логико-вероятностной связи случайных событий
(нарушений, отказов, ошибок и т.д.), приводящих к реализации нежелательного конечного
события. Анализ дерева отказов заключается в определении и анализе условий и факторов
(комбинации отказов (неполадок) оборудования, инцидентов, ошибок персонала и
нерасчетных внешних (техногенных и природных) воздействий), которые приводят или могут
привести к возникновению негативных завершающих событий – полной или частичной
Стадия отказа
(макроуровень)</p>
      <p>Стадия
разрушения
(мезоуровень)
…</p>
      <p>…
Событие 3.1</p>
      <p>Событие 3.2
утрате функций, деградации рабочих характеристик изделия, ухудшению безопасности
или других важных рабочих свойств. При построении дерева отказов используется
обратная логика.</p>
      <p>Авторами предложено расширить существующую модель ДО и визуальную нотацию
их представления для получения более полной информации об исследуемых процессах
возникновения отказов [4]. В частности, на основании результатов системного анализа
проблемы исследования динамики технического состояния механической системы
выделены стадии развития обозначенных процессов (субмикроуровень, микроуровень,
мезоуровень, макроуровень) и элементы их описания (механизм и кинетика). В свою очередь
кинетика, рассматриваемая как последовательность событий, должна быть детализирована
описанием параметров (характеристик) событий. В результате в обобщенном виде
получен шаблон дерева, описывающий стадии, последовательность событий (кинетика) и
механизмы их возникновения (рис. 1).
Событие отказа
Рис. 1. Шаблон расширенной модели ДО, ○ – логический оператор, И, ИЛИ, исключающее ИЛИ
При отсутствии описаний элементов дерева, расширяющих классическую нотацию,
мы получим общепринятое на данный момент дерево.</p>
      <p>Особо необходимо сказать о механизме процесса (в предлагаемой визуальной
нотации – это треугольник). Механизм процесса – это совокупность свойств объекта и
факторов, воздействующих на него. Механизм может быть описан в виде продукции (правила)
следующей структуры (шаблона правила) [4]:
ЕСЛИ ( Свойство объекта1 И ...И Свойство объекта n ) И
( Воздействующий фактор1 И ...И Воздействующий факторn )
Событие 2.1</p>
      <p>Событие 2.2
М21
М22</p>
      <p>…
М12
…
…
…</p>
      <p>…
М11
…
…
М1N1
…
…
М2N2
…
ТО Механизм j-стадии развития i-исследуемого процесса И
( Событие1 o...oСобытиеn ), где o – некоторая логическая операция, o∈{∧,∨,⊕} .</p>
      <p>Метамодель (abstract syntax) расширенной модели ДО, определяющая в абстрактной
форме основные концепты, из которых состоит ДО, представлена на рисунке 2.
Построенная метамодель соответствует мета-метамодели Ecore и в дальнейшем используется в
качестве исходной метамодели при разработке правил трансформации (модели трансформации),
описывающих соответствия между элементами данной метамодели и целевой метамодели
БЗ.</p>
      <p>На настоящее время не существует единого общепринятого формата (стандарта
текстовой нотации) для представления ДО, пригодного для машинной обработки. Учитывая
этот факт, а также исходя из специфики расширения модели ДО дополнительными
элементами (механизм и кинетика), принято решение о разработке собственного формата
(спецификации) сериализации ДО на XML. Формат XML является универсальным и
наиболее распространенным способом интеграции программных систем и обеспечения
обмена информацией между приложениями.</p>
      <p>Рис. 2. Метамодель расширенной модели ДО
Описание разработанного XML-формата (concrete syntax) расширенной модели ДО,
определяющее основные XML-конструкции, представлено в таблице 1.</p>
      <p>Алгоритм преобразования деревьев событий. Для решения поставленной задачи
(1), специализируем обобщенный алгоритм трансформации концептуальных моделей в
код БЗ, описанный в работе [5]. Основной задачей разработанного алгоритмического
обеспечения является преобразование (mapping) элементов расширенной модели ДО,
представленной в формате XML, в конструкции ЯПЗ CLIPS, что может быть представлено
в виде последовательности действий.</p>
      <p>На этапах 1 и 2 такого преобразования, средствами внешних программ
(редакторов), пользователь (эксперт) строит ДО, описывающее последовательности событий,
приводящие к рассматриваемому отказу, и представляет (сохраняет) его в формате XML. На
этапе 3 процесса анализа XML-структуры ДО, выделяются элементы дерева и их
отношения. Далее (этап 4) на их основе автоматически формируется (генерируется) модель
продукций, как универсальное представление знаний в виде продукционных правил,
независящее от используемого ЯПЗ (например, CLIPS, JESS, Drools, RuleML, SWRL и т.д.).
Данная модель может содержать правила с несколькими условиями и разными типами
операторов (например, «and», «or», «not»). Описание модели продукции приводится в [7]. При
помощи специальной графической нотации RVML [10] предоставляется возможность
визуализации, модификации (проверки) полученных продукций (этап 5). В алгоритме
преобразования учитывается, что при построении ДО используется обратная логика, поэтому
продукция создается на основе анализа дерева «снизу вверх» в отличие от построения
дерева событий. На этапе 6 происходит генерация кода БЗ в формате CLIPS на основе
сформированной модели продукций.</p>
      <p>Элементы XML
структуры ДО</p>
      <p>System
Component</p>
      <p>Element</p>
      <p>FaultTree
ProcessStage
FaultEvent</p>
      <p>Mechanism</p>
      <p>ObjectProperty
InfluencingFactor
ProcessMechanism</p>
      <p>Kinetics</p>
      <p>Event
Parameter
Operator
Таблица 1. XML-формат представления расширенной модели ДО</p>
      <p>Описание
Информация об исследуемом объекте, например, завод, линия,
от</p>
      <p>деление, механическая система.
Информация о структурной иерархии исследуемого объекта
Информация о структурном элементе механической системы</p>
      <p>Общая информация о ДО
Общая информация о стадии процесса</p>
      <p>Информация об событии отказа
Общая информация о механизме процесса
Информация о свойстве объекта (элемента системы)</p>
      <p>Информация о воздействующем факторе
Информация о механизме стадии развития исследуемого процесса</p>
      <p>Общая информация о кинетике
Информация о конкретном событии
Информация о параметрах события
Логический оператор: И, ИЛИ, исключающее ИЛИ
Таким образом, уточним оператор преобразования концептуальной модели из (1):
T = TCM −RM ,TRM −KB , TCM −RM : M XFMTL → M PR , TRM −KB : M PR → CodeCLIPS
(2)
где TCM −RM – оператор преобразования ДО в модель продукций; TRM −KB – оператор
модели продукций в код БЗ на ЯПЗ CLIPS; M XFMTL – представление расширенной модели
ДО в XML-формате; M PR – представление полученных знаний в виде модели продукций;
CodeCLIPS – код БЗ на ЯПЗ CLIPS.</p>
      <p>Реализация алгоритма. Реализация разработанного алгоритмического обеспечения
осуществлялась с использованием специализированной технологии автоматизации
разработки программных компонентов систем, основанных на знаниях, обеспечивающих
генерацию кода БЗ на основе трансформации концептуальных моделей [5] и
соответствующего веб-ориентированного программного средства – Knowledge Base Development System
(KBDS) [2]. В частности, разработан экспериментальный программный компонент для
генерации модели продукций на основе трансформации ДО. Процесс разработки
соответствует этапам создания программного компонента, описанным в [5].</p>
      <p>Заключение. В настоящей работе предлагается подход к автоматизированной
разработке продукционных БЗ для проблемно-ориентированных систем анализа риска опасных
технических объектов. Подход основан на анализе структурных элементов ДО,
расширенных конструкциями механизма процесса и кинетики, и их преобразования в конструкции
целевого ЯПЗ CLIPS. Такой подход позволяет, с одной стороны, избежать ошибок
программирования на этапе формализации знаний за счет автоматической кодогенерации, а
также сократить время, затрачиваемое на разработку БЗ, с другой – приблизить
специалистов-предметников к непосредственной разработке интеллектуальных компонентов
проблемно-ориентированных программных систем, позволяя им создавать программный код,
оперируя понятными предметно-ориентированными моделями.</p>
      <p>Работа выполнена при частичной финансовой поддержке РФФИ (гранты № №
18-0701164, 18-08-00560).</p>
      <p>Результаты получены при использовании сетевой инфраструктуры ЦКП
«Интегрированная информационно-вычислительная сеть Иркутского научно-образовательного
комплекса» (http://net.icc.ru).
[7] Грищенко М.А., Дородных Н.О., Николайчук О.А., Юрин А.Ю. Применение
модельно-управляемого подхода для создания продукционных экспертных систем и баз
знаний // Искусственный интеллект и принятие решений. 2016. №2. С. 16–29.
[8] Массель Л.В., Массель А.Г. Интеллектуальные вычисления в исследованиях
направлений развития энергетики // Известия Томского политехнического университета.
2012. Т. 321. № 5. Управление, вычислительная техника и информатика. С. 135–141.
[9] Ноженкова Л.Ф., Ничепорчук В.В., Ноженков А.И. Создание комплексной системы
безопасности региона на основе системной интеграции технологий //
Информатизация и связь. 2013. №2. С. 122–124.
[10] Юрин А.Ю. Нотация для проектирования баз знаний продукционных экспертных
систем // Объектные системы. 2016. №12. С. 48–54.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>ЛИТЕРАТУРА</source>
          [1]
          <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>
          ,
          <string-name>
            <surname>Pavlov</surname>
            <given-names>A.I.</given-names>
          </string-name>
          <article-title>A methodology for the investi-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Reliability</surname>
          </string-name>
          .
          <year>2014</year>
          . Vol.
          <volume>228</volume>
          , No. 1. Pp.
          <volume>29</volume>
          -
          <fpage>38</fpage>
          . [2]
          <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</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <source>ligent Systems</source>
          .
          <year>2017</year>
          . Vol.
          <volume>7</volume>
          . P.
          <volume>145</volume>
          -
          <fpage>150</fpage>
          . [3]
          <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. MDA</given-names>
          </string-name>
          <article-title>Explained: The Model-Driven Architecture: Practice</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>and Promise. 1st ed. Addison-Wesley Professional</source>
          ,
          <year>2003</year>
          . 192 p. [
          <volume>4</volume>
          ]
          <string-name>
            <surname>Берман</surname>
            <given-names>А.Ф.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Николайчук</surname>
            <given-names>О</given-names>
          </string-name>
          .А.,
          <string-name>
            <surname>Павлов</surname>
            <given-names>Н</given-names>
          </string-name>
          .Ю.,
          <string-name>
            <surname>Юрин</surname>
            <given-names>А</given-names>
          </string-name>
          .Ю.
          <article-title>Методы и средства авто-</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>