Управляющий процесс. Логически это некий командный пункт, реагирующий на изменения внешних условий, передаваемые ему с помощью управляющих потоков. Управляющий процесс в соответствии со своей внутренней логикой вырабатывает команды для процессов системы. Эти команды переносятся управляющими потоками.
Фактически управляющий процесс представляет собой преобразователь входных управляющих потоков в выходные управляющие потоки; при этом точное описание этого преобразования должно задаваться в спецификации управления, например, "Главный управляющий процесс", "Управление работой с изображением (рисунком, текстом)", "Управление печатью документа", "Управление заданием (изменением) параметров", "Управление работой с файлами и каталогами", "Управление редактированием изображения (рисунка, текста)" и т.п.
Имя управляющего процесса указывает на тип управляющей деятельности.
Управляющий поток. Моделирует движение управляющей информации. Обычно управляющий поток имеет дискретное, а не непрерывное значение.
Это может быть, например, сигнал, представляющий событие или вид операции.
Пример сигнала — события: "Действие пользователя", "Выбран пункт меню такой-то", "Нажата клавиша такая-то", "Введен параметр такой-то".
Пример сигнала — вида операции: "Сменить диск", "Сменить папку", "Обновить изображение" и т.п.
Режим выполнения процесса зависит от типа управляющего потока. Имеются следующие типы управляющих потоков:
а) Т-поток (trigger flow), который может вызывать выполнение процесса. При этом процесс как бы включается одной короткой операцией. Это — аналог выключателя света, единственным нажатием которого "запускается" процесс горения лампы;
б) A-поток (activator flow), который может изменять выполнение отдельного процесса. Используется для обеспечения непрерывности выполнения процесса до тех пор, пока поток "включен" (т.е. течет непрерывно), с "выключением" потока выполнение процесса завершается. Это — аналог переключателя лампы, которая может быть как включена, так и выключена;
в) E/D-поток (enable/disable flow), который может переключать выполнение отдельного процесса. Течение по E-линии вызывает выполнение процесса, которое продолжается до тех пор, пока не возбуждается течение по D-линии. Это — аналог выключателя с двумя кнопками: одной — для включения света, другой — для его выключения. Можно использовать три типа таких потоков: E-поток, D-поток, E/D-поток.
Управляющий накопитель представляет "срез" управляющего потока во времени. Имя управляющего накопителя должно идентифицировать его содержимое и быть существительным.
Управляющий накопитель отличается от традиционного накопителя тем, что может содержать только управляющие потоки; все другие их характеристики идентичны.
В нотациях Йодана и Гейна-Сарсона управляющие компоненты изображаются пунктирными линиями, в отличие от традиционных компонент. В CASE-средстве BPwin пунктирными линиями можно изобразить только управляющие потоки, управляющие процессы и накопители не поддерживаются.
Дополним модель ПО "Графический редактор (Paint)", введя в диаграммы в нотации DFD управляющие процессы и управляющие потоки, позволяющие описать его функционирование в реальном времени (рис. 11.1 — 11.3).
Управляющий процесс А7 "Главный управляющий процесс" получает сообщения от пользователя "Действие пользователя" в виде выбора пункта меню, нажатия левой кнопки мышки, перемещения указателя мышки и т.д.
Получив информацию, что выбран пункт "Печать" в меню "Файл", управляющий процесс вызывает выполнение процесса А5 "Печать" потоком "Распечатать текущий файл" (передается вид операции).
Получив информацию о действиях пользователя, связанных с редактированием изображения (о перемещении указателя мышки или нажатии левой кнопки мышки), управляющий процесс А7 вызывает выполнение "Подсистемы редактирования изображения" А2 с помощью управляющего потока "Действие пользователя по редактированию" (передается событие — действие пользователя — для дальнейшей обработки внутри подсистемы А2).
Рис. 11.1. Расширение диаграммы, детализирующей контекстный процесс модели ПО "Графический редактор (Paint)"
Рис. 11.2. Расширение диаграммы, детализирующей подсистему А2 "Подсистема редактирования изображения"
|
|
Рис. 11.3. Расширение диаграммы, детализирующей подсистему А3 "Подсистема настройки изображения"
Управляющий поток "Действие пользователя по редактированию" на детализирующей подсистему А2 диаграмме расчленяется на шесть подпотоков. Эти потоки получает процесс "Управление редактированием изображения" и в соответствии со своей внутренней логикой вызывает выполнение процессов А2.1 — А2.4. Каждый из процессов А2.1 — А2.4 сам вызывает выполнение процесса А2.5 "Перерисовать изображение" управляющим потоком "Произвести перерисовку изображения".
Аналогично управляющие процессы реагируют и на другие действия пользователя.