О нас | Наши сервисы | Контакты

Язык визуального моделирования правил
Rule Visual Modeling Language

Personal Knowledge Base Designer

Спецификация 2.2015

Rule Visual Modeling Language (RVML) - Язык визуального моделирования правил предназначен для моделирования и описания логических правил, обладает большей выразительностью при описании причинно-следственных зависимостей по сравнению с UML, в частности RVML позволяет:

  • использовать отдельные графические примитивы для отображения всех элементов продукций (а не стереотипы или типизированные классы как в UML);
  • присваивать отдельным фактам субъективные вероятности в виде коэффициентов уверенности;
  • более наглядно отображать тип выполняемых действий (добавление, удаление, остановка);
  • отображать логические операторы в условиях правил («или» и «не»).

Основные элементы RVML

Элемент Изображение элемента Пример применения
Шаблон Шаблон на RVML Шаблон на RVML - пример применения
Факт Факт на RVML Факт на RVML - пример применения
Условие Условие на RVML Условие на RVML - пример применения
Узловой элемент правила («Ядро») Узловой элемент правила («Ядро») на RVML Узловой элемент правила («Ядро») на RVML - пример применения
Связь между элементами (модификация факта) Связь между элементами на RVML
Добавление факта Добавление факта на RVML
Удаление факта Удаление факта на RVML
Явное указание на шаблон при создании факта Явное указание на шаблон при создании факта на RVML Явное указание на шаблон при создании факта на RVML - пример применения

Описание элементов RVML в нотации Бэкуса-Науэра:

<правило> ::= <множество условий> | <узловой элемент> | <действие>
<множество условий> ::= <условие> | <множество условий> <логический элемент> <условие>
<логический элемент> ::= НЕ|ИЛИ
<действие> ::= <действие> <факт> | <факт>
<факт> ::= <набор слотов>
<набор слотов> ::= <слот> | <слот> <набор слотов>
<слот> ::= <имя слота> = <значение> | <имя слота> <знак> <значение>
<имя слота> ::= <последовательность символов>
<тип> ::= строка | символ | число
<значение> ::= <число> | <последовательность символов>| <символ> | [<значение>] | <число>, <значение> | <последовательность символов>, <значение> | <последовательность символов>, <значение>
<знак> ::= > | < | = | >= | <= | <>
<КУ> ::= [0,1] (коэффициент уверенности)
<В> ::= [1,100] (важность)

Примеры применения

Рассмотрим пример применения нотации RVML на примере описания простейших правил. Пример 1: Рассмотрим правило: «если двигатель не заводится и стартер двигателя не работает, то с большой определенностью можно сказать, что неполадки в системе электропитания стартера». После проведения концептуализации и выделения основных понятий, таких как: двигатель, стартер, результат диагностирования данное правило может данное правило может быть формализовано в следующем виде:

ЕСЛИ «двигатель не заводится» (с уверенностью 1) и «стартер двигателя не работает» (с уверенностью 1) ТО «неполадки в системе электропитания стартера» (с уверенностью 1).

С помощью RVML данное правило может быть визуально представлено следующим образом:

Пример RVML правила

Данной графической модели буде соответствовать следующий код на CLIPS:
(defrule des-mechanism-des-ky "Описание правила: Правило выявления механизма разрушения"
(exist-meh-dam ;Наблюдаемый механизм повреждения
(caption-meh "КОРРОЗИОННОЕ РАСТРЕСКИВАНИЕ")
)
(exist-dam ;Наблюдаемые повреждения
(caption-dam "ТРЕЩИНА (Ы) - ПОВРЕЖДЕНИЕ")
(dam-glubina "МЕНЕЕ 4")
)
=>
(assert
(exist-meh-des ;Наблюдаемый механизм разрушения
(caption-meh "КОРРОЗИОННОЕ РАСТРЕСКИВАНИЕ")
))
)



RSS.The Knowledge Core Новости: