Меню
Главная
Авторизация/Регистрация
 
Главная arrow Менеджмент arrow УПРАВЛЕНИЕ БИЗНЕС-ПРОЦЕССАМИ: СОВРЕМЕННЫЕ МЕТОДЫ.
Посмотреть оригинал

Отбор и подготовка сообщений

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

Для каждой выбранной коммуникационной альтернативы необходимо подготовить соответствующие сообщения или виды сообщений на отправку или на принятие (в случае мультисвязи — MsgToBeHandled), что управляется описанным ниже компонентом PREPAREMSGComAct.

Кроме того, компонент MANAGEALTERNATIVEROUND должен следить за тем, чтобы каждая возможная коммуникационная альтернатива в альтернативе (subj, state) в пробной группе хотя бы один раз была выбрана. Для этого в каждой группе копируется определенное количество альтернатив (subj, state) в динамическое количество Round Alternative, а в случае мультикоммуникационных альтернатив запускается мультигруппа. Это описание обобщено в символической форме через следующее определение, про компонент PREPAREMSG которого рассказано далее.

В случае передачи субъект собирает с помощью абстрактной функции composeMsg подготовленные к рассылке сообщения из соответствующих данных, т.е. из значений основных структур данных, к которым имеет доступ абстрактная функция msgData. Аналогично получатель выбирает из данного состояния возможно ожидаемые типы сообщений с помощью заданного критерия выбора selectMsgKind. Используемые здесь абстрактные функции представляют собой интерфейсы для основных состояний данных, которые могут быть уточнены, как только эти структуры станут известными. Мы предполагаем, что функции sender (msg), type (msg) и receiver (msg) существуют для извлечения назначенной информации из сообщения, a composeMsg должен включать эту информацию. То же самое верно и для expectedMsgKind и selectMsgKin(1.

Это описание определяет компонент PREPAREMSGSend и символично обобщено таким образом:

PrepareMsgComAct (subj, state, alt) = forall / < i < mult (alt) if ComAct = Send then

let mi = composeMsg (subj, msgData (subj, state, alt), i)

MsgToBeHandled (subj, state) := {ml,..., mmult (alt)} if ComAct = Receive then

let mi=selectMsgKind (subj, state, alt, i) (ExpectedMsgKind (subj, state, alt)) MsgToBeHandled (subj, state) := {ml,..., mmult (alt)}

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы