Научная статья на тему 'Метод моделирования реактивных систем с параллельными и последовательными процессами'

Метод моделирования реактивных систем с параллельными и последовательными процессами Текст научной статьи по специальности «Математика»

CC BY
30
7
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Лукьянова Е.А., Дереза А.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The method of creation of model of difficult multiblock real system is offered. The task of a combination of serial and parallel performance of initial processes of modelled system at the expense of performance of APLLY operation for OBDD, representing automatic machines corresponding for the Petri nets components of researched system dares.

Текст научной работы на тему «Метод моделирования реактивных систем с параллельными и последовательными процессами»

УДК 519.713.1 УДК 51.681.3

МЕТОД МОДЕЛИРОВАНИЯ РЕАКТИВНЫХ СИСТЕМ С ПАРАЛЛЕЛЬНЫМИ И ПОСЛЕДОВАТЕЛЬНЫМИ ПРОЦЕССАМИ

© Лукьянова Е. А., Дереза А. В.

Киевский национальный университет им. Т.Г.Шевченкоj г.Киев.

Таврический национальный университет им. В.И. Вернадского, г.Симферополь.

e-mail: lukyanovaeaemail.ru

Abstract. The method of creation of model of difficult multiblock real system is offered. The task of a combination of serial and parallel performance of initial processes of modelled system at the expense of performance of APLLY - operation for OBDD, representing automatic machines corresponding for the Petri nets components of researched system dares.

Введение

О ТД а В ая предпочтение формальному моделированию, представим модель реактивной системы в виде набора моделей взаимодействующих компонент. Это позволит моделировать каждую компоненту независимо. Цель - получить общую модель сложной многоблоковой реальной системы, что в дальнейшем даст возможность провести проверку свойств всей исходной моделируемой системы. Для достижения поставленной цели в работе предлагается метод, использующий формализм сетей Петри (СП) [1], компактное представление конечных систем, в частности конечных автоматов (КА), упорядоченными бинарными диаграммами решений (УБДР, или OBDD - Ordered binary Decision Diagrams [2]) и применяющий APLLY - операцию к OBDD конечных автоматов сетей Петри, моделирующих исходные компоненты исследуемой системы.

В статье предлагаемый метод продемонстрирован на работе единого ресурса, содержащего две криптографические схемы Диффи-Хелмана и RSA.

1. Предварительные сведения

BDD - графическое представление булевой функции, представляющая собой ориентированный ациклический граф G = (V,, E), где V - множество вершин графа. Каждая внутренняя (нетерминальная) вершина дерева решений v обозначается символом переменной var(v) и имеет дуги, которые ведут к сыновьям: сын l(v) отвечает значению переменной 0 и сын h(v) отвечает значению переменной 1. Все вершины-листки дерева (терминальные вершины) обозначаются константами 0 или 1, и не

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

Для вычисления булевой функции Г(x1,x2,... хп), БОО используется следующим образом: каждый вход х = (х\,х2,.. .хп) Е {0,1}п определяет вычислительный путь через БОБ, начинающийся с корня. Если путь достигает нетерминальный узел V - от следует по дуге ¡(у) , если хг = 0 и то дуге к(у), если хг = 1 . На всех путях достигается терминальный узел, так как граф направленный и ациклический. БОБ с заданным порядком на переменных называется ОБОБ. От выбора и од ход я тц его порядка зависит размер и эффективность манипуляций с ОБОО.

Использование ОБОО для представления конечного X — автомата А = (А, X, /, Г) основано на представлении его функции перехода / в виде отношения К^ заданного на множестве кодов состояний АХ - автомата, где X = {0,1} / : А х X —> А, Г С А. Пусть для некоторых состояний а,Ъ Е А и некоторого х Е X имеем / (а,х) = Ъ. Если х, а, Ъ - соответственно коды символа х и состояний а,Ъ Е А, то

(1, если / (а, х) = Ъ;

0, если /(а, х) = Ъ; в других случаях .

Отношению ^ соответствует булева функция gf (х,а,Ъ) , которая равна 1, тогда и только тогда, когда Кf (х,а,Ъ) = 1-

Символьные операции над булевыми функциями с применением ОБОО можно рассматривать как соответствующие алгоритмы на графах, которые представляют эти ОБОО. Причем выполнять можно произвольные как угодно сложные последовательности операций, не нарушая заданного порядка для переменных. АРРЬУ -операция строит булеву функцию / (ор)д при помощи применения бинарных операций ((ор) Е {+, •}) к функциям-аргументам / иди выполняет соединение двух

1

таблиц служит для повышения эффективности вычислений, а вторая - для построения максимально редактированного графа-результата. АРРЬУ - операция основывается на возможности перестановки бинарных операций с расширенной операцией сужения для произвольной переменной х:

/(оР)д = -х •(/ (оР)д и^-о) + х •(/ (оР)д \х^-1).

Данное равенство - рекурсивная процедура вычисления ОБ О О, представляющей функцию /(ор)д.

Операция сужения для функции /, представленной ОБОО с вершиной-корнем т^ относительно переменной х < vaт(тf) вычисляется при помощи следующей процедуры:

Применение APPLY - алгоритма к OBDD выполняется следующим образом. Каждый шаг вычислений определяется корневыми вершинами графов-аргументов. Пусть функции f и g представлены OBDD, корни которых rf и rg соответственно. В том случае, когда rf и rg конечные вершины-листки, они обозначаются константой. Рекурсия заканчивается и получаем вершину, которую обозначаем этой константой.

rf rg

ременную x, которая связывает эти вершины. Выбор такой переменной выполняется по правилу:

ОБББ для функций / _о (ор)д ^_о и / _1 (ор)д ^_1 вычисляются рекурсивно для сужения функций / и д для значения 0 и для значения 1 соответственно.

В случае, когда одна из вершин графов-аргументов является листком и представляет доминирующее значение (1 для операции + и 0 для операции •) вызов рекурсивной процедуры не нужен, результатом является вершина, обозначенная доминирующим значением.

Для исключения повторных рекурсивных вызовов для одной и той же пары вершин структуру данных организуют в виде хеш-таблицы для сохранения уже построенных пар. При этом вершины представляют собой ключ, при помощи которого в этой таблице находятся пара вершин и построенная вершина-результат для этой пары. При существовании такой хеш-таблицы начало вычислений начинается с проверки для двух аргументов и и V, есть пли нет пара с ключом кеу(и,ь) в таблице. Если такая пара уже существует, то результатом будет построенная вершина, которая отвечает этой паре. Если не существует такой пары, то в таблицу записывается пара вершин (и, V) с ключом кву(и^) и выполняются вычисления, описанные выше для пары (и^), и после окончания вычислений результат записывается в хеш-таблицу с тем же ключом.

если x < var(rf);

если x = var(rf) and b = 0;

если x = var(rf) and b = 1.

x = min(var(r f ),var(rg)).

Каждый тттаг вычислений определяет вершину в строящемся графе. Для того, чтобы сгенерировать редуцированный граф непосредственно, при каждом тттаге вычислений необходимо избежать возникновения новой вершины 5 что достигается пу~ тем использования соответствующих правил преобразований ОБ ВО.

2. Функционирующие схемы

Согласно результатам представленных в [3] работа схемы Диффи-Хелмана моделируется СП представленной на рисунке 1.

Эта СП имеет конечные множества в и Т - инвариантов [3], что позволяет по данной СП построить соответствующую конечную транзиционную систему (ТС), граф которой представлен на рисунке 2.

Рис. 1. СП дл я схе м ы Диффи-Хеллмана

Рис. 2. ТС д л я схе м ы Диффи-Хеллмана

Полученная (ТС) представляет собой четверку А = (в = { а, Ъ, с, е, /, д }, Т = {Ь1,12, ¿д, ¿10}, /, д), оде в - множество состояний, Т - множество

переходов, / и д - два отображения из Т в в, ставящие в соответствие каждому переходу ¿из Т два состояния / (^ и д^) - соответственно начало и коне ц перехода t. Зададим функции /(^ и д(Ь) с помощью таолицы 1.

в

построенная ТС есть конечный инициальный бинарный X - автомат (КА), реализующий схему Диффи-Хелмана (Рис. 3).

Таблица 1

1 tl t2 ta t4 te tj te t9 t10

f f g b b a c d e d e

g a c a c d e e d f g

Далее, полученный конечный X - автомат представляется редуцированной ОБОО, изображенной на рисунке 4.

Рас. 3. К А дл я. схе м ы Диффи-Хеллмана

Рис. 4. OBDD представление для схемы Диффи-Хеллмана

Проведя исследования для криптографической схемы RSA, аналогичные исследованиям схемы Диффи-Хелмана, подробно описанные в [3], получаем модель схемы RSA в виде СП (рисунок 5). Затем, проводим формальный анализ свойств модели на наличие S r T инвариантов, строим соответствующую ТС (таблица 2, рисунок 6), трансформируем ее в К А (рисунок 7) и строим редуцированную OBDD (рисунок 8). На каждом этапе выясняются и проверяются свойства, рассматриваемой алгоритмической схемы.

Рис. 5. СП для схемы КБ А

Рис. б. ТС для схемы КБ А

Рис. 7. КА для схемы КБА

Рис. 8. ОЕШБ представление для схемы КБ А

Табличное представление тс, соответствующей СП схемы RSA:

2 ti t2 ta t4 t5 te t7 t8 t9 t10 t11 112 tva

f e d p q P p-i Ф e q q-1 n n Ф

g P q n q-1 p-1 Ф e d n Ф P q d

3. APPLY - операция функционирующих схем

Выполнение APPLY - операции для построения OBDD для операции ((op) Е {+, •}), применительно к булевым функциям, сконструированных согласно отношениям Rf относительно кодировки состояний соответствующих X - автома-

RSA

OBDD

быть переведет в конечный результирующий X - автомат. Использование операции • или + отражает либо последовательный характер работы единого ресурса алгоритмических схем, либо параллельное выполнение. В данной работе демонстрируется

OBDD представляется двенадцати уров-

OBDD

женную на рисунке 9 (дуги ведущие в листок 0 не указанны, чтобы не загромождать рисунок).

Данная OBDD может быть представленна в виде конечного инициального X -A

Алфавит входных символов представляется множеством X = 0,1. Подмножество F Ç A состоит из 15 состояний, называемых заключительными или финальными. Функция переходов f : A х X ^ A задается при помощи таблицы ; которая в данной X

не является детерминированным.

Используя алгоритм детерминизации, получим детерминированный инициаль-X OBDD APPLY

ских,граф которого представлен на рисункеЮ. Поскольку в полученном детерминированном автомате состояния A4 и A5 эквивалентны, можно построить минимальный ДКА, граф которого представлен на рисунке 11.

Выводы

В работе предложенный метод моделирования реактивных систем продемонстрирован для моделирования единого ресурса алгоритмических схем. Метод позволил

Рис. 9. Результирующая OBDD после APPLY - операции схемы RSA и Диффи-Хелмана

Рис. 10. Граф ДКА, результирующей ОБ О О АРРЬУ - операции двух функционирующих схем

Рис. 11. Граф минимального ДКА, результирующей ОБОО АРРЬУ операции двух функционирующих схем

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

Получение результирующего конечного автомата сложной системы дает возможность исследовать свойства сложной системы в комплексе. Например, устанавливать такие важные свойства системы как свойства взаимного исключения (mutex) и справедливости (fairness).

Предложенный метод является полностью автоматическим.

СПИСОК ЛИТЕРАТУРЫ

1. Котов В. Е. Сети Петри / В.Е. Котов. - М.: Наука, 1984.

2. Bryant R. Symbolic Boolean Manipulation wiht Ordered Binary Decision Diagrams / Bryant R. // Shcool of Computer Science, Carnegi Mellon University, Pittsburg. - 1992. - 34 p.

3. Лукьянова E. А. Об одном процессе верификации алгоритмических схем / Е.А. Лукьянова, A.B. Дереза // International conference "Intelligent Informations Procesing". IIP-8, Cyprus, Parhos. -2010. - C. 299-302.

4. Чугаенко А. В. О реализации TSS алгоритма / A.B. Чугаенко // Управляющие системы и машины. - 2007. - №3. - С. 26-32.

5. Крывый С. Л. Алгоритмы решения систем линейных диофантовых уравнений в целочисленных областях / С.Л. Крывый // Кибернетика и системный анализ. - 2006. - №2. - С. 3-17

Статья поступила в редакцию 03.05.2011

i Надоели баннеры? Вы всегда можете отключить рекламу.