ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 681.324
С. А. Зинкин
САМОМОДИФИЦИРУЕМЫЕ СЦЕНАРНЫЕ МОДЕЛИ ФУНКЦИОНИРОВАНИЯ СИСТЕМ И СЕТЕЙ ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ (БАЗОВЫЙ ФОРМАЛИЗМ И ТЕМПОРАЛЬНЫЕ ОПЕРАЦИИ)
На основе введенного определения самомодифицируемого сценария как активной семантической сети, представленной суперпозициями концептуальных графов, рассматривается алгебраический подход к конструированию сложных иерархических эволюционирующих сценарных сетей. Принятая парадигма взаимодействия процессов соответствует согласованному использованию информационных объектов, представленных сигнатурой многоосновной алгебраической системы. Структурные и логические связи между понятиями предметной области представляются сигнатурой и формулами в этой сигнатуре. Сигнатура представляет декларативные знания, сценарии - процедурные знания о предметной области. Сценарии реализуются сетями абстрактных машин, состоящих из модулей, объединенных причинно-следственными связями.
Введение
Технологии распределенных баз данных и распределенных систем объектов предопределяют переход от централизованной обработки данных к децентрализованной [1]. Распределенные объекты, взаимодействующие посредством передачи сообщений через сеть передачи данных либо через разделяемую информационную среду, определяют важную парадигму, широко используемую при проектировании распределенных систем. Многие аспекты распределения при этом могут быть скрыты за интерфейсом объектов. В этой связи возрастает интерес к формальным моделям и базирующимся на них методам и средствам представления причинно-следственных (каузальных) и декларативных знаний об архитектуре и функционировании систем и сетей обработки данных. Предлагаемый в настоящей работе формализм активных семантических сетей (близких к сценарным моделям в [2, 3]) основан на алгебре концептуальных графов (понятие концептуального графа определено в работе [4]). Темпоральные операции над событиями (подсценариями) мы включаем в систему операций подобно тому, как это определено в системах алгоритмических алгебр [5].
При программной и аппаратной реализации активных семантических сетей (АСеС) темпоральные отношения и соответствующие им операции рассматриваются как результаты причинно-следственных (каузальных) отношений и операций. Как отмечено в работе [6], замена временных связей причинно-следственными дает возможность более наглядного описания струк-
турных особенностей функционирования систем. Моменты или интервалы времени представляются как события, среди которых различаются элементарные (неделимые, мгновенные) и составные, имеющие внутреннюю структуру, образованную из подсобытий [6]. В предлагаемой нами модели мы будем использовать также и явно заданные темпоральные отношения между подсценариями.
Сценарии согласования и координации объектов и процессов
В работах [7-13] описаны основные варианты сценариев. В настоящей работе сделана попытка формализации сценарных представлений на основе логико-алгебраических моделей, объединяющих двухосновную алгебру сценариев (концептуальных графов) и многоосновное исчисление предикатов первого и высших порядков.
Данный подход позволяет интегрировать большое число технологий проектирования сетевых программных систем, практически не делая особых различий между распределенной операционной системой, распределенным сетевым приложением и распределенной системой управления базой данных.
По определению [2, 3] сценарием называется «формализованное описание стандартной последовательности взаимосвязанных фактов, определяющих типичную ситуацию предметной области». В работе [4] для представления знаний о некоторой предметной области предлагаются графические представления - концептуальные графы и составленные из них семантические сети. «Концептуальный граф представляет логическую формулу. Имена и аргументы предикатов представлены в нем соответственно двумя типами узлов. Дуги графа соединяют имена предикатов с их аргументами... Семантические сети представляют более сложные структуры. Каждая сеть состоит из множества концептуальных графов и позволяет визуализировать множество отношений между ними. Концептуальные графы и семантические сети составляют графическую версию исчисления предикатов» [4]. В этой же работе было описано общее правило преобразования п-арного предиката (п > 2) вида
Предикатное_имя(значение_1, значение_2, ., значение_п) (1)
в конъюнкцию бинарных предикатов
Функция_1(предикатное_имя, значение_1)&
&Функция_2(предикатное_имя, значение_2)&... (2)
.&Функция_п(предикатное_имя, значение_п),
задающую концептуальный граф, где «предикатное_имя» является первым концептом, а «значение_г» - вторым концептом (высказывательной) функ-ции_г.
Заметим, что формулы (1) и (2) замкнуты, т.е. не содержат свободных предметных переменных, и представляют собой высказывания с предикатными символами вместо булевых переменных. В этом плане фраза из [4], комментирующая данные высказывания, не вполне корректна.
Пусть теперь «предикатное_имя» будет именем события (подсцена-рия), а «значение_г» - именем некоторого объекта. Тогда отношение «Функ-ция_г» задает роль данного объекта в выполнении события (подсценария).
Пусть для семантической сети в целом будут заданы множество отображений вида p : AX B ^ {true, false} и f : A ^ B , где А - множество событий (подсценариев), реализуемых в семантической сети; В - множество объектов, участвующих в реализации событий (подсценариев) предметной области; p - бинарный предикатный символ; f - унарный функциональный символ. Тогда концептуальные графы, композицией которых представлена семантическая сеть, описываются формулами вида
p«1(ai, ьц) & pi2(ai, bi2) &... & pin(ai, bin); (3)
(fji(aj) = bji) &(fj2(aj) = bj2) &... &(fjn(aj) = ), (4)
причем каждая формула может содержать как обычные предикатные символы, так и предикатные символы равенства.
Определение активной семантической сети (сценария)
Введем понятие «активной» семантической сети (АСеС) как варианта сценарной сети, основанное на алгебре активных семантических сетей, в которой исходные («элементарные») концептуальные графы составляют систему образующих.
Активная семантическая сеть (в дальнейшем просто сценарий) - это
набор
NS = (A, B, E, Q, R, P, F, U, V, W;
S (5)
Ftime, G, N, OTop , OCop , L, OLop , Ф),
где А - множество подсценариев (событий); B - множество начальных под-сценариев (событий); E - множество конечных подсценариев (событий), E с A; Q - множество объектов, участвующих в выполнении подсценариев; R - множество имен классов, подклассов множеств и подмножеств объектов; P - множество бинарных предикатов вида p: A X Q ^ {true, false}; F -множество унарных функций вида f: A ^ Q ; U - множество бинарных «темпоральных» предикатов вида u : A X A ^ {true, false}; V - множество объектных бинарных и унарных предикатов вида v: (Q U R)x (Q U R) ^ {true, false}, v : (Q U R) ^ {true, false}; W - множество объектных унарных функций вида w: Q U R ^ Q U R ; Fwork - множество унарных предикатов вида fwork : A ^ {true, false}, используемых для определения рабочего или нерабочего состояния подсценария; Ftime -множество функций вида ft«me : A ^ Int, где Int - множество интервалов времени реализации подсценариев; G - множество элементарных концептуальных графов (система образующих алгебры семантических сетей); N - множество семантических сетей, образованных композициями концептуальных графов путем применения к ним операций из множеств O^Top и
&Cop , определенных ниже; OTop - множество темпоральных операций вида &Top : AX A ^ A; Ocop - множество операций из алгебры алгоритмов Глуш-кова вида tt>cop : LX AX A ^ A и &'cop :LX A ^ A (а-дизъюнкция и а-итера-
ция; условие а здесь всюду определено); Ь - множество логических условий; Ф - множество атомов; &Ь0р - множество логических операций вида
о^Ьор • ь х Ь —— Ь и шЬор • Ь —— Ь.
Самомодифицируемость сценариев
Используя механизмы непосредственно интерпретируемых спецификаций, базирующихся на понятии расширенного формализма сетей абстрактных машин РСеАМ, придадим иерархическим активным семантическим сетям (сценариям) свойство «самомодифицируемости».
Ролевые и объектные предикаты и функции при необходимости могут модифицироваться с помощью правил вывода вида
*1, Ь гь %2, Ь 1 s _ (6)
p(1)(ti) ^ b p(2) (ti, t2) ^ b f(1)(ti) ^ s’
где p(i), p(2) - унарный и бинарный предикатные символы; f(i) - унарный функциональный символ; ti, t2, s - произвольные термы, возможно, различных сортов; b - булев терм.
Модифицируя данные предикаты и функции, можно по мере необходимости конкретизировать или изменять отношения между объектами, изменяя их роли и свойства.
Для обеспечения данной возможности добавим к набору (5) следующий набор множества обновлений (модификаций), определенных на сценарии функций и предикатов:
{UP, uf , UU , UV , UV', UW , UFwork, U Ftime} ,
где нижние индексы указывают на множества модифицируемых функций или отношений.
Модифицируя бинарные темпоральные предикаты, можно в существенной степени манипулировать свойствами сценариев. Например, можно изменять степень параллелизма при выполнении тех или иных действий, предусмотренных сценарием. Проиллюстрируем сказанное примерами нескольких модулей СеАМ. Рассмотрим следующий модуль СеАМ:
mi = [(Vx е A, yе A)|(x, y)]({|(x, y)<--false;
. * E
$ (x, y) <-true} v R ).
При выполнении данного модуля выбираются все пары объектов (под-сценариев, или событий) < x, y > , связанных отношением «|» - «выполняются, возможно, одновременно». Затем это отношение аннулируется, а между теми же объектами устанавливается отношение «$» - «выполняются
разновременно». Точка с запятой «;» в блоке модуля mi используется для упрощенного обозначения операции «следование». Звездочка над стрелкой указывает на то, что реально выполняется несколько элементарных обновлений предиката. Необходимость в подобной замене темпоральных операций может возникнуть, например, при ограниченности ресурсов системы хранения и обработки данных или при ее деградации.
№ 1, 2007 Технические науки. Информатика и вычислительная техника Сценарии и логика предикатов второго порядка
Далее реализуем следующую модификацию некоторого сценария: «каковы бы ни были темпоральные отношения, связывающие события x и у, заменить их отношением « X »• Данные действия могут быть реализованы следующим модулем:
m2 = [(Vxе A)f (x)]([(Vу е A) f (у) & (x Ф у)]([(Уr е R)r(x, у)]
({r(x, у)<----false\X (x,у)<-----true} v RE) v RE) v RE),
(8)
где /(х) - характеристическая функция множества объектов (событий); г -переменная, пробегающая по отношениям множества Я всех темпоральных отношений между событиями. Данный модуль построен на основе использования логики предикатов второго порядка. Модули т1 и т2 построены на основе суперпозиции а-дизъюнкций. При невыполнении проверяемых условий в модулях реализуются тождественные обновления Я .
Представленный ниже модуль реализует следующую модификацию сценария: «найти произвольное темпоральное отношение, связывающее объекты (события) «1 и й2 при условии, что оно единственное, и заменить его отношением неодновременности»:
m3 = [(3!!rе R)r(aj,a2)]({r(aj,a2) ^ false;
E
X (aj, a2) ^ true} v R ).
(9)
Как и в предыдущем случае, построение данного модуля основано на логике предикатов второго порядка.
Реализация запросов к сетям сценариев с использованием логики предикатов высших порядков
Рассмотрим некоторую сценарную сеть, содержащую следующие подсети, представленные на рисунке 1.
в)
Рис. 1 Подсети сети сценариев: а - подсеть запроса; б - подсеть запроса с введенными переменными для обозначения объектов и предикатных имен; в - неизвестное темпоральное отношение в подсети
Предположим, что имеется полная и корректно построенная сеть сценариев. Для нахождения конкретных значений предметных переменных хь, хс, Хр и неизвестных бинарных предикатных имен Хца, Хцы , Хцс и Хц/
будем использовать следующие модули СеАМ, построенные с применением логики предикатов высших порядков:
Для модулей М1 и М2 определены унарные предикаты Та,ТЬ,Тс,Ер , определяющие сорта (типы) объектов; унарные предикаты Яа, Ц, Яс , определяющие виды (свойства) отношений между событиями (подсценариями) и реализующими данные события объектами. На рисунке 1,б переменные хь и хс пробегают по соответствующим множествам объектов, хр пробегает по множеству событий (подсценариев), а Хца , Хцы и Хцс пробегают по соответствующим множествам бинарных предикатных символов. Модуль М1 с помощью оператора 3! выбирает какой-либо вариант ответа (подсеть), а модуль М2 с помощью оператора V выбирает все подсети, удовлетворяющие заданному условию. Модуль М 3 позволяет ответить на вопрос о том, какое темпоральное отношение связывает события р1 и р2 . Правила обновления
предикатов, указанные в фигурных скобках выражений (21), (22) и (23), конкретизируют искомые отношения.
Реализация темпоральных операций в сценариях сетями абстрактных машин
В приведенных ниже модулях СеАМ, реализующих шесть основных темпоральных операций { Т , 'Л', , |, $ , |р}, используются следующие
унарные предикатные символы:
/ы и /е1 - символы начала и конца реализации г-го подсценария (в дальнейшем, без ограничения общности, будем называть подсценарии сценариями, имея в виду уровень, на котором работает исследователь); /А{ - символ состояния сценария А'; /ёыг И /е - символы начала и конца выполнения специальных программ-демонов, осуществляющих непосредственную
Mj = [(3!xb, xc, xRa, xRb, xrc , xF )Ta (aj)& Tb (xb )& Tc (xc )&
&Ra (xRa )& Rb (xRb )& Rc (xRc )&EF (xF ) & xRa (xF ,xa )& &xRb(xF,xb) & xRc(xF,xc)]({xRa(xF,a1) ^ true,
E
xRb(xf , xb) ^ true,xrc(xf , xc) ^ true} v R );
(21)
M2 = [(Vxb, xc, xRa , xRb, xrc , xf T (aj) & Tb (xb ) & Tc (xc ) &
&Ra (xRa )& Rb (xRb )& Rc (xRc )&EF (xF ) & xRa (xF ,xa )&
& xRb (xF, xb) & xRc (xF, xc )]({xRa (xF, a1) ^ true,
E
xRb(xf , xb) ^ true,xrc(xf , xc) ^ true} v R );
M3 = [(Э !xRf )xRf (F1, F2)](xRf (Fb F2) ^ true v rE ).
(22)
(23)
реализацию действий, для которых и предназначен сценарий А'; /г] - символ, подтверждающий причинное воздействие сценария А' на сценарий А].
Символами «1, «2 и аз обозначены значения предметных переменных -имен агентов-серверов, использующих текст соответствующего модуля СеАМ в качестве сценария (или метода) своего функционирования. Каждый сценарий реализован двумя модулями т^ и тег - начальным и завершающим.
1. А1 Т А2 - обычное следование сценариев друг за другом, выполнение А2 начинается после того, как закончится выполнение А1 .
2. А1 Л А2 - выполнение А2 начинается после того, как начнется выполнение А1 .
3. А1 Л • А2 - выполнение А2 начинается после того, как начнется А^, и до того, как А1 закончится. Другими словами, выполнение А2 начинается во время реализации А1 .
4. А11 А2 - А± и А2 причинно не связаны и происходят «возможно, одновременно» (либо «возможно, неодновременно»). Такой же символ будем использовать и для обозначения «возможно, конкурентного» выполнения сценариев.
5. А £ А2 - подсценарии А± и А2 происходят неодновременно.
6. А± |р А2 - интервал реализации сценария А перекрывает интервал реализации сценария А2 . Другими словами, А2 начинается после начала А1 и заканчивается до окончания А1 .
7. А II А - необходимое пересечение интервалов реализации сценариев. Общим символом || обозначим класс операций, при выполнении которых интервалы реализации подсценариев «необходимо пересекаются», например, для обмена сообщениями с подтверждением. К этому классу относятся также, например, операции ^ и |р. Другие варианты интерпретации данной операции свяжем с выполнением операции барьерной синхронизации сценариев.
Барьерная синхронизация сценариев
Рассмотрим несколько примеров реализации операций барьерной синхронизации нескольких сценариев на базе описанных выше темпоральных операций.
Пример 1. Барьерная синхронизация с асимметричной конвейерной организацией связей реализуется путем последовательного применения операции |р:
А1 || А2 || А3 || А = ((А1 || А2) || А3 || А = А1 || (А2 || (А3 || А4)).
В силу ассоциативности операции |р скобки определяют порядок ее применения.
Пример 2. Барьерная синхронизация «от первого сценария» реализуется с помощью использования двух видов темпоральных операций:
А1 Г (А2 | А3 | А4) = (А1 А2) | (А1 Г А3) | (А1 Г А4).
Операция |р обладает свойством дистрибутивности как слева, так и справа относительно операции |.
Пример 3. Барьерная синхронизация сценариев, при которой они могут обмениваться индивидуальными данными, в общем случае описывается с помощью операции ||: || А2 || А3 || А4. При подобном подходе предполагает-
ся, что при барьерной синхронизации важным является то, чтобы был обеспечен обмен данными по принципу «каждый с каждым» независимо от того, каким образом подобный обмен организован.
В последнем примере сценарии А2, А3, А4 реализуются в две фазы. На первой фазе эти сценарии обмениваются данными при посредничестве сценария А1. Затем следует обычная фаза, выполняемая остальными модулями, реализующими сценарии.
В приведенной таблице 1 дано графическое представление темпоральных операций в сценариях. Здесь ||| - символ операции «выполнить синхронно одновременно», а операции V и ©, а также их варианты и ©• определены далее. Отметим, что применяемые в распределенном и параллельном программировании операции V и © («дизъюнкция» и «исключительное или» для процессов) были ранее исследованы в работе [15].
Таблица 1
Графическое представление операций в сценариях
* Упрощенное обозначение не задано.
Использование основных идей из алгебры алгоритмов Глушкова, например принципа суперпозиции операторов, позволяет естественным образом проектировать сложные иерархические сети сценариев. В этой связи имеет смысл выделить два вида сценарных сетей. В простых сетях первого вида подсети, начиная с тривиальных подсетей - элементарных сценариев, составляющих систему образующих, участвуют в операциях однократно. В сложных сетях второго вида допускается многократное участие указанных подсетей в произвольных суперпозициях подсетей.
Выводы
1. На основе введенного определения самомодифицируемого сценария как активной семантической сети, представленной суперпозициями концептуальных графов, предложен алгебраический подход к конструированию сложных иерархических эволюционирующих сценарных сетей, облегчающий создание новых технологий проектирования систем хранения и обработки данных.
2. Принятая парадигма взаимодействия процессов отличается согласованным использованием информационных объектов, представленных сигнатурой многоосновной алгебраической системы, причем структурные и логические связи между понятиями предметной области представляются сигнату-
рой и формулами в этой сигнатуре. Сигнатура представляет декларативные знания, сценарии - процедурные знания о предметной области.
3. Сценарии реализуются сетями абстрактных машин, состоящих из модулей, объединенных причинно-следственными связями, что позволяет эффективно оперировать с моделями вертикально и горизонтально структурированных распределенных систем.
Список литературы
1. Конолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Конолли, К. Бегг. - М. : Вильямс, 2003. - 1440 с.
2. Искусственный интеллект : в 3-х кн. : справочник / под ред. Д. А. Поспелова.- М. : Радио и связь, 1990. - Кн. 2 : Модели и методы. - 304 с.
3. Литвинцева, Л. В. Сценарии / // Искусственный интеллект : в 3-х кн. : справочник / Л. В. Литвинцева ; под ред. Д. А. Поспелова. - М. : Радио и связь, 1990. -Кн. 2 : Модели и методы. - С. 56-60.
4. Логический подход к искусственному интеллекту / А. Тейз, П. Грибомон, Ж. Луи [и др.]. - М. : Мир, 1990. - 432 с.
5. Глушков, В. М. Методы символьной мультиобработки / В. М. Глушков,
Г. Е. Цейтлин, Е. Л. Ющенко. - Киев : Наукова думка, 1980. - 252 с.
6. Котов, В. Е. Сети Петри / В. Е. Котов. - М. : Наука, 1984. - 160 с.
7. Робототехника и гибкие автоматизированные производства : в 9-ти кн. / В. М. На-заретов, Д. П. Ким ; под ред. И. М. Макарова. - М. : Высш. шк., 1986. - Кн. 6 : Техническая имитация интеллекта. - 144 с.
8. Кандрашина, Е. Ю. Представление знаний о пространстве и времени в системах искусственного интеллекта / Е. Ю. Кандрашина, Л. В. Литвинцева, Д. А. Поспелов. - М. : Наука, 1989. - 328 с.
9. Лозовский, В. С. Сетевые модели / В. С. Лозовский // Искусственный интеллект : в 3-х кн. : справочник / под ред. Д. А. Поспелова. - М. : Радио и связь, 1990. -
Кн. 2 : Модели и методы. - С. 28-49.
10. Кандрашина, Е. Ю. Ленемы / Е. Ю. Кандрашина // Искусственный интеллект : в 3-х кн. : справочник / под ред. Д. А. Поспелова. - М. : Радио и связь, 1990. -Кн. 2 : Модели и методы. - С. 60-65.
11. Литвинцева, Л. В. Пополнение знаний / Л. В. Литвинцева, Д. А. Поспелов // Искусственный интеллект : в 3-х кн. : справочник / под ред. Д. А. Поспелова. - М. : Радио и связь, 1990. - Кн. 2 : Модели и методы. - С. 76-81.
12. Кандрашина, Е. Ю. Технологические комплексы для разработки баз знаний / Е. Ю. Кандрашина // Искусственный интеллект : в 3-х кн. : справочник / под ред. В. Н. Захарова, В. Ф. Хорошевского. - М. : Радио и связь, 1990. - Кн. 3 : Программные и аппаратные средства. - С. 109-120.
13. Абрахманов, А. А. Инструментальный технологический комплекс для систем семиотического моделирования / А. А. Абрахманов, В. С. Лозовский, С. В. Лозовский // Искусственный интеллект : в 3-х кн. : справочник / под ред. В. Н. Захарова, В. Ф. Хорошевского. - М. : Радио и связь, 1990. - Кн. 3 : Программные и аппаратные средства. - С. 131-150.
14. Плесневич, Г. С. Логические модели / Г. С. Плесневич // Искусственный интеллект : в 3-х кн. : справочник / под ред. Д. А. Поспелова. - М. : Радио и связь, 1990. - Кн. 2 : Модели и методы. - С. 14-28.
15. Котов, В. Е. Связь сетевого и логического подходов к описанию процессов / В. Е. Котов, Л. А. Черкасова // Прикладные аспекты математической логики. Вычислительные системы. - Вып. 122. - Новосибирск : Изд-во Института математики СО АН СССР, 1987. - С. 97-109.