
- •Оглавление
- •1. Классификации технологий разработки информационных систем
- •1.1. Классификация технологий разработки информационных систем в соответствии с научно-техническими направлениями их создания
- •1.2. Классификация технологий разработки информационных систем, созданная в рамках направления менеджмента – реинжиниринга бизнес-процессов
- •2. Жизненный цикл разработки информационных систем и его модели
- •2.1. Каскадная модель
- •2.2. Спиральная модель
- •3. Методологии разработки информационных систем
- •3.1. Структурная методология разработки информационных систем idef
- •Правила определения сущностей
- •Правила определения атрибутов
- •Первичные и альтернативные ключи
- •Правила определения отношений
- •Отношения категоризации
- •Правила определения отношений категоризации
- •Основные правила формирования информационной модели
- •"Функциональный аспект" рассмотрения системы
- •3.2. Объектно-ориентированные методологии разработки информационных систем
- •3.2.1. Методики объектно-ориентированного анализа
- •3.2.2. Объектно-ориентированный процесс разработки rup
- •3.3. Методология создания информационных систем Datarun, ориентированая на данные
- •4. Case-средства разработки информационных систем
- •4.1. Классификация case-средств
- •Диаграммные средства
- •4.2. Подход к интеллектуализации case-средств
- •4.2.1. Гибридная модель проблемной области case-системы
- •4.2.2. Синтаксис многоуровневой логики
- •4.2.3. Дедуктивный вывод в многоуровневой логике
- •4.2.3.1. Алгоритм сколемизации
- •4.2.3.2. Алгоритм унификации
- •4.2.3.3. Особенности использования линейной входной резолюции в многоуровневой логике
- •4.2.3.4. Иерархическая абстракция и продукционная модель
- •4.2.4. Программное инструментальное средство для моделирования сложноструктурированной проблемной области как компонента информационной базы проекта в case-системах
- •4.2.4.1. Архитектура программного инструментального средства «Инфолог»
- •4.2.4.2. Концептуальный язык описания сложноструктурированной проблемной области
- •4.2.4.3 Реализация программного инструментального средства «Инфолог»
- •5. Технология разработки интеллектуальных систем «логсемис»
- •5.1. Методология разработки интеллектуальных систем «логсемис»
- •Алгоритм генерирования метаправил
- •5.2. Программное инструментальное средство поддержки методологии «логсемис»
- •6. Задания на лабораторные работы
- •7. Контрольные вопросы
- •Библиографический список рекомендуемой литературы «Информационная инженерия»
4.2.2. Синтаксис многоуровневой логики
Определим синтаксис MLL.
Алфавит:
1) константы: а,b,c,...; X,Y,Z (константные множества),...;
2) переменные: x,y,z,...;
3) функциональные символы: f,g,h,...;
4) предикатные символы: P,Q,R,...;
5) кванторы: , ;
6) логические связки: &, V, , ;
7) вспомогательные символы: #,*,/,/,//,{,},(,).
Термы.
1). Любая константа или переменная является термом.
2). Если f есть n-местный функциональный символ и t1,t2,...,tn являются термами, то f(t1,t2,...,tn) есть терм.
3). Все термы получаются применением (1) и (2).
Правила образования ППФ.
F1. Если Р является n-местным предикатным символом и t1,t2,...,tn есть термы, то P ( t1,t2,...,tn ) является ППФ (атомарной формулой).
F2. Если F и G ППФ, то F, F&G, FG, FG являются ППФ.
F3. Если F ППФ, θ{,}, х – переменная, а y – константа или переменная, то: (θxy)F – ППФ, где {/, /, //}.
F4. Других правил образования ППФ нет.
Слэшем назовем некоторый разделитель, который используется в префиксе формулы. Так, простой слэш (θx/X) используется для обозначения, что х является элементом множества Х (xX), простой «жирный» слэш (θx/X) обозначает, что х определен на множестве, элементами которого являются компоненты объекта Х (Xx), двойной слэш (θx// X) обозначает, что х определен на множестве, элементами которого являются части объекта Х (Xx), где θ{,}. Отметим, что:
(x/X) P(x) ↔ x (Element_of(x,X) P(x))
(x/X) P(x) ↔ x (Element_of(x,X) &P(x))
(x/X) P(x) ↔ x (Component_of(x,X) P(x))
(x/X) P(x) ↔ x (Component_of (x,X) & P(x))
(x//X) P(x) ↔ x (Part_of(x,X) P(x))
(x//X) P(x) ↔ x (Part_of(x,X) &P(x))
|
|
|
|
Рис. 19. Пример иерархической структуры
-
- отношение “Part-of’” ( )
Таким образом, семантика MLL совпадает с семантикой логики 1-го порядка. Приведем эквивалентные выражения в MLL:
1) (x/{a}) P(x) ↔ P(a);
2) ( x/{a}) P(x) ↔ P(a);
3) (x/X) P(x) ↔(x/<X>) P(x);
4) (x/X) P(x) ↔(x/<X>)P(x);
5) (x//X) P(x) ↔ (y/X) (x/y) P(x);
6) (x//X) P(x) ↔ (y/X) (x/y) P(x).
Примечание. В 5) и 6) переменная y не имеет вхождения в Р.
Если объект Y имеет в качестве компонента объект Х, то для того, чтобы задать свойства объекта хХ, который является частью объекта Y, имеется формула: (θx//#Y) G( x ), (1)
где # – обозначение константы; θ{,}; G(х) – предикат, задающий свойства объекта х (атрибут).
Формула (1) записана в стандартной форме для MLL. Если объект Y имеет в качестве компонентов несколько объектов, как показано на рис. 19, то для того, чтобы задать компонент Х объекта Y, необходимо использовать селектор, который представляется предикатом F(X,Y). Для задания того, что объект хХ, который является частью объекта Y, обладает свойством G, имеется формула:
( X/#Y)( θx/X) [F(X,Y) & G(x)] . (2)
Формула (2) может быть преобразована к стандартной форме:
(θx//#Y) [F(х,Y)&G(x)]. (3)
Предикат-селектор F(X,Y) используется для указания компонента X: θxХ, θ{,}, в формуле (2) обладают свойством G, или объектов компонента Х, которые являются частями объекта Y и обладают свойством G, в формуле (3).
Используя формализм задания структурных отношений в префиксе формулы, автором предлагается замена селектора, который представляется предикатом и используется для нахождения нужной компоненты некоторого объекта, на композицию префикса. Целью такой замены является удаление этого предиката из матрицы формулы. Рассмотрим предложенную модификацию синтаксиса MLL.
Пусть объект #Y имеет в качестве компонентов несколько объектов, т.е. <#Y> = {Xi} , i=1..N , тогда для задания того, что xXi , являющийся частью объекта #Y, обладает свойством G, используется формула:
(θ(x/Xi)//#Y) G(x), (4)
где θ {, }; Xi задает сортность х.
Определение 3. #Y, заданный в формуле (4), будем называть - предком для х.
Так, модифицированные правила построения ППФ имеют следующий вид.
F1. Если Р является n-местным предикатным символом и t1,t2,...,tn есть термы, то P ( t1,t2,...,tn ) является ППФ (атомарной формулой).
F2. Если F и G ППФ, то (F), (F&G), (FG), (FG) являются ППФ.
F3. Если F ППФ, θ {,}, х – переменная, а y – константа или переменная, то:
1) (θ xy)F – ППФ, где {/, /, //};
2) (θ (x/Z)//y)F – ППФ, где Z есть константное множество.
F4. Других правил образования ППФ нет.
Преимущества модифицированных правил построения ППФ заключаются в следующем:
не затрачивается время на унификацию предиката-селектора;
не затрачивается память на хранение многочисленных фактов проблемной среды для означивания переменных в предикате-селекторе.
Отметим, что:
((x/X)//#Y) G(x)↔ (X/#Y)(x/X) F(X,Y)&G(x)↔(x//#Y) F(x,Y)&G(x) ↔ xy (Part_of(x,y)&F(x,y)→G(x)) и
((x/X)//#Y) G(x)↔ (X/#Y)(x/X) F(X,Y)&G(x)↔(x//#Y) F(x,Y)&G(x) ↔ xy (Part_of(x,y)&F(x,y)→G(x)).
Формализуем некоторое утверждение на естественном языке на языке MLL и многосортной логики (MSL), которая является развитием логики 1-го порядка.
Пример 1. Программная подсистема х, входящая в состав интеллектуальной системы поддержки принятия решений (ИСППР) #Р, обеспечивает посадку самолета у, приписанного к аэропорту #А, если имеется :
ЭВМ t, на которой функционирует х;
радиолокационная станция (РЛС) s, соединенная с ЭВМ t;
поток информации #I1, содержащий поток сообщений , принимаемый РЛС s и содержащий класс сообщений , описывающий самолет y и обрабатываемый x;
поток информации #I2, содержащий поток сообщений, передающийся РЛС s, в который входит класс сообщений , содержащий сведения, необходимые для посадки самолета y, вырабатываемый x и принимаемый у.
Иерархические структуры представлены на рис. 20, где Р1, Р2 и Р3 – программные подсистемы, #О – объект управления.
Запись в MSL:
(#А/Аэропорт)(#Р/ИСППР)(x/программная_подсистема)(y/самолет) (s/РЛС)(t/ЭВМ)(#I1/поток_информации)(#I2/поток_информации) (/поток_сообщений)(/класс_сообщений)(/поток_сообщений) (/класс_сообщений)[Содержит(#Р,х)&Содержит(#A,y)&Содержит(#А,s)&Содержит(#A,t)& Функционирует(x,t) & Соединена(s,t) & Содержит(#I1,) & Принимает_РЛС(s,) & Содержит() & Описывает(,y) & Обрабатывает(x,) & Содержит(#I2,) & Передает_РЛС(s,) & Содержит() & Вырабатывает(x,) & Принимает_самолет(y,) Обеспечивает_посадку(х,y)]
Запись в MLL:
((x/программная_подсистема)//#Р)((y/самолет)//#О)((s/РЛС)//#А) ((t/ЭВМ)//#А)(/поток_сообщений)//#I1)(/класс_сообщений)//) (/поток_сообщений)//#I2)(/класс_сообщений)//)
[Функционирует(x,t) & Соединена(s,t) & Принимает_РЛС(s,) & Описывает(,y) & Обрабатывает(x,) & Передает_РЛС(s,) & Вырабатывает(x,) & Принимает_самолет(y,) Обеспечивает_посадку(х,y) ]
В матрице формулы в модифицированном синтаксисе MLL имеется 8 предикатов. В матрице формулы в логике 1-го порядка имеется 28 предикатов (программа на языке Пролог приведена в приложении). В матрице формулы в многсортной логике имеется 16 предикатов (в программе на языке Пролог имеется 12 одноместных предикатов).
Рис. 20. Иерархические структуры для примера 1
В матрице формулы в MLL имеется 10 предикатов (к 8 предикатам добавляются 2 предиката-селектора). Таким образом, применяя в качестве процедуры вывода входную линейную резолюцию, получим, что модифицированный синтаксис MLL, используемый для формализации приведенного утверждения, имеющего структурную сложность, позволяет увеличить эффективность процедуры получения ответа на запрос на ее основе:
1) относительно синтаксиса MLL на 20%;
2) относительно многосортной логики на 50 %;
3) относительно логики 1-го порядка на 72%.