Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Черемных_учебник_1.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2.1.5 Соединения

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

  • разворачивающие соединения используются для разбиения пото­ ка. Завершение одного действия вызывает начало выполнения не­ скольких других;

  • сворачивающие соединения объединяют потоки. Завершение од­ ного или нескольких действий вызывает начало выполнения дру­ гого действия.

В табл. 2.2 объединены три типа соединений.

Таблица 2.2

Графическое обозначение

Название

Вид

Правила инициации

&

Соединение «и»

Разворачи­вающее

Каждое конечное действие обяза­тельно инициируется

Сворачи­вающее

Каждое исходное действие обяза­тельно должно завершиться

X

Соединение «эксклюзив­ное "или"»

Разворачи­вающее

Одно и только одно конечное дей­ствие инициируется

Сворачи­вающее

Одно и только одно исходное дей­ствие должно завершиться

Продолжение

Графическое обозначение

Название

Вид

Правила инициации

О

Соединение «или»

Развора­чивающее

Одно или несколько конечных действий инициируются

Сворачи­вающее

Одно или несколько исходных действий должны завершиться

Примеры разворачивающих и сворачивающих соединений приве­дены на рис. 2.10.

Рис. 2.10. Два вида соединений

Рис. 2.11. «И»-соединения



«И»-соединения. Соединения этого типа инициируют выполнение конечных действий. Бее действия, присоединенные к сворачиваю­щему «и»-соединению, должны завершиться, прежде чем начнется выполнение следующего действия. На рис. 2.11 после обнаружения

пожара инициируются включение пожарной сигнализации, вызов пожарной охраны, и начинается тушение пожара. Запись в журнал производится только тогда, когда все три перечисленных действия завершены.

Соединение «эксклюзивное "или "». Вне зависимости от количест­ва действий, связанных со сворачивающим или разворачивающим со­единением «эксклюзивное «или», инициировано будет только одно из них, и поэтому только оно будет завершено перед тем, как любое дей­ствие, следующее за сворачивающим соединением «эксклюзивное «или», сможет начаться. Если правила активации соединения извест­ны, они обязательно должны быть документированы либо в его описа­нии, либо пометкой стрелок, исходящих из разворачивающего соеди­нения, как показано на рис. 2.12.

На рис. 2.12 соединение «эксклюзивное «или» используется для отображения того факта, что студент не может одновременно быть на­правлен на лекции по двум разным курсам.

Рис. 2.12. Соединение «эксклюзивное "или"»

Соединение «или» предназначено для описания ситуаций, которые не могут быть описаны двумя предыдущими типами соединений. Аналогично связи нечеткого отношения соединение «или» в основ­ном определяется и описывается непосредственно системным ана­литиком. На рис. 2.13 соединение J2 может активизировать проверку данных чека и/или проверку суммы наличных. Проверка чека иниции­руется, если покупатель желает расплатиться чеком, проверка суммы наличных — при оплате наличными. И то, и другое действие иниции­руются при частичной оплате как чеком, так и наличными.

Рис. 2.13. Соединения «или»

Синхронные и асинхронные соединения. В рассмотренных приме­рах связей «и» и «или» мы не затрагивали отношения между началом и окончанием действий, инициируемых разворачивающими соедине­ниями. Все действия в этих примерах выполнялись асинхронно, т.е. они не инициируются одновременно. Однако есть случаи, когда время начала или окончания параллельно выполняемых действий должно быть одинаковым, т.е. действия должны выполняться синхронно. Для моделирования такого поведения системы используются различные виды синхронных соединений (табл. 2.3).

Синхронное соединение обозначается двумя вертикальными ли­ниями внутри прямоугольника.

Таблица 2.3

Графическое обозначение

Тип

Вид

Правила инициации

Соединение «и»

Разворачи­вающее

Все действия начнутся одно­временно

Сворачи­вающее

Все действия закончатся одно­временно

Соединение «или»

Разворачи­вающее

Может быть, несколько дейст­вий начнутся одновременно

Сворачи­вающее

Может быть, несколько дейст­вий закончатся одновременно

Соединение «эксклюзивное «или»

Разворачи­вающее

Одновременное начало дейст­вий невозможно

Сворачи­вающее

Одновременное окончание дей­ствий невозможно

Рис. 2.15. Пример комбинации двух типов соединений

Во многих спортивных состязаниях выстрел стартового пистоле­та, запуск секундомера и начало состязания должны произойти одно­временно. В противном случае состязание будет нечестным.

На рис. 2.14 представлена модель этого примера, построенная с использованием синхронного соединения.

Рис. 2.14. Синхронное соединение

Заметим, что синхронное разворачивающее соединение не обяза­тельно должно иметь парное себе сворачивающее соединение. Дейст­вительно, начинающиеся одновременно действия вовсе не должны оканчиваться одновременно, как это видно из примера с состязания­ми. Также возможны ситуации синхронного окончания асинхронно начавшихся действий.

Парность соединений. Все соединения на диаграммах должны быть парными, из чего следует, что любое разворачивающее соеди­нение имеет парное себе сворачивающее. Однако типы соединений не обязательно должны совпадать. На рис. 2.15 разворачивающее «и»-соединение имеет парное сворачивающее «или»-соединение. Интерпретация соединения Л аналогична случаю, показанному на рис. 2.11. Соединение J2 интерпретируется следующим образом: по­сле включения пожарной сигнализации и/или вызова пожарных, и/или начала тушения производится запись в журнал.

Комбинации соединений. Соединения могут комбинироваться для создания более сложных ветвлений (рис. 2.16). Комбинации соедине­ний следует использовать с осторожностью, поскольку перегру­женные ветвлением диаграммы могут оказаться сложными для вос­приятия.

Рис. 2.16. Диаграмма IDEF3 с комбинацией соединений