Элементы технологии иерархического концептуального моделирования и реализации систем и сетей хранения и обработки данных

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 681.324

С. А. Зинкин

ЭЛЕМЕНТЫ ТЕХНОЛОГИИ ИЕРАРХИЧЕСКОГО КОНЦЕПТУАЛЬНОГО МОДЕЛИРОВАНИЯ И РЕАЛИЗАЦИИ СИСТЕМ И СЕТЕЙ ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ

Предлагаются модели и методы, которые могут быть использованы в качестве основы создания новой объектно-ориентированной сетевой технологии моделирования и проектирования распределенных систем хранения и обработки данных на основе согласованных взаимодействий объектов через общее пространство - коммуникационную среду или общее пространство информационных объектов.

Введение

Сетевые представления дискретных динамических систем могут быть положены в основу ряда технологий системного моделирования и распределенного сетевого программирования. Сетевые формализмы также соответствуют парадигме согласования объектов и процессов [1].

В работах [2, 3] были определены сети абстрактных машин (СеАМ) нескольких видов, которые могут быть положены в основу построения новых инструментальных средств для распределенного моделирования и программирования, базирующихся на концепции непосредственно интерпретируемых спецификаций. Последнее означает, что описания моделей «непосредственно» программируются в терминах выражений и операторов некоторого языка или реализуются комплексом специализированных программно-аппаратных средств. При реализации сетевой технологии, базирующейся на формализме СеАМ, требуется размещение в операционной среде вычислительной сети данных, структурированных как объекты некоторого ^^-пространства (от function spaces).

Концептуально формализм СеАМ берет свое начало от эволюционирующих алгебраических систем [4] и машин Колмогорова [5]. Для построения сетей абстрактных машин в работах [2, 3] была предложена алгебра СеАМ. Использование основных идей из алгебры алгоритмов Глушкова [6], например суперпозиций темпоральных и дополнительных операторов, позволяет естественным образом проектировать сложные иерархические расширенные сети абстрактных машин (ИРСеАМ). В этой связи выделяются два класса сетей абстрактных машин. В относительно простых сетях первого класса подсети, или модули РСеАМ, начиная с тривиальных подсетей - элементарных обновлений интерпретации текущей сигнатуры, составляющих систему образующих, участвуют в операциях однократно. В сложных сетях

второго класса допускается многократное участие указанных подсетей - модулей РСеАМ в произвольных суперпозициях подсетей. В обоих случаях формируются иерархические сети.

В дальнейшем общая аббревиатура СеАМ используется для обозначения технологии или реализации сетей, если это не противоречит контексту; там же, где следует различать конкретные виды выражений, описывающих сети абстрактных машин, используются аббревиатуры СеАМ, РСеАМ и ИРСеАМ.

В приложениях информатики обычно рассматривают некоторое множество Ъ представлений с интерпретацией I в множестве S элементов; интерпретация I данному представлению а ставит в соответствие некоторое абстрактное информационное содержание 1(а), т.е. интерпретации соответствует отображение I: Ъ ^ S [7]. Пусть Ъ - множество функциональных и предикатных символов различных арностей (в многосортных, или многоосновных, системах тип п-арного предикатного символа - это кортеж (/'1, /2, ..., г„, /), а тип п-арного предикатного символа - это кортеж (/ь /2, ., /„), где ¡1, /2, ., /п, / -названия (сорта) для основ, или носителей), 5 - множество конкретных функций и предикатов. Сеть абстрактных машин СеАМ использует построенные с использованием определенной в работах [2, 3] алгебры модулей абстрактных машин «модули-продукции» и «модули-процедуры», которые модифицируют, или «обновляют», интерпретацию I, выполняя сгруппированные в блоки так называемые правила обновления вида Даг) ^ 5/. В работах [4, 5] предложено использовать в машинах абстрактных состояний специальные операции -элементарные обновления функций и предикатов. Элементарное правило обновления функции или предиката запишем в виде правила вывода:

Ч, (2,..., (к, (к+1

•((Ь (2^.^ (к) ^ (к+1

где ¿1, ¿2,..., (к - термы различных сортов; • - функциональный или предикатный символ. В случае, если • - функциональный символ, то (к+1 - суть терм любого сорта, а если • - предикатный символ, то (к+1 - булево выражение.

Сеть СеАМ функционирует, переходя от одной интерпретации Д(г) к другой Д(к), где и (к - последовательные моменты времени. В алгебре абстрактных машин мы включаем подобные правила обновления в систему образующих.

Представления процедурных и декларативных знаний о предметной области в сценарных моделях

В настоящее время активно развиваются методы, основанные на предварительном формальном описании предметной области - ее понятий, отношений, закономерностей. При формализации предметных областей, связанных с системами и сетями хранения и обработки данных, широко используются сетевые модели. В сетевых моделях представляются как информационно-структурные знания о предметной области, так и знания о процессах, причинно-следственных связях, законах функционирования, сценариях деятельности. Модели представления знаний условно разделяются на декларативные (непроцедурные) и процедурные.

В работах [8, 9] были рассмотрены сценарные модели, являющиеся разновидностью семантических сетей с событиями и темпоральными связями. Самомодифицируемые сценарные модели, реализуемые сетями абстрактных машин высших порядков, особенно удобны при создании такого сетевого программного обеспечения реконфигурируемых систем хранения и обработки структурированных данных, в котором стираются грани между сетевой операционной системой, распределенной системой управления базой данных и распределенным приложением.

Используемые для представления сценариев сети абстрактных машин допускают недвусмысленное описание операционной и функциональной семантик. Кроме того, выражения для модулей, или узлов, СеАМ представляют собой логические формулы, которые аксиоматизируют определенные свойства сети в целом.

Современный подход к переводу модели на язык, приемлемый для используемой ЭВМ, рекомендует поддержку парадигм декларативного и функционального программирования, а также соблюдения основных принципов структурированного, событийно-управляемого и объектно-ориентированного программирования. Технология имитационного моделирования в целом должна поддерживать системную интеграцию и концептуальное проектирование. Концептуальное проектирование обычно выполняется в процессе предпроектных исследований, формулировки технического предложения, разработки эскизного проекта; при концептуальном проектировании применяют ряд спецификаций, среди которых центральное место занимают модели преобразования, хранения и передачи информации [10]. В данной работе рассмотрены четыре класса моделей систем: функциональные модели, описывающие совокупность выполняемых системой функций; информационные модели, отражающие структуры данных, их состав и взаимосвязи; поведенческие модели, описывающие динамику функционирования информационных процессов и оперирующие с такими категориями, как состояния системы, события, переходы из одних состояний в другие, условия перехода, последовательности событий; структурные модели, характеризующие морфологию системы, или ее построение -состав подсистем и их взаимосвязи.

В настоящей работе делается попытка интеграции основных концепций методик, основанных на перечисленных выше четырех классах моделей систем. Выбран формализм сетей абстрактных машин, интерпретация Щ) сигнатуры Ъ которых обновляется («эволюционирует» во времени). Помимо обычных отношений, представленных областями истинности соответствующих предикатов, здесь используются темпоральные отношения. Темпоральные отношения и связанные с ними операции могут быть реализованы как следствия причинных воздействий одних активных объектов на другие. Сценарии эволюций интерпретации сигнатуры алгебраической системы задаются согласованной работой сети алгоритмических модулей, или модулей абстрактных машин. Использование логик высших порядков и иерархической организации сетей абстрактных машин расширяет функциональные возможности формализма, который предлагается применять на различных этапах иерархического проектирования и моделирования - от концептуального до разработки исполняемых спецификаций реальной системы.

Структурирование и модификация сценариев

Работа сценария определена над некоторым структурированным ДО-пространством функций и предикатов. Введем следующие правила вывода для модификации ролевых и объектных предикатов и функций:

h, ь_________h, t2, ь________tb s

p(1)(ti) ^ ь p(2)(tb t2) ^ ь f(1)(t1) ^ s

где p(1), p(2) - унарный и бинарный предикатные символы; f(1) - унарный функциональный символ; t1, t2, s - произвольные термы, возможно, различных сортов; Ь - булев терм.

Модифицируя предикаты и функции, можно по мере необходимости конкретизировать или изменять отношения между объектами, изменяя их роли и свойства.

Представляет интерес также непосредственное использование одной из основных концепций СеАМ - системы образующих в алгебре модулей, или множества элементарных обновлений функций и предикатов для образования и устранения связей в семантических сетях и сценариях. Например, установлению темпоральной связи «Т» (свидетельствующей о непосредственном следовании подсценариев друг за другом) между подсценариями A1 и А2 соответствует элементарное правило обновления бинарного предиката:

Т(АЬ А2) ^ true, а разрыву этой связи соответствует правило обновления:

Т( А1, А2) ^ false.

Подобные правила определены и над остальными бинарными темпоральными предикатами, каждому из которых соответствует одноименная бинарная темпоральная операция.

Правилу обновления тернарного предиката

Opv(a, А1, А2) ^ true

соответствует включение в сценарное выражение а-дизъюнкции в традиционной форме [а](А^А2), а для исключения а-дизъюнкции необходимо выполнить правило обновления

Opv(a, А1, А2) ^ false,

где Opv - тернарный предикатный символ, соответствующий префиксной форме записи одноименной операции а-дизъюнкции.

Далее включению подсценария А в цикл и исключению его из цикла соответствуют следующие правила обновления бинарного предиката:

Op{}(a, А) ^ true и Op{}(a, А) ^ false.

Аналогично, здесь Op{} - бинарный предикатный символ, соответствующий префиксной форме записи одноименной операции а-итерации. В сценарные выражения данная операция включается в традиционной форме - [а]{А}.

Используя подобный подход, можно конструировать произвольные сценарии и определять над ними произвольные процедуры модификации. Формализуя данные понятия, определим над иерархическим сценарием A гипотетическую или виртуальную «суперсеть» абстрактных машин SN (рис. 1).

Данная суперсеть включает в свой состав модули, выполняющие некоторые модификации сценария А:

Smt = [x,](Opv(a, А1, А2) ^ true v AE);

Sm~ = [z,](Opv(a, A1, A2) ^ false v AE);

Smk = [Xk](Op{}(a, A) ^ true v AE);

Smu~ = [zk](Op{}(a, A) ^ false v AE);

Smj = [»](Т (A1, A2) ^ true v Ae);

Sm~ = [у;](Т(A1, A2) ^ true v Ae), где AE - тождественный сценарий, не выполняющий никаких действий (аналогичный тождественному оператору E в алгебре алгоритмов Глушкова), а в квадратных скобках записаны выражения для условий готовности выбранного фрагмента сценария к обновлению.

Представление сценариев совокупностями предикатов и функций

Развивая объектно-ориентированный подход, представим сценарии совокупностью предикатов (или отношений) и функций (или операций). В используемых нами представлениях сценариев объединяются три основные концепции представления и обработки знаний - логическая, структурная и процедурная. Логическая концепция используется при формировании булевых выражений для a-условий в операциях а-дизъюнкции и а-итерации. Структурной концепции соответствует формирование объектных отношений, характерных для любой семантической сети. Процедурная составляющая в нашем случае базируется на бинарных темпоральных отношениях, включаемых нами в состав фундаментальных отношений сценарной сети наравне с объектными. Кроме бинарных темпоральных отношений вида px и операций вида fx, процедурная составляющая включает операции а-дизъюнкции и а-итерации для всюду определенных a-условий, представимые двухсортными тернарным и бинарным (pv и p{}) предикатами и операциями (fv и f{}) соответственно (имеются в виду сорта условий и сценариев). Предикаты вида px, pv и

Р{} задают структуру сценария на всех этапах его построения, а функциями вида /, fv и/{} задается собственно операционная семантика сценария. Таким образом, сигнатура, определенная для предметной области, расширяется множеством выражений следующего вида: px: SxS ^ {true, false};

/: SxS ^ S;

pv: LxSxS ^ {true, false};

/V: LxSxS ^ S;

Р{}: LxS ^ {true, false},

/{}: LxS ^ S,

где S - множество подсценариев; L - множество логических условий; т - символ темпоральной операции или отношения.

Представим конкретизации операций и отношений для некоторых наиболее характерных фрагментов какого-либо подсценария. Например, выражение для подсценария L0 некоторого сценария S0 запишем в виде

L0 = [P2](S8V

где Li = (((S5tS7)tS1o)tS11)r(((S5tS6)tS9)tS11)|c(S7||S9).

Здесь для объединения причинно-зависимых подсценариев явно использована операция «|с» конкурентного выполнения. Результатом ее выполнения является теоретико-множественное объединение подграфов, представленных соответствующими подсценариями. Операция «||» используется для синхронизации подсценариев; при этом требуется обязательное пересечение интервалов их реализации. Этапы формирования подсценария L0 с использованием темпоральных операторов и оператора а-дизъюнкции представлены в табл. 1.

Таблица 1

n Суперпозиции операторов алгебры сценариев Конкретизации предикатов

1 ft(S5, S7) Pt(S5, S7) —— true

2 /(ft(S5, S7), S10) Pt(ft(S5, S7), S10) — true

3 ft( ft( ft(S5, S7), S10X S11) Pt(ft(.Ж^ S^), S10), S11) — true

4 ft(S5, Si) Pt(S5, Si) — true

5 ft( ft(S5, S6), S9) pt( ft(S5, S6), S9) — true

6 ft( ft(ft(S5, S6), S9), S11) Pt(ft(.Ж^ S6), S9), S11) — true

7 f(S7, S9) P||(S7, S9) — true

8 fmft(/t(S5, S7), S10X S11), ft(ft(S6X S9), S11)) рс(Жft(S7), S10), S11),ft(ft( ft(S5, S6), S9), S11)) — true

9 /|с(/|с(/Г(ft( ft(S5, S7), S10), S11), ft(/(S6), S9), S11)), f|(S7, S9)) = L1 p\c(/\c(f(/(S7), S10), S11),/(ft( S6X S9), S11)), S9)) — true

10 ^/|C(/|’c(/T(ft(S7), S10X S11), ft(ft(S6), S9), S11)), Ж, S9))) pv(P2, S8,/|c(/fc(/t(/(S7), S10), S11), ft(ft(S6), S9), S11)),f||(S7, S9))) — true

11 ft(/V(P2, S8,/fc(/^c(/t(/(S7X S10), S11),/(/( ft(S5, S6), S9), S11)),/|І(S7, S9))), S12) = L0 pt(/Vife S8,/|с(/|с(/Т(/( ft(S5, S7), S10), S11), ft(ft(.Ж^ S6), S9), S11)), f||(S7, S9))), S12) — true

Вводя дополнительные обозначения для формируемых операторов, упростим выражения в табл. 1 и представим их в табл. 2.

Таблица 2

n Суперпозиции операторов алгебры сценариев Конкретизации предикатов

1 f (S5, Sl) = R1 pt(S5, S7) ^ true

2 f (flu Sw) = R2 pt(Ri, S10) ^ true

3 ft (R2, Sn) = R3 p t (R2, S11) ^ true

4 f (S5, S6) = R4 pt(S5, S6) ^ true

5 f (R4, S9) = R5 p t (R4, S9) ^ true

6 f (R5, Sn) = R6 p t (R5, S11) ^ true

7 f\\(S7, S9) = R7 p\\(S7, S9) ^ true

8 fcR R) = Rb p\c(R3, R6) ^ true

9 R7) = R9 p\c(Rs, R7) ^ true

10 /v(P2, S8, R9) = R10 pv(P2, Sb, R9) ^ true

11 f (R10, S12) = L0 pt (R10, S12) ^ true

Подсценарий Ь0 сформирован и готов к реализации при истинности выражения

¡11о = р(55, 5-)&РТ(ЛЬ ^1о)&Р|(^2, 5„)&РТ(55, 5б)&Р,(Л4, 59)&Рт(Л5, 5„)&

&Р||(5-, 59)&Р|с(Лэ, Лб)&Р|с(Л8, Л-)&рУ(Р2, 58, Л9)&Рт№о, 512).

Этапы формирования подсценария Ь2 = 517|[а1]{(514 ,515) , 516} некоторого сценария 50 с операцией а-итерации проиллюстрированы в табл. 3.

Таблица 3

n Суперпозиции операторов алгебры сценариев Конкретизации предикатов

1 Co p t (S14, S15) ^ true

2 f ( f (^14, ^15)r ^1б) pt(. ft (S14, S15X S16) ^ true

3 /{}(аЪ f ( f (£14, £15), 5<16)) pii(ab. f (. f (S14, S15), S16) ^ true

4 УТ(^17г/i>(a1,f (f (£14, £15)r £16))) = L2 p\(S17, .fi> (a1, .f ( .f (/SW S15), S16))) ^ true

Аналогично предыдущему примеру введем дополнительные обозначения для формируемых операторов, упростим выражения в табл. 3 и представим их в табл. 4.

Таблица 4

n Суперпозиции операторов алгебры сценариев Конкретизации предикатов

1 cS 11 )5 pt (S14, S15) ^ true

2 /т (6b £16) = 62 pt (Qл, S16) ^ true

3 /{}(а1г 62) = Q3 p!i(«1, Q2) ^ true

4 /(£17, 63) = 64 = L2 p\(S17, Q3) ^ true

Подсценарий Ь2 сформирован и готов к реализации при истинности выражения

1ь2 = Р,(514, ^15)&р,(61, 51б)&Р{}(аь 02)&Р|(517, бз).

Иерархическое объектно-ориентированное проектирование и сети абстрактных машин первого и высших порядков

Распространяя основные идеи, связанные с использованием механизмов наследования и логического вывода на семантических сетях [11-13], на сценарные модели, включим в состав фундаментальных отношений темпоральные отношения наряду с отношениями вида «класс-подкласс», «класс-суперкласс», «является частью», «подмножество-множество» и др. Известно [11], что возможность «сжатия» базы данных, созданной для представления и хранения семантической сети, обеспечивается, например, транзитивностью родовидового отношения «а_к1М_о1» (или АКО) и отношения принадлежности части объекта к целому «а^аг^оБ) (или АРО), а операции модификации базы знаний на семантических сетях сводятся к удалению и добавлению новых вершин и ребер. Другим мощным средством манипулирования знаниями являются операции «сопоставления с образцом» [11, 13, 14], когда поиск ответа на запрос реализуется путем сопоставления сети запроса с фрагментами семантической сети. Операции сопоставления с образцом при учете не представленных в сценарных моделях фундаментальных отношений могут быть описаны выражениями СеАМ и РСеАМ для сетей абстрактных машин с использованием логики высших порядков или реализованы путем использования обычных механизмов наследования и логического вывода.

В рамках предлагаемых подходов мы рассматриваем иерархию концептуальных моделей различной степени сложности - от концептуальных моделей, «существующих» в уме специалиста, до сложных имитационных моделей, которые воспроизводят поведение системы в деталях. Построение имитационных моделей на основе сетей абстрактных машин позволяет в широкой степени использовать правила модульного иерархического проектирования; межмодульные связи по управлению и по данным унифицируются и четко формализуются, что позволяет использовать иерархическую имитационную модель непосредственно в реализации проекта, например, в виде сложного комплекса управляющих и функциональных программ в сети хранения и обработки данных. В результате возможно значительное снижение трудоемкости и ускорение процесса проектирования системы в целом, упрощается создание ее компонент. Таким образом, в данной работе предлагается некоторая совокупность конструктивных методов проектирования систем и сетей хранения и обработки данных, рассматриваемых как сложные системы. При анализе и построении сложных систем особенно плодотворными оказались методы объектно-ориентированного проектирования (ООП). Данные методы послужили основой для интеграции различных методов представления знаний. Рассмотрим с позиций объектно-ориентированного подхода некоторые особенности используемых или предлагаемых нами имитационных, сценарных и логико-алгебраических моделей.

Объектно-ориентированный подход к проектированию систем и сетей хранения и обработки данных позволяет реализовать как процедурные методы представления знаний, так и методы, основанные на семантических и сценарных сетях. Кроме того, при использовании объектно-ориентированного подхода можно реализовать и логические методы представления знаний. Формулы, как составные, так и атомарные, могут при этом рассматриваться в

качестве объектов. Некоторые известные недостатки логических методов представления знаний можно преодолеть путем структурирования наборов формул. В качестве другого подхода к преодолению данных недостатков нами предлагается использование логики высших порядков.

В системах искусственного интеллекта традиционно используются декларативные и процедурные методы представления знаний. Как в декларативных, так и в процедурных методах знания представляются структурированными данными. В дальнейшем мы будем уделять большее внимание элементам декларативного подхода к представлению процедурных знаний. Процедурные знания мы будем представлять сценарными сетями, или просто сценариями, включающими события и темпоральные отношения между ними. Темпоральные отношения представляются структурированными данными, которыми можно манипулировать в широких пределах. События, или факты, мы будем описывать формулами в логике первого и высших порядков. При этом операции логического вывода, являющиеся основными примитивами для манипуляции знаниями, одинаково применимы как к декларативным, так и к процедурным знаниям, представленным структурированной совокупностью формул.

При объектно-ориентированном подходе предметная область, или проблемная среда, рассматривается как совокупность объектов и связей между ними. В объектно-ориентированных представлениях подграфы сценарной сети могут представлять сложные факты или события, связанные с поведением объектов в проблемной среде. Роли элементарных фактов при этом играют факты наличия или отсутствия связей определенного типа между объектами. Как разновидность понятия «семантическая сеть», представление которой в базе данных описано в работе [15], в общем случае сценарную сеть мы также представим совокупностью кортежей произвольных отношений (или областями истинности произвольных предикатов). Отношения задаются на множествах (доменах) значений свойств объектов. Каждая такая совокупность, или ассоциативный кортеж, представляет набор характеристик некоторого базового объекта, информационная модель которого задается так называемым комплексом данных [15].

Рассмотрим способы хранения объектов в информационном пространстве (в ДО-пространстве функций и предикатов), позволяющие сохранить семантическую информацию. Одной из важнейших задач в объектноориентированной системе является обеспечение перманентности, или постоянства хранения объектов.

Обычно в реляционной СУБД для представления иерархии классов необходимо решать следующие задачи [16]:

- создать отношения, соответствующие рассматриваемой иерархии классов;

- предусмотреть возможность преобразования объектов в строки и сохранения этих объектов в отношениях;

- предусмотреть возможность чтения строк из отношений и реконфигурирования объектов.

При решении данной задачи обеспечивается преобразование экземпляров класса, т.е. объектов, в кортежи. В работе [16] был исследован ряд способов преобразования классов в отношения: преобразование каждого класса или подкласса в отношение, преобразование каждого подкласса в отношение

и преобразование иерархии в одно отношение. Отмечено, что для данных способов характерна потеря семантической информации. Предложим новый подход к сохранению семантической информации об объектах, базирующийся на элементах логики предикатов второго порядка и на правилах вывода при хранении и извлечении объектов из информационного ^S-пространства. Как обычно в многосортном исчислении предикатов, рассмотрим множество выражений вида

p: X1 хX2 х ... хXn ^ {true, false},

где X1, X2, ., Xn - сорта, интерпретируемые как множества; p - n-арный предикатный символ.

Предикаты задают структурные связи между понятиями предметной области, например, между объектами или событиями. Рассмотрим далее предикаты PISA(zb z2) и Pako(z3, z4), где z1eX - предметная переменная, пробегающая по всем элементам множества объектов X; z2eP - предикатная переменная, пробегающая по всем предикатам из множества P всех классов; z3eP1 -предикатная переменная, пробегающая по всем предикатам из множества P1, представляющего подклассы, а z4eP2 - предикатная переменная, пробегающая по всем предикатам из множества P2, представляющего суперклассы. Множества предикатов P1 и P2, возможно, пересекающиеся, т.к. в общем случае некоторые из рассматриваемых классов могут принадлежать как подклассам, так и суперклассам. Здесь PISA - бинарный предикат, устанавливающий принадлежность объекта классу, а PAKO - бинарный предикат, устанавливающий соответствие «подкласс-суперкласс».

В отличие от работы [16], мы будем представлять классы областями истинности соответствующих предикатов. Рассмотрим пример иерархии наследования для некоторого класса A и его подклассов B, C и D, заданных предикатами Ра(хь х2, Х3, x4, Х5), Рв(хь x6, x7), Pc(xb Хв, x9), Pd(xu x^). Здесь используются 10 предметных переменных различных сортов (типов). Переменная x1 выполняет роль первичного ключа. Областями истинности данных предикатов представлены четыре отношения, хранимые в реляционной базе данных. Для сохранения семантической информации (в данном случае информации об иерархии наследования), добавим к данным предикатам логическое выражение

PAKO(PB, PA) & PAKO(PC PA) & PAKO(PD, PA).

Истинность данного выражения свидетельствует о задании отношения наследования.

Далее добавим к предикатам и логическому выражению три правила вывода для представления каждого класса одним предикатом:

(Vxb x2, x3, x4, x5, x6, xy)[ Pb(x1, x6, xy) & PAKo(Pв, Pa) 3

3 P'b (x1, x2, x3, x4, x5, x6, xv)];

(Vxb x2, x3, x4, x5, xb, x9)[ Pc(x1, xb, xg) & Pako(Pc, Pa) 3

3 P c (x1, x2, x3, x4, x5, xb, x9)];

(Vx1, x2, x3, x4, x5, x10)[ Pd(x1, x10) & PAKo(PD, Pa) 3

3 P'D (x1, x2, x3, x4, x5, x10)].

Здесь запись (Vx1, x2, ..., xn) эквивалентна записи (Vx1)(Vx2, ), ..., (Vxn). Таким образом, для хранения объектов и информации о наследовании

свойств объектов без потери семантической информации, как проиллюстрировано на примере, достаточно сформировать базу знаний, включающую экс-тенсионал - области истинности предикатов и интенсионал - правила вывода. Приведенные выше правила реализуются модулями СеАМ второго порядка, описываемыми следующими выражениями:

тв = [ 'V (xb x2, x3, x4, x5, x6, x7)(Pb(xu x6, x7) & Pako(Pв, Pa))]

(P'B(x1, x2, x3, x4, x5, x6, x7) ^ true v R^);

mc = [ 'V (x1, x2, x3, x4, x5, xb, x9)(Pc(x1, xb, x9) & PAKo(PC, Pa))]

(P'c(x1, x2, x3, x4, x5, xB, x9) ^ true v Re);

mD = [ 'V (xb x2, x3, x4, x5, x10)(Pd(x1, x10) & PAKo(PD, Pa))]

(P'D(x1, x2, x3, x4, x5, x10) ^ true v Re).

В общем случае иерархию наследования можно доопределить, используя обычные для семантических сетей правила вывода:

(VxEX)(VyEP 1)(Vz6P2)[PISA(x y) & PAKO^ z) 3 PISA(x, z)];

(VueP)(VveP)(VweP)[PAKo(u, v) & PAKo(v, w) 3 PAKo(u, w)].

Здесь все переменные, кроме x, предикатные и пробегают по множествам предикатов, представляющих классы. Предметная переменная x пробегает по элементам множества всех экземпляров классов (объектов). Ряд правил мы использовали ранее для выявления некоторых отношений в сценарных моделях. Последние два правила реализуются следующими модулями СеАМ второго порядка:

mISA = [ V (xeX:, yEPI, zEP2)(PISA(x y) & PAKO^ z))]

(Pisa(x, z) ^ true v R);

mAKo = [ V (ueP, veP, weP)(PAKo(u, v) & PAKo(v, w))]

(Pako(u, w) ^ true v Re).

В общем случае развитая система объектно-ориентированного проектирования должна поддерживать модификацию определений классов, структуры наследования, спецификации атрибутов и методов. Типичные изменения, которые могут потребоваться, сводятся к следующим [16]:

- изменение определения класса;

- изменение атрибутов;

- изменение методов;

- изменение иерархии наследования;

- определение суперкласса для некоторого класса;

- удаление суперкласса для некоторого класса;

- создание и удаление классов, изменение имен классов.

В рамках предлагаемых нами методов (например, конкретизация иерархии наследования, т.е. конкретизация предиката второго порядка PAKO для рассмотренного ранее примера) осуществляется путем выполнения правил обновления:

PAKO(PB, PA) ^ true, PAKO(Pc PA) ^ trUe, PAKO(PD, PA) ^ trUe,

а исключение какого-либо подкласса из иерархии, например подкласса c, осуществляется путем применения правила PAKO(Pc, PA) ^ false.

Рассмотрим представление сложных структурированных событий в сценариях на примере следующей интерпретации предметной области, опи-

санной ранее предикатами РА, Рв, Рс и РО. Пусть х1еХ1 - предметная переменная, пробегающая по объектам сорта «событие», а остальные переменные х2, х3, ..., х10 пробегают по соответствующим множествам Х2, Х3, ..., Х10 объектов, участвующих в реализации событий класса А и подклассов В, С и О. Введем далее бинарные предикаты Р12, Р13, ..., Л110, характеризующие роль объектов сорта X- (- = 2, 3, ..., 10) в событиях сорта Х1. Тогда наряду с предикатами РА, Рв, Рс и РО определенность всех ролей некоторых выбранных объектов х'еХ (- = 2, 3, ..., 10) при реализации ими соответствующего сложного события х' можно охарактеризовать выражениями

Р12( х{, х2) & Р13( х{, х3) & Рм( х{, х4) & Р15( х{, х^);

р1,б( х{, х6) & Ри( х{, х7);

Ри( х{, х8) & Ри( х1, х9);

р1,ю( xí, xíо),

или выражениями с предикатными символами второго порядка Ра№,2( х{, х2), Ри( х{, х3), Рм( х{, х4), Ри( х1, х5));

Рв(Р-1,6(х1, х6), Ри(х1, х7));

Рс№,8( х1, х8), Р1,9( х1, х9));

Ро(Р1,ю( х1, х10)).

Для сохранения семантической информации о наследовании свойств в иерархии событий введем конъюнкцию:

Р'ако(Рв, Ра) & Р'ако(Рс, Ра) & Р'ако(Ро, Ра),

где Р' АКО - предикатный символ третьего порядка.

Для конкретизации предикатов предлагается использовать модули СеАМ первого, второго и третьего порядков, в которых обновляются предикаты соответствующего порядка.

Заключение

На основе введенного определения самомодифицируемого сценария как активной семантической сети, представленной суперпозициями концептуальных графов, предложен алгебраический подход к конструированию сложных иерархических эволюционирующих сценарных сетей, облегчающий создание новых технологий проектирования систем хранения и обработки данных. Принятая парадигма взаимодействия процессов отличается согласованным использованием информационных объектов, представленных сигнатурой многоосновной алгебраической системы, причем структурные и логические связи между понятиями предметной области представляются сигнатурой и формулами в этой сигнатуре. Сигнатура представляет декларативные знания, сценарии - процедурные знания о предметной области. Предложена реализация сценариев сетями абстрактных машин, состоящих из модулей, объединенных причинно-следственными связями, что позволяет эффективно оперировать с моделями вертикально и горизонтально структурированных распределенных систем. Использование логики предикатов первого и высших порядков в существенной степени повышает операционные возможности сценарных моделей, позволяя реализовывать сложные запросы к сети сценариев. В данном представлении сценарии также являются объектами, представляемыми совокупностями кортежей, или ассоциативны-

ми кортежами, хранимыми в основном ^^-пространстве или в управляющем

СДО-пространстве (Control Function Space). Подобное представление сценариев

допускает их простую и эффективную аппаратную или программную реализацию в процессорах баз данных и на базе модулей ассоциативной памяти.

Список литературы

1. Таненбаум, Э. Распределенные системы. Принципы и парадигмы / Э. Танен-баум, М. ван Стен. - СПб. : Питер, 2003. - 878 с.

2. Зинкин, С. А. Сети абстрактных машин высших порядков в проектировании систем и сетей хранения и обработки данных (базовый формализм и его расширения) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 3. - С. 13-22.

3. Зинкин, С. А. Сети абстрактных машин высших порядков в проектировании систем и сетей хранения и обработки данных (механизмы интерпретации и варианты использования) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 4. - С. 37-50.

4. Gurevich, Y. Evolving Algebras 1993: Lipari Guide / Y. Gurevich // Specification and Validation Methods / ed. E. Börger. - Oxford University Press, 1995. - P. 9-36.

5. Gurevich, Y. On Kolmogorov machines and related issues. The logic in computers science column / Y. Gurevich // Bulletin of Europian Assoc. for Theor. Comp. Science. -1998. - № 35. - Р. 71-82.

6. Глушков, В. М. Алгебра. Языки. Программирование / В. М. Глушков, Г. Е. Цейтлин, Е. Л. Ющенко. - Киев : Наукова думка, 1978. - 320 с.

7. Брой, М. Информатика. Основополагающее введение / М. Брой. - М. : Диалог-МИФИ (Springer-Lehrbuch), 1996. - Ч. I. - 300 с.

8. Зинкин, С. А. Самомодифицируемые сценарные модели функционирования систем и сетей хранения и обработки данных (базовый формализм и темпоральные операции) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 1. - С. 3-12.

9. Зинкин, С. А. Самомодифицируемые сценарные модели функционирования систем и сетей хранения и обработки данных (реализация и свойства сценарных моделей) / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 2. - С. 13-21.

10. Норенков, И. П. Подходы к проектированию автоматизированных систем / И. П. Норенков // Наука в образовании : электронное научное издание. - 2005. -№6. - Режим доступа: http://technomag.edu.ru:8001/db/msg/26310.html

11. Перспективы развития вычислительной техники : в 11 кн. / под ред. Ю. М. Смирнова. Кн. 2. Интеллектуализация ЭВМ / Е. С. Кузин, А. И. Ройтман, И. Б. Фоминых, Г. К. Хахалин. - М. : Высшая школа, 1989. - 160 с.

12. Представление и использование знаний / под ред. Х. Уэно, М. Исидзука. - М. : Мир, 1989. - 220 с.

13. Поспелов, Г. С. Искусственный интеллект - основы новой информационной технологии / Г. С. Поспелов. - М. : Наука, 1988. - 280 с.

14. Робототехника и гибкие автоматизированные производства : в 9 кн. Кн. 6. Техническая имитация интеллекта / В. М. Назаретов, Д. П. Ким ; под ред. И. М. Макарова. - М. : Высшая школа, 1986. - 144 с.

15. Калиниченко, Л. А. Методы и средства интеграции неоднородных баз данных / Л. А. Калиниченко. - М. : Наука, 1983. - 424 с.

16. Конолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Конолли, К. Бегг. - М. : Вильямс, 2003. - 1440 с.