Смекни!
smekni.com

Автоматно-графовая формальная модель композитного документооборота (стр. 3 из 4)

Рисунок 1. Пример иерархического конечного автомата.

Итак, заданные автоматы M=(I, O, S,

,r) и M2 = (
). Предполагается, что система документооборота может принимать сразу несколько состояний, в то время как один исполнитель производит смену состояния только на одно из возможных. Таким образом, автомат M может быть НДКА, в то время, как автомат M2 может быть только ДКА. Выходная функция
автомата M2 состоит из
, которые соответственно определяются выходными функциями U и Z.

Заданы подмножество

из множества состояний S и вход x автомата M, зададим
как множества всех возможных выходов. То есть
в том и только том случае, если существует
такое, что
. Аналогично,
будет множеством всех возможных состояний, то есть
в том и только том случае, если
такое, что
.

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

При заданном автомате

детерминированный конечный автомат
считается реализуемым на M1, если существует хотя бы одна пара цикличных реализаций M1 и M2, таких, что их соединение не вызывает цикла между U и V.

При заданных автоматах

и
ДКА
является допустимым автоматом, если автомат M1 реализуем и поведение
содержится в M, где
является выходным результатом M. Поведение, которое реализуется допустимым автоматом, является допустимым поведением.

3.4.1. Свойства ИКА

Рассмотрим применение НДКА для реализации ИКА. Пусть при данном

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

1)

;

2)

;

3)

.

В каждом из вычислений

есть множеством подмножества
. Причем пустое подмножество {0} тоже может входить во множество
. При заданном
множество
вычисляется следующим образом:
в том и только том случае, если также
или
.

Пусть K будет позитивным целым, таким, что

. Такое K всегда существует, если количество элементов множества
не возрастает во время вычислений и количество подмножеств
конечно.

Пусть

будет такой связью, что
в том и только в том случае, если
или
.

Значит, мы можем определить ИКА документооборота пятеркой

, где
. При этом каждое состояние ИКА представляет подмножество
.

3.4.2. Архитектура ИКА

В работе [10] показано, что рекурсивные алгоритмы могут быть построены из иерархических модулей, которые вызывают сами себя и рекурсивно передают входные и выходные данные. На рисунке 2 показана рекурсивная функция gcd. Локальные состояния x1 и x2 определяют соответствующую ветвь алгоритма. Микрооперации y1 и y2 осуществляют обработку данных и рекурсивную передачу данных между модулями алгоритма. Рекурсия организуется путем многократного вызова одного модуля, в нашем случае модуля Z.

Рис. 2. Рекурсивная функция gcd

Архитектура иерархического конечного автомата, который может рекурсивно обрабатывать конечные автоматы, приведена на рис. 3.

Рис. 3. Архитектура ИКА.

Иерархический КА, который приведен на рис. 3, имеет два технологических стека. Один стек автомата, который обозначен FSM_stack, предназначен для обработки состояний. Второй стек, обозначенный M_stack, предназначен для обработки модулей, представляющих собой автоматы моделирования поведенческих единиц.

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

Состояние внутри ИКА соответствует состояниям a0…a4 на рис. 1. Поскольку каждый конкретный модуль имеет уникальный идентификатор, то обозначения одних и тех же состояний могут использоваться в различных модулях. На рис. 2 показано, как ИКА исполняет алгоритм, приведенный на рис. 1.

Все неиерархические вызовы производятся путем смены кода модуля в верхнем состоянии регистра FSM_Stack. На рис. 2 такой пример обозначен знаком «*». Все иерархические вызовы изменяют состояния обоих стеков. При этом M_Stack сохраняет код нового модуля, а FSM_Stack устанавливается в начальное состояние инициализируемого модуля. Такой пример на рисунке 2 обозначен символом «#».

Иерархический вызов активирует операцию «pop» без изменения стеков, на рисунке это обозначено «&». В результате завершения работы модуля ИКА перейдет в состояние, последующее за состоянием, на котором был произведен вызов модуля. Указатель стеков stack_ptr является общим для обоих стеков. Работа ИКА прекращается при достижении позиции «End» и состоянии указателя stack_ptr =0.

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

5. Выводы

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