<На страницу назад | На страницу вперед>

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

Типы переходов
Как правило, схематики IDEF3 представляют описания сложных процессов на уровне типов (т.е. типов процессов). Такие процессы редко бывают линейными. Обычно они полностью или частично включают четыре общих вида точек ветвления:

  1. Точки, в которых происходит дивергенция процесса в несколько параллельных подпроцессов.
  2. Точки, в которых происходит дивергенция процесса в несколько альтернативных подпроцессов (возможно, не исключающих друг друга).
  3. Точки, в которых происходит конвергенция нескольких параллельных подпроцессов в один "поток".
  4. Точки, в которых происходит конвергенция нескольких альтернативных подпроцессов одного процесса в один поток.

Для выражения четырех общих видов точек ветвления в IDEF3 вводится четыре общих типа переходов. Два первых вида представляют переходы с разветвлением по выходу (fan-out junction): конъюнктивные переходы с разветвлением по выходу представляют точки дивергенции, включающие множество параллельных подпроцессов, тогда как дизъюнктивные переходы с разветвлением по выходу представляют точки дивергенции, включающие множество альтернативных подпроцессов. Два последних вида точек ветвления выражаются переходами с разветвлением по входу (fan-in junction): конъюнктивные переходы с разветвлением по входу представляют точки конвергенции, включающие множество параллельных подпроцессов, тогда как дизъюнктивные переходы с разветвлением по входу представляют точки конвергенции, включающие множество альтернативных подпроцессов. Существует один тип конъюнктивного перехода или переход И (AND), обозначаемый символом "&". Существует два типа дизъюнктивных переходов: включающие и исключающие переходы или переходы ИЛИ (OR) и ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR), соответственно, в зависимости от того, являются ли данные альтернативы взаимоисключающими. Эта классификация переходов представлена на рис. 3-10. Более подробно семантика переходов рассматривается в следующих разделах.


Рис. 3-10
Классификация типов переходов

Базовый синтаксис переходов
Переходы представляют точки ветвления в общем процессе, точки, в которых происходит дивергенция единого "потока" в данном процессе в множество (параллельных или альтернативных) потоков или конвергенция множества потоков в один. В IDEF3 такая конвергенция представляется одним переходом, который служит источником множества связей предшествования, а конвергенция представляется одним переходом, который служит адресатом множества связей предшествования. Дивергенция и конвергенция множества параллельных подпроцессов обозначается переходом И, как показано на рис. 3-11.


Рис. 3-11
Дивергенция и конвергенция параллельных подпроцессов

Подобным образом, дивергенция и конвергенция множества альтернативных подпроцессов обозначается, как показано на рис. 3-11, за исключением использования перехода ИЛИ или ИСКЛЮЧАЮЩЕЕ ИЛИ, и в этом случае в зависимости от того, являются ли альтернативы взаимоисключающими.

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


Рис. 3-12
Графические обозначения связей предшествования, соединяемых с переходами

Обратите внимание: символы переходов сами по себе не представляют разветвление по выходу или разветвление по входу. Скорее данное вхождение символа перехода в схематику представляет разветвление по выходу или разветвление по входу, в зависимости от того, является ли он источником или адресатом множества маршрутов, соответственно.

Схема нумерации переходов
Для обеспечения однозначных ссылок на переходы в схематике IDEF3 для переходов IDEF3 используется схема идентификации. Напомним, что связям предшествования присваиваются уникальные номера, начинающиеся буквами PL. Номера переходов присваиваются по идентичной схеме нумерации, за исключением того, что номера, определяющие ссылки на переходы, начинаются буквой J: J1, J2, ..., Jn. Как и связи, два отдельных перехода не могут иметь один номер перехода.

Базовая семантика переходов
Переход И с разветвлением по выходу в схематике означает, что в активации схематики, которая достигает определенную точку в структуре процесса, представляемого данным переходом, должны быть экземпляры всех UOB, обозначаемых блоками UOB, которые должны быть (прямыми) наследниками данного перехода. Если используется синхронный переход И, то чтобы стать активацией данной схематики, все эти экземпляры должны начинаться одновременно. Подобным образом, интуитивное значение перехода И с разветвлением по входу в схематике заключается в том, что в активации схематики, пересекающей данный переход, должны быть экземпляры всех UOB, обозначенных блоками UOB, которые должны быть (прямыми) предшественниками данного перехода. Если используется синхронный переход И, то чтобы стать активацией схематики, все эти экземпляры должны заканчиваться одновременно. Таким образом, активация левой схематики на рис. 3-13 включает экземпляр UOB A, за которым следуют экземпляры B и C. Подобным образом, активация правой схематики на рис. 3-13 включает экземпляр UOB C, которому предшествуют экземпляры A и B; если используется синхронный переход И, то чтобы считаться активацией данной схематики, A и B должны заканчиваться одновременно.


Рис. 3-13
Образец схематик, иллюстрирующий семантику переходов И

Переход ИЛИ с разветвлением по выходу в данной схематике показывает, что в активации данной схематики должен быть экземпляр как минимум одной из всех UOB, соединяемых с переходом справа. Подобным образом, переход ИСКЛЮЧАЮЩЕЕ ИЛИ в схематике показывает, что в активации данной схематики должен быть экземпляр только одной из всех UOB, соединяемых с переходом справа. Если используется синхронный переход ИЛИ, то все эти экземпляры должны начинаться одновременно. (Это ограничение не применимо к переходам ИСКЛЮЧАЮЩЕЕ ИЛИ, поскольку в активации ИСКЛЮЧАЮЩЕЕ ИЛИ может быть только один такой экземпляр). Подобным образом, интуитивное значение перехода ИЛИ с разветвлением по входу в схематике заключается в том, что должен быть как минимум один экземпляр всех UOB, соединяемых с переходом слева. Если используется синхронный переход ИЛИ, то все эти экземпляры (при наличии более одного) должны заканчиваться одновременно. Следовательно, активация схематики слева на рис. 3-14 включает экземпляр UOB A, после которого следует экземпляр B или C или оба экземпляра. Подобным образом, активация схематики справа на рис. 3-14 включает экземпляр UOB C, которому предшествует экземпляр B или C или оба экземпляра. Если бы в схематиках рис. 3-14 использовались переходы ИСКЛЮЧАЮЩЕЕ ИЛИ, то допустимые активации не включали бы те из них, в которые входят B и C в первом случае и A и B во втором случае.


Рис. 3-14
Образец схематик, иллюстрирующий семантику переходов ИЛИ

Хотя переходы в схематике IDEF3 не являются частью фактической семантики, они часто имеют ассоциированную "логику принятия решений". Логика принятия решений определенного перехода определяет согласованность во времени и последовательность последующих UOB. Для переходов ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ логика принятия решений определяет, каким образом будет происходить разветвление процесса в данной ситуации. Подобная логика фиксируется для переходов И (например, когда логика включает нечто большее, чем просто синхронность). Логика принятия решений регистрируется в детальном описании перехода.

Поскольку существует вероятность и конъюнктивного, и дизъюнктивного ветвления в процессе, в IDEF3 ветвление никогда не обозначается присутствием множества исходящих связей предшествования из блока UOB. Такая конструкция семантически является двусмысленной: деление процесса на параллельные подпроцессы или условный переход, в котором в любой данной активации создается только одна ветвь (или, возможно, больше). Однако, использование перехода придает значению ветвления полную ясность. Подобная неоднозначность может возникнуть в том случае, если блок UOB представляет адресат множества стрелок; есть случаи, когда это допустимо (такой режим часто называется "закольцовыванием" (loopback)).

Переходы всегда используются в IDEF3 для обозначения ветвления процесса; ветвление никогда не обозначается связью одной UOB источника с множеством адресатов посредством нескольких связей предшествования; такие схематики семантически являются неоднозначными: три разных типа ветвления, которые идентифицируются и (специально!) различаются в IDEF3.

Комбинирование переходов
Реальная сила IDEF3 заключается в возможности представления процессов, в которых множество параллельных и альтернативных потоков сплетаются в единое целое. Ключом к таким сложным представлениям является правильное использование переходов для представления данного процесса. В данном разделе рассматриваются некоторые основные комбинации.

Достаточно распространены процессы, в которых происходит дивергенция одного потока в множество потоков с последующей конвергенцией в единый поток. В IDEF3 такие процессы представляются комбинацией переходов с разветвлением по выходу и переходов с разветвлением по входу. На рис. 3-15 представлен процесс, в котором происходит дивергенция потока в параллельные подпроцессы, а затем происходит конвергенция. Поскольку процессы выполняются параллельно, они представлены переходами И.


Рис. 3-15
Схематика с асинхронными переходами И

Поскольку переход J1 разделяет блок UOB 1 и блоки 2, 4, 5 в любой активации рис. 3-15, экземпляр UOB A должен закончиться до реализации любой из последующих UOB. Активация схематики на рис. 3-15 происходит следующим образом. После экземпляра UOB A реализуется три UOB (B, C, D). Поскольку J1 является асинхронным переходом, эти экземпляры могут начинаться в любом порядке. Поскольку происходит конвергенция всех трех маршрутов в J2, UOB F реализуется только после завершения экземпляров UOB E, C, D. Поскольку J2 также является асинхронным переходом, никакой определенный порядок или согласованность окончаний во времени не подразумевается. Эта модель активации представлена графиком на рис. 3-16.


Рис. 3-16
График активации для рис. 3-15

Как и на рис. 3-15, показанная на рис. 3-17 связь предшествования L1 требует, чтобы экземпляр UOB A был завершен до создания UOB, обозначенных последующими блоками. Синхронная логика обозначается блоками переходов, имеющими две вертикальные полосы (сравнить рис. 3-15 и 3-17). Синхронный переход И J1 показывает, что в активации экземпляры UOB B, C, D буду инициированы одновременно. Подобным образом, синхронный переход И J2 показывает синхронное завершение этих экземпляров UOB B и C, а также экземпляра UOB E до того, как процесс будет продолжен после перехода на экземпляр UOB F.


Рис. 3-17
Синхронные переходы И

На рис. 3-18 показана дополнительная структура для активаций, накладываемых ограничениями синхронности.


Рис. 3-18
График активации для рис. 3-17

Рис. 3-19 структурирован подобно рис. 3-15, за исключением того, что переходы J1 и J2 представляют асинхронные переходы ИЛИ. В активации представленного процесса J1 показывает, что после экземпляра A будет реализована одна или несколько UOB B, C, D. В результате в данной активации инициируется от одного до трех потоков. Поскольку J2 представляет асинхронный переход ИЛИ, только один из этих потоков должен быть завершен до инициации экземпляра F.


Рис. 3-19
Асинхронные переходы ИЛИ

На рис. 3-20 показано использование комбинации, состоящий из двух синхронных переходов ИЛИ. Переход ИЛИ с разветвлением по выходу подразумевает, что в активации экземпляры одной или нескольких UOB B, C, D должны начаться после экземпляра A.


Рис. 3-20
Синхронные переходы ИЛИ

Поскольку данный переход является синхронным, когда реализуется более одной UOB, вхождение этих экземпляров происходит одновременно. Если один из них является экземпляром UOB B, за ним должен следовать экземпляр UOB E, который должен завершиться одновременно с любыми экземплярами, инициируемыми вместе с экземпляром UOB B, как видно из левого графика активации на рис. 3-21. Активация, в которой UOB B не реализуется, также показана в правом графике активации. Обратите внимание: в последнем графике тот факт, что оба перехода J1 и J2 являются синхронными, обусловливает одновременное начало и завершение экземпляров UOB C и D.


Рис. 3-21
Графики активации для рис. 3-20

На рис. 3-22 приводится пример, иллюстрирующий комбинирование двух разных типов переходов для получения большей свободы во временном согласовании и определении последовательности активаций.


Рис. 3-22
Переход И с разветвлением по выходу с последующим переходом ИЛИ
с разветвлением по входу

Хотя экземпляры UOB B и C входят после экземпляра A в активациях рис. 3-22, представлены возможные активации процесса, в которых определенный экземпляр одной или другой UOB не может завершиться или даже начаться до тех пор, пока данная активация не "перейдет" через переход ИЛИ с разветвлением по входу и пока не войдет экземпляр E. Такие активации допускаются вследствие использования асинхронного перехода ИЛИ с разветвлением по входу, обусловливающего конвергенцию двух потоков. Хотя оба потока должны завершиться в тот или иной момент времени, для успешной активации процесса достаточно, чтобы только один из этих потоков был завершен до экземпляра E. На рис. 3-23 представлены графики трех основных комбинаций активации, допускаемых по условиям рис. 3-22. Левый график представляет комбинацию, которая была бы разрешена в том случае, если бы вместо перехода ИЛИ использовался переход И (или если бы переход ИЛИ был синхронным, что эквивалентно). На левом графике экземпляры B и D (следовательно, и C) завершаются до экземпляра E. На среднем графике экземпляр E начинается до завершения ( и даже начала) экземпляра B; на правом графике экземпляр E начинается до завершения экземпляра D.


Рис. 3-23
Графики активации для рис. 3-22

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

Конкретные примеры
Приведенные ниже примеры иллюстрируют конструкции, рассматриваемые в предыдущем разделе. На рис. 3-24 представлен сценарий, в котором за получением предложения следует стоимостное и техническое оценивание. Оценивание должно завершиться до заключения контракта. Поскольку переходы являются асинхронными, на относительную согласованность во времени начала и завершения оцениваний не накладывается никаких ограничений. Они просто должны следовать за получением предложения и предшествовать заключению контракта.


Рис. 3-24
Пример асинхронного перехода И

На рис. 3-25 представлен другой сценарий, в котором синхронный переход И определяет ситуацию, когда стоимостное оценивание и техническое оценивание должны начаться одновременно, но закончиться могут в разное время. Если бы существовало организационное правило, в соответствии с которым также требовалось бы одновременное завершение оцениваний, то для описания соответствующего процесса на рис. 3-25 дополнительно использовался бы синхронный переход И с разветвлением по входу.


Рис. 3-25
Пример синхронного перехода И

На рис. 3-26 представлено описание сценария "Выбрать подрядчика". Это описание процесса показывает, что после оценивания предложение отклоняется или принимается предложение на выполнение базовых работ по контракту, принимается предложение на опции по контракту или принимается предложение и на то, и на другое, до заключения контракта.


Рис. 3-26
Пример асинхронного перехода ИЛИ

В представленном на рис. 3-26 сценарии действие "Отклонить предложение" представляет конечное действие; однако, любое из двух других действий (или оба) приводит к заключению контракта. Обратите внимание: реляционная связь указывает на некоторую связь между UOB "Принять предложение на выполнение базовых работ по контракту" и "Принять предложение на опции". Обратите также внимание на то, что данное описание еще является неполным, поскольку в нем не показано, что происходит в случае неуспешных переговоров. Например, в большинстве ситуаций заключение контракта зависит от принятия подрядчиком условий финансирующей организации, которая может потребовать от подрядчика повторное представление предложения, что составляет часть процесса переговоров. Такую информацию можно легко представить в IDEF3 в виде дополнения к текущей схематике или декомпозиции "Заключить контракт". Обратите внимание: в данной схематике нет ничего, что требовало бы заключения контракта. Заключение контракта будет обязательным только в том случае, если для соединения перехода ИЛИ с разветвлением по входу с UOB "Заключить контракт" была использована ограниченная связь предшествования (в направлении "слева направо").

Не все комбинации переходов представляют истинную логику процесса. В частности, за переходом ИСКЛЮЧАЮЩЕЕ ИЛИ с разветвлением по выходу не может следовать переход И с разветвлением по входу, как показано на рис. 3-27; следовательно, это представляет противоречивый процесс, который невозможно активировать.


Рис. 3-27
Пример недопустимой структуры ИСКЛЮЧАЮЩЕЕ ИЛИ/И

Как показано на рис. 3-27, после UOB "Получить предложение" переход ИСКЛЮЧАЮЩЕЕ ИЛИ ведет к двум UOB. Это значит, что для любой данной активации схематики будет реализована только одна UOB: или "Произвести стоимостное оценивание", или "Произвести техническое оценивание". Следовательно, UOB "Заключить контракт" никогда не может быть реализована, поскольку никогда не может быть выполнено требование, в соответствии с которым обе UOB, предшествующие переходу И, должны быть реализованы в одной активации. Обратите внимание: такие схематики, тем не менее, могут быть полезны, поскольку исходный процесс "как есть" (AS-IS), по которому производится сбор данных, может включать невыявленное противоречие. Возможно, в ситуации, показанной на рис. 3-27, контракты никогда не были заключены; следовательно, схематика IDEF3 идентифицировала организационную проблему и обеспечила решение конфликта. Структура этого типа никогда не является корректной в описании "как может быть" (TO-BE) некоторой предлагаемой системы, организационной структуры или процесса. Однако, в любом случае процесс валидации описания должен идентифицировать структуры этого типа как ошибки в схематике IDEF 3.

<На страницу назад | На страницу вперед>