Patterns: различия между версиями

Материал из RunaWFE
Перейти к навигации Перейти к поиску
 
(не показана 1 промежуточная версия этого же участника)
Строка 107: Строка 107:
===Паттерны, основанные на состоянии (State-based patterns)===
===Паттерны, основанные на состоянии (State-based patterns)===


16. Отложенный выбор (Deferred choice)<BR>
16. Отложенный выбор (Deferred Choice)<BR>
[[Image: Deffcho3.jpg]]
[[Image: Deffcho3.jpg]]


Строка 122: Строка 122:
===Паттерны отмены (Cancellation Patterns)===
===Паттерны отмены (Cancellation Patterns)===


19. Отмена выполнения действия (Cancel activity)
19. Отмена выполнения действия (Cancel Activity)


Паттерн реализуется посредством помещения узла в область с прерыванием.
Паттерн реализуется посредством помещения узла в область с прерыванием.
Строка 128: Строка 128:
[[Image: CancelActivity.jpg]]
[[Image: CancelActivity.jpg]]


20. Отмена выполнения экземпляра бизнес–процесса (Cancel case)
20. Отмена выполнения экземпляра бизнес–процесса (Cancel Case)


Паттерн реализуется при помощи использования точки завершения процесса.
Паттерн реализуется путём использования точки завершения процесса.


[[Image: CancelCase.jpg]]
[[Image: CancelCase.jpg]]

Текущая версия на 20:57, 17 ноября 2024

Реализация WF-паттернов при помощи графических элементов (Аналог доказательства теоремы полноты)

Введение

Всё множество паттернов реализуется при помощи конструкций базового набора выбранной нотации.

Замечание: Определения всех паттернов даны на сайте www.workflowpatterns.com и здесь не приводятся. Здесь представлены только примеры реализаций.

Реализации паттернов при помощи конструкций базового набора

Основные паттерны потока управления (Basic Control Flow Patterns)

1. Последовательность (Sequence)


Sequence.jpg


2. Параллельное расщепление (Parallel Split)


Fork2.jpg

3. Синхронизация (Synchronization)


Join2.jpg

4. Исключающий выбор (Exclusive Choice)

Choice2.jpg


5. Простое соединение (Simple Merge)


Merge2.jpg

«Продвинутые» паттерны ветвления и синхронизации (Advanced Branching and Synchronization Patterns)

6. Множественный выбор (Multi-choice)


MultiChoice.jpg

Пример реализации множественного выбора и синхронизованного соединения для трех элементов.


7. Синхронизованное соединение (Synchronizing Merge)

См. выше.


8. Несинхронизованное соединение (Multi-merge)

Реализуется элементом «Простое соединение».


MultiMerge.jpg


Пример реализации параллельного расщепления и несинхронизованного соединения для трех Действий.


9. Дискриминатор (Discriminator)

Discriminator3.jpg


9а. N-из-M-соединение (N-out-of-M-join)

NoutOfM.jpg

Пример реализации параллельного расщепления и 2-из-3 соединения.

Структурные паттерны (Structural Patterns)

10. Произвольный цикл (Arbitrary Cycle)

Cycle.jpg

Пример произвольного цикла.


11. Неявное завершение (Implicit Termination)

Не поддерживается.

Паттерны, содержащие несколько действий (Patterns Involving Multiple Instances)

12. Мульти-действие без синхронизации (Multiple Instance Without Synchronization)

Multu3.jpg

13. Мульти-действие с синхронизацией и заранее известным (на этапе создания-редактирования бизнес-процесса) количеством экземпляров действия (Multiple Instances With a Priori Design Time Knowledge)

Является частным случаем мульти-действия с известным до начала выполнения количеством экземпляров действия.


14. Мульти-действие с известным до начала выполнения количеством экземпляров действия (Multiple Instances With a Priori Runtime Knowledge)

Multu2.jpg

15. Мульти-действие с синхронизацией и неизвестным в момент начала выполнения узла паттерна общим количеством экземпляров узла (Multiple Instances Without a Priori Runtime Knowledge) Multu4.jpg

Паттерны, основанные на состоянии (State-based patterns)

16. Отложенный выбор (Deferred Choice)
Deffcho3.jpg

17. Выполнение в нефиксированном порядке (Interleaved Parallel Routing)

InterleavedParallelRouting.jpg

Пример реализации паттерна для трех Действий.


18. Паттерн специального состояния WF-процесса (Milestone) Milestone.jpg

Паттерны отмены (Cancellation Patterns)

19. Отмена выполнения действия (Cancel Activity)

Паттерн реализуется посредством помещения узла в область с прерыванием.

CancelActivity.jpg

20. Отмена выполнения экземпляра бизнес–процесса (Cancel Case)

Паттерн реализуется путём использования точки завершения процесса.

CancelCase.jpg

Замечания (Николай Васильев)

  1. Пункт "9а. N-из-M-соединение (N-out-of-M-join)". Не вижу на картинке соединения 2-из-3! Вижу 1-из-3. Надо поправить картинку.