Patterns: различия между версиями
Nvasiliev (обсуждение | вклад) |
Nvasiliev (обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
===Основные паттерны потока управления (Basic Control Flow Patterns)=== | ===Основные паттерны потока управления (Basic Control Flow Patterns)=== | ||
1. Последовательность ( | 1. Последовательность (Sequence) | ||
Строка 16: | Строка 16: | ||
2. Параллельное расщепление (Parallel Split) | 2. Параллельное расщепление (Parallel Split) | ||
[[Image: Fork2.jpg]] | [[Image: Fork2.jpg]] | ||
3. Синхронизация (Synchronization) | 3. Синхронизация (Synchronization) | ||
Строка 27: | Строка 27: | ||
[[Image: Join2.jpg]] | [[Image: Join2.jpg]] | ||
4. Исключающий выбор | 4. Исключающий выбор (Exclusive Choice) | ||
[[Image: Choice2.jpg]] | [[Image: Choice2.jpg]] | ||
5. Простое соединение | 5. Простое соединение (Simple Merge) | ||
Строка 39: | Строка 39: | ||
===«Продвинутые» паттерны ветвления и синхронизации (Advanced Branching and Synchronization Patterns)=== | ===«Продвинутые» паттерны ветвления и синхронизации (Advanced Branching and Synchronization Patterns)=== | ||
6. Множественный выбор (Multi-choice) | 6. Множественный выбор (Multi-choice) | ||
Строка 46: | Строка 46: | ||
Пример реализации множественного выбора и синхронизованного соединения для трех элементов. | Пример реализации множественного выбора и синхронизованного соединения для трех элементов. | ||
7. Синхронизованное соединение (Synchronizing Merge) | 7. Синхронизованное соединение (Synchronizing Merge) | ||
См. выше. | См. выше. | ||
8. Несинхронизованное соединение | 8. Несинхронизованное соединение (Multi-merge ) | ||
Реализуется элементом «Простое соединение». | Реализуется элементом «Простое соединение». | ||
Строка 59: | Строка 59: | ||
Пример реализации параллельного расщепления и несинхронизованного соединения для трех Действий. | Пример реализации параллельного расщепления и несинхронизованного соединения для трех Действий. | ||
9. Дискриминатор (Discriminator) | 9. Дискриминатор (Discriminator) | ||
[[Image: Discriminator3.jpg]] | [[Image: Discriminator3.jpg]] | ||
Строка 65: | Строка 65: | ||
9а. N-из-M-соединение (N-out-of-M-join) | 9а. N-из-M-соединение (N-out-of-M-join) | ||
[[Image: NoutOfM.jpg]] | [[Image: NoutOfM.jpg]] | ||
Строка 73: | Строка 73: | ||
===Структурные паттерны (Structural Patterns)=== | ===Структурные паттерны (Structural Patterns)=== | ||
10. Произвольный цикл | 10. Произвольный цикл (Arbitrary cycle) | ||
Строка 81: | Строка 81: | ||
11. Неявное завершение (implicit termination) | 11. Неявное завершение (implicit termination) | ||
Не поддерживается. | Не поддерживается. | ||
Строка 87: | Строка 87: | ||
===Паттерны, допускающие несколько экземпляров узла (Patterns Involving Multiple Instances)=== | ===Паттерны, допускающие несколько экземпляров узла (Patterns Involving Multiple Instances)=== | ||
12. Мульти-действие без синхронизации (multiple instance without synchronization) | 12. Мульти-действие без синхронизации (multiple instance without synchronization) | ||
[[Image: Multu3.jpg]] | [[Image: Multu3.jpg]] | ||
13. Мульти-действие с синхронизацией и заранее известным (на этапе создания -редактирования бизнес -процесса) количеством экземпляров действия | 13. Мульти-действие с синхронизацией и заранее известным (на этапе создания-редактирования бизнес-процесса) количеством экземпляров действия (Multiple Instances With a Priori Design Time Knowledge) | ||
Является частным случаем мульти-действия с известным до начала выполнения количеством экземпляров действия. | Является частным случаем мульти-действия с известным до начала выполнения количеством экземпляров действия. | ||
14. Мульти-действие с известным до начала выполнения количеством экземпляров действия | 14. Мульти-действие с известным до начала выполнения количеством экземпляров действия (Multiple Instances With a Priori Runtime Knowledge) | ||
[[Image: Multu2.jpg]] | [[Image: Multu2.jpg]] | ||
15. Мульти-действие с синхронизацией и неизвестным в момент начала выполнения узла паттерна общим количеством экземпляров узла (Multiple Instances Without a Priori Runtime Knowledge) | 15. Мульти-действие с синхронизацией и неизвестным в момент начала выполнения узла паттерна общим количеством экземпляров узла (Multiple Instances Without a Priori Runtime Knowledge) | ||
Строка 108: | Строка 107: | ||
===Паттерны, основанные на состоянии (State-based patterns)=== | ===Паттерны, основанные на состоянии (State-based patterns)=== | ||
16. Отложенный выбор | 16. Отложенный выбор (Deferred choice) | ||
Строка 114: | Строка 113: | ||
17. Выполнение в нефиксированном порядке | 17. Выполнение в нефиксированном порядке (Interleaved Parallel Routing) | ||
Строка 122: | Строка 121: | ||
18. Паттерн специального состояния WF-процесса ( | 18. Паттерн специального состояния WF-процесса (Milestone) | ||
Строка 130: | Строка 129: | ||
===Паттерны отмены (Cancellation Patterns)=== | ===Паттерны отмены (Cancellation Patterns)=== | ||
19. Отмена выполнения действия ( | 19. Отмена выполнения действия (Cancel activity) | ||
Паттерн реализуется посредством помещения узла в область с прерыванием. | Паттерн реализуется посредством помещения узла в область с прерыванием. | ||
Строка 138: | Строка 137: | ||
20. Отмена выполнения экземпляра | 20. Отмена выполнения экземпляра бизнес–процесса (Cancel case) | ||
Паттерн реализуется при помощи использования точки завершения процесса | Паттерн реализуется при помощи использования точки завершения процесса. | ||
Версия 21:07, 13 ноября 2024
Реализация WF-паттернов при помощи графических элементов (Аналог доказательства теоремы полноты)
Введение
Всё множество паттернов реализуется при помощи конструкций базового набора выбранной нотации.
Замечание: Определения всех паттернов даны на сайте www.workflowpatterns.com и здесь не приводятся. Здесь представлены только примеры реализаций.
Реализации паттернов при помощи конструкций базового набора
Основные паттерны потока управления (Basic Control Flow Patterns)
1. Последовательность (Sequence)
2. Параллельное расщепление (Parallel Split)
3. Синхронизация (Synchronization)
4. Исключающий выбор (Exclusive Choice)
5. Простое соединение (Simple Merge)
«Продвинутые» паттерны ветвления и синхронизации (Advanced Branching and Synchronization Patterns)
6. Множественный выбор (Multi-choice)
Пример реализации множественного выбора и синхронизованного соединения для трех элементов.
7. Синхронизованное соединение (Synchronizing Merge) См. выше.
8. Несинхронизованное соединение (Multi-merge )
Реализуется элементом «Простое соединение».
Пример реализации параллельного расщепления и несинхронизованного соединения для трех Действий.
9. Дискриминатор (Discriminator)
9а. N-из-M-соединение (N-out-of-M-join)
Пример реализации параллельного расщепления и 2-из-3 соединения.
Структурные паттерны (Structural Patterns)
10. Произвольный цикл (Arbitrary cycle)
Пример произвольного цикла.
11. Неявное завершение (implicit termination)
Не поддерживается.
Паттерны, допускающие несколько экземпляров узла (Patterns Involving Multiple Instances)
12. Мульти-действие без синхронизации (multiple instance without synchronization)
13. Мульти-действие с синхронизацией и заранее известным (на этапе создания-редактирования бизнес-процесса) количеством экземпляров действия (Multiple Instances With a Priori Design Time Knowledge)
Является частным случаем мульти-действия с известным до начала выполнения количеством экземпляров действия.
14. Мульти-действие с известным до начала выполнения количеством экземпляров действия (Multiple Instances With a Priori Runtime Knowledge)
15. Мульти-действие с синхронизацией и неизвестным в момент начала выполнения узла паттерна общим количеством экземпляров узла (Multiple Instances Without a Priori Runtime Knowledge)
Паттерны, основанные на состоянии (State-based patterns)
16. Отложенный выбор (Deferred choice)
17. Выполнение в нефиксированном порядке (Interleaved Parallel Routing)
Пример реализации паттерна для трех Действий.
18. Паттерн специального состояния WF-процесса (Milestone)
Паттерны отмены (Cancellation Patterns)
19. Отмена выполнения действия (Cancel activity)
Паттерн реализуется посредством помещения узла в область с прерыванием.
20. Отмена выполнения экземпляра бизнес–процесса (Cancel case)
Паттерн реализуется при помощи использования точки завершения процесса.