УДК 681.324
С. А. Зинкин
САМОМОДИФИЦИРУЕМЫЕ СЦЕНАРНЫЕ МОДЕЛИ ФУНКЦИОНИРОВАНИЯ СИСТЕМ И СЕТЕЙ ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ (РЕАЛИЗАЦИЯ И СВОЙСТВА СЦЕНАРНЫХ СЕТЕЙ)
Рассмотрены вопросы реализации временных сценарных сетей, на основе которых возможно построение имитационных моделей систем хранения и обработки данных. Исследованы свойства темпоральных операторов, на основе которых построена алгебра сценарных сетей. Приведены примеры графического представления одноуровневых и иерархических сценариев.
Введение
Современные распределенные системы хранения и обработки данных состоят из многих распределенных компонентов, взаимодействие которых необходимо согласовывать. Обычно согласующая часть распределенной системы поддерживает все взаимодействия между процессами и организует их взаимную кооперацию [1]. Рассматриваемая нами модель согласования основана на использовании основных метафор взаимодействия процессов, координирующих свою деятельность: прямого согласования, согласования при встрече, согласования через почтовый ящик, организация генеративной связи [1]. Любая метафора должна соответствовать тому или иному способу согласованного использования информационных объектов, представляющих сигнатуру многоосновной алгебраической системы. Структурные и логические связи между понятиями предметной области представляются сигнатурой и формулами в этой сигнатуре. Сигнатура представляет декларативные знания, сценарии - процедурные знания о предметной области. Сценарии реализуются сетями абстрактных машин (СеАМ) [2], состоящих из модулей, объединенных каузальными (причинно-следственными) связями.
Временные сценарные модели
Для временных сетей сценариев расширим сигнатуру (следуя [3]) путем включения в нее 0-арных функций (счетного множества констант) 0: ^ Time, 1: ^ Time, 2: ^ Time, ..., t: ^ Time - объектов сорта Time и следующих функций:
/plus: Time X Time ^ Time, (1)
/le: Time X Time ^ {true, false}, (2)
/begin: A ^ Time, (3)
/end: A ^ Time, (4)
где /plus - функция, с помощью которой производится сложение натуральных чисел, измеряющих моменты времени; /le - двуместный предикат, за-
дающий отношение «меньше или равно» между натуральными числами; /begin и /end - функции начала и конца выполнения подсценария (события).
В качестве примеров рассмотрим реализацию задержек в АСеС модулями СеАМ и их расширенного процедурами варианта РСеАМ.
Следующий фрагмент РСеАМ реализует задержку на время d:
...; (3!d е D) /delay_i(d);
^eg^«delay_i) — /clock (time);
/e<ndky_i(«delay_i) — /plus(/beegay_i(«delay_i),d);
/le (/enedlay_i (adelay_i ), ./clock(time)) {rE}; ..., (5)
где /delay i - унарная функция, используемая при генерировании значений
/■delay i i i
времени задержки; /begin - унарная функция, фиксирующая текущее показание системных часов (задает начало интервала задержки); /clock - унарная
i /.delay i i
функция, хранящая показания системных часов; /end - унарная функция,
задающая окончание интервала задержки; /plus - бинарная функция, аргументами которой являются объекты сорта Time; d - переменная, значением которой является величина интервала задержки; /le - бинарный предикат сравнения на объектах сорта Time; «delay i; time - константы.
Роль системных часов выполняет следующий СеАМ-модуль:
mtime
[/le (/clock(time), ^mod|/clock(time) — /plus (Alock(time), T)vR^ ), (6)
где rmod - длительность процесса моделирования; т - некоторый квант времени.
Реализация задержек с помощью модулей СеАМ осуществляется следующим образом. Допустим, что последовательно выполняются следующие модули:
m = [/1(a)]/1(a) — false, (2(a) — true}v RE ); (7)
т2 = [/12(a)]/12 (a) — false, /2(a) — true}v RE ), (8)
где /12 - каузальная функция; а - некоторая константа.
Для реализации межмодульной задержки заменим функцию /12 двумя функциями /12 и /12, введем новый модуль mdelay и модифицируем модули т1 и т2 :
mi = [/1(a) &(3!dе D)/deky_i(d)]({/1(a) — false, /1,2(a) — true,
dl . т и (9)
/b(a) — /clock (time)} v R );
mdelay = [ /12 (a)] ({ /12 (a) ^ false. /12 (a) ^true. /e^Ca) ^ /plus (/¿^-'(a). ^ )}v ^
m2 = [ f12 (a) & fle (/endlay_1 (a) /clock (time)
({/12 (a) <- false, /2 (a) ^ true} v ).
(10)
(11)
Выражения (7) и (8) предназначены для программной или аппаратной реализации в реальных системах хранения и обработки данных, а производные от них выражения (9)—(11) могут служить основой для построения имитационной модели проектируемой системы.
На рисунке 1 дано графическое представление иерархического сценария А:
А = {А1 Т (А2 $ Аз) Т А4, Аз||Б2, В1 Т (В2|Вз) Т В4, С1 Т Вз Т с2}.
( С 1 I С I
V V V 2)
Рис. 1 Графическое представление иерархического сценария
Учитывая основные свойства темпоральных операций, можно осуществить переход от иерархического сценария А к его одноуровневому представлению А':
А = {А1Т А2 Т А4, А2 £ А3, А1Т А3 Т А4, А3ЦВ2, в1 Т в2 Т в4, в1 Т в3 Т в4, с1 Т в3 Т с2}.
Графическое представление одноуровневого сценария А' приведено на рисунке 2. Символ конъюнкции (&) на выходе сценария означает, что все следующие за ним сценарии должны быть выполнены. Использование этого
же символа на входе сценария означает, что все предшествующие сценарии должны быть завершены.
Свойства темпоральных операторов Ассоциативность:
(А Т В) Т С = А Т (В Т С); (А А В) А С = А А (В А С);
(А Г В) Г С = А Г (В Г С); (А У В) У С = А У (В У С);
(А $ В) $ С = А $ (В $ С); (А|В)|С = А|(В|С);
(А || В) || С = А || (В || С); (А ||| В) |||С = А ||| (В ||| С);
(А V В) V С = А V (В V С); (А у^ В) у^ С = А у^ (В у^ С);
(А ф В) ф С = А ф (В ф С); (А ©• В) ©• С = А ©• (В ©• С). Коммутативность:
А $ В = В $ А; А|В = В|А; А||В = В||А; А|||В = В|||А;
А у В = В у А; А у^ В = В у^ А; А ф В = В ф А; А ф^ В = В ф^ А. Идемпотентность:
А Т А = А; А А А = А; А ^ А = А; А $ А = А; А|А = А;
А || А = А; А ||| А = А; А у А = А; А ф А = А.
Дистрибутивность слева и справа:
А Т (В|С) = (А Т Б)|(Л Т С), (А|В) Т С = (А Т С)|(В Т С);
А А (В|С) = (А А В)|(А А С), (А|В) А С = (А А С)|(В А С);
А Г (В|С) = (А ^ В)|(А ^ С), (А|В) Г С = (А Г С)|(В ^ С);
А |Г (В|С) = (А |р В)|(А |Г С), (А|В) У С = (А У С)|(В У С);
А Т (В||С) = (А Т В)||(А Т С), (А||В) Т С = (А Т С)||(В Т С);
А А (В||С) = (А А В)||(А А С), (А||В) А С = (А А С)||(В А С);
А ^ (В||С) = (А Г В)||(А Г С), (А||В) Г С = (А Г С)||(В ^ С);
А || (В||С) = (А У В)||(А У С), (А||В) У С = (А У С)||(В |Г С);
А Т (В|||С) = (А Т В)|||(А Т С), (А|||В) Т С = (А Т )|||(В Т С);
А А (В|||С) = (А А В)|||(А А С), (А|||В) А С = (А А С)|||(В А С);
А Г (В|||С) = (А ^ В)|||(А Г С), (А|||В) Г С = (А Г С)|||(В Г С);
А У (В|||С) = (А У В)|||(А У С), (А|||В) У С = (А |Г С)|||(В У С). Дополнительные свойства:
А Т АЕ = АЕ Т А = А; А А АЕ = АЕ А А = А;
А Г АЕ = АЕ Г А = А; А|р АЕ = АЕ У А = А;
А $ АЕ = АЕ $ А = А; А | АЕ = АЕ | А = А;
А||АЕ = АЕ|| А = А; А|||АЕ = АЕ ||| А = А;
А Т АК = АК Т А = АК; А А АК = АК А А = АК;
А Г АК = АК Г А = АК; А||* АК = АК У А = АК;
А $ АК = А14 $ А = А14; А|АК = А14 | А = А;
А||АК = АК|| А = АК; А||' АК = Ак ||' А = А; А|||АК = АМ ||| А = АК
В представленных выше выражениях ||г - операция «необходимое пересечение интервалов реализации сценариев», аналогичная операция || с той
* N
разницей, что завершение неопределенного сценария А не влияет на успешное завершение связанного с ним сценария А.
Отрицание сценариев:
-•А = АЕ; -•• А = А^ -•АЕ = АЕ;
-••АЕ = AN; = AN; = AN.
Справедливы следующие равенства, поясняющие семантику некоторых операций:
А V В = А $• В = А $ В V А $ -•В V В $ -ТА = [-](А $ В V А V В);
А v• В = А $~ В = А $ В V А $ -• В V В $ -• А V -• А $ -• В =
= [-](А $ В V А V В V АЕ);
А ® В = А $ -•В V В $ -• А = [-](А V В);
А ©• В = А $ -•В V В $ -• А V -•А $ -•В = [-](А V В V АЕ),
где [•] - символ выбора одного сценария из нескольких альтернатив.
Аналогично определяются и дополнительные темпоральные операции:
А Г В = А Т В V А Т-В = [-](А Т В V А);
А Т~ В = А Т В V А Т-В V -• А Т -• В = [-](А Т В V А V АЕ);
А | В = А|В V А | -• В V -•А | В = [-](А |В V А V В);
А |“ В = А | В V А | -• В V -• А | В V -• А | -• В = [-](А | В V А V В V АЕ).
Операции Г и Т“ некоммутативны и ассоциативны, а операции р и
••
| - коммутативны и ассоциативны.
В приведенных выше соотношениях АЕ - тождественный сценарий, соответствующий тождественному оператору Е в алгебре алгоритмов; AN - неопределенный сценарий, соответствующий неопределенному оператору N в алгебре алгоритмов. В этом смысле AN соответствует пустому действию (дедлоку, ошибке), принятому в [4]. Реализация А не влечет за собой последствий для сети сценариев в целом, в то время как реализация А связана с возможными «фатальными» последствиями в сети. Рассмотрим в этой связи
• * * Е
операции отрицания сценариев - А = А - отрицание сценария, не препятст-
•• * * N
вующее реализации сети сценариев; - А = А - отрицание сценария, возможно, влекущее «фатальные» последствия для выполнения сети. Аналогично аксиомам для модифицированного отрицания процессов из [4] для алгебры сценариев справедливы следующие соотношения:
-• (АюВ) = -• А | -• В, -•• (АюВ) = -•• А | -•• В ,
где ю - произвольный оператор алгебры сценариев.
Основные свойства других исследованных ранее (например, в работе [3]) базовых логических операций для процессов «конъюнкция», «дизъюнкция», «невыполнение», «исключительное или» и «предшествование» имеют место и в алгебре сценариев, однако в алгебре сценариев в первую очередь учитываются «темпоральные» свойства операций как следствия причинноследственных отношений. Свойства «некоммутативных» темпоральных операций, например, в целом соответствуют известным свойствам операции «следование», или «композиция» [5].
Формульные и графические представления сценариев
Сценарии удобно представить совокупностями выражений, например, следующего вида:
А1 = {Ад Т А]_ Т А2 т [оС]_](Аз V A4), А3 Т А4 Т [а2](А5 V А2Х А5 Т А^};
А2 = {А1 Т А2 Т А3 Т [а1](А4 V A2), А4 Т А5 Т А6 Т Ак};
А3 = {А0 Т А1[а1](А2 V Ак X А2 Т А3 Т А6 Т А4 Т [а2](А5 V A3),
А5 Т [а3](Ак V А3)};
А4 = {А0 Т А1 Т ([а1]([а2](А2 V А5) V А4^
А2 Т А3 Т А5 Т А4 Т [а3] (А6 V A1), А6 Т Ак};
А5 = {А0 Т (А1 I А2) Т [а1](А5 V (А3 $ A4)),
(А3 I А4) Т [а2](А6 V А5 Т А6 Т Ак};
А6 = {Ад Т А! Т (А2 $ Аз) Т 1А5) V (А2 $ А3)), (А4 1А5) Т А6 Т Ак}.
Графические представления сценариев можно получить, объединяя соответствующие подграфы:
= (5^(5)
а, і—іа2)——*^5)
а,= (Ао)-----* А
а
и (А2) КАз) 'А^ КА4^ \а5>
а о
Ка?)
АУ
и 1А5
= @----------------------*
А
2 і ) \Л6 і \^4
<5>
а2 «ч аз [ А4 ) НА5І ^ Ак
и
а
і
2
з
.аа,
Й4= (А^у---------Л^У------------ЯА0 ( А0 (А4/ и \,А2
а,—а
К5)”
и (А
а^а 2/—V
I А0 ) К А1 ) <А^ \ А3 ) \ А5 ^ ^ а4 ;
а1——а 2
-а
О--------------<£)
а<= ( Ад )---------г
© © ““Ч5)
(А^---э(А^ -^^аТ)
©.------<А^)
па 2
(А^—
(а)
и (АЛ-------<Ак,
Ап
г (А •\ ( ■\ А^
) к У )
—а1
—а2 V ^—5
А,
(А^—0^©—^А)
&6= Ад
(5) » (А^ <А^ —и (£) э(а5)
па1
(А^—{а^---{а^-з(А^)
Ап
/ > (а^—{А) а1 э /* > (А^ 9(а5) ^ J —<
—а ^ 1 У
*(А^-----(А)
Некоторые вопросы реализации сценарных моделей были ранее изложены в наших работах [2, 6, 7, 8].
—а
и
и
и
а
и
и
Выводы
1. Формализм активных семантических сетей, рассмотренный в настоящей работе, допускает удобное для разработчика представление декларативных (предикатами и функциями) и процедурных (алгеброй концептуальных графов) знаний о проектируемой системе.
2. Определенные в работе временные сети сценариев позволяют реализовывать не только механизмы непосредственно интерпретируемых спецификаций, но и имитационные модели систем хранения и обработки данных.
3. Самомодифицируемые сценарные модели, реализуемые сетями абстрактных машин высших порядков, особенно удобны при создании такого сетевого программного обеспечения реконфигурируемых систем хранения и обработки структурированных данных, в котором стираются грани между сетевой операционной системой, распределенной системой управления базой данных и распределенным приложением.
Список литературы
1. Таненбаум, Э. Распределенные системы. Принципы и парадигмы / Э. Танен-баум, ван Стеен М. - СПб. : Питер, 2003. - 877 с.
2. Зинки н, С. А. Алгебра сценариев для спецификации операционной семантики активных сетей хранения и обработки данных / С. А. Зинкин // Известия высших учебных заведений. Поволжский регион. - 2004. - № 2. - С. 96-107. - (Технические науки).
3. Плесневич, Г. С. Логические модели / Г. С. Плесневич // Искусственный интеллект : в 3-х кн. : справочник / под ред. Д. А. Поспелова. - М. : Радио и связь, 1990. - Кн. 2 : Модели и методы. - С. 14-28.
4. Котов, В. Е. Связь сетевого и логического подходов к описанию процессов / В. Е. Котов, Л. А. Черкасова // Прикладные аспекты математической логики. -Новосибирск: Изд-во Института математики СО АН СССР, 1987. - С. 97-109. -(Вычислительные системы, Вып. 122).
5. Ершов, А. П. Ведение в теоретическое программирование / А. П. Ершов. - М. : Наука, 1977. - 283 с.
6. Зинкин, С. А. Макроструктурная теория распределенных мобильных систем хранения и обработки данных / С. А. Зинкин // Синтез и сложность управляющих систем : материалы XIII Международной школы-семинара. - М. : МГУ, 2002. -I, II ч. - С. 84-89.
7. Зинкин, С. А. Мобильные агентно-базированные вычисления и семантические сети / С. А. Зинкин // Синтез и сложность управляющих систем : материалы XIII Международной школы-семинара. - М. : МГУ, 2002. - I, II ч. - С. 89-94.
8. Зинкин, С. А. Сценарные модели функционирования систем и сетей хранения и обработки данных / С. А. Зинкин // Новые информационные технологии и системы : материалы VII Международной научно-технической конференции. - Пенза : Пенз. гос. ун-т, 2006. - С. 117-123.