Как известно, программное изделие (ПИ) является дискретной моделью проблемной области, взаимодействующей с непрерывными процессами физического мира (рис. 3.3).
Рис. 3.3. Программное изделие как дискретная модель проблемной области
П. Вард и С. Меллор приспособили диаграммы потоков данных к следующим требованиям систем реального времени [73].
1. Информационный поток накапливается или формируется в непрерывном времени.
2. Фиксируется управляющая информация. Считается, что она проходит через систему и связывается с управляющей обработкой.
3. Допускается множественный запрос на одну и ту же обработку (из внешней среды).
Рис. 3.4. Расширения диаграмм для систем реального времени
Новые элементы имеют обозначения, показанные на рис. 3.4.
Приведем два примера использования новых элементов.
Пример 1. Использование потоков, непрерывных во времени.
На рис. 3.5 представлена модель анализа программного изделия для системы слежения за газовой турбиной.
Рис. 3.5. Модель ПО для системы слежения за газовой турбиной
Видим, что здесь наблюдаемая температура измеряется непрерывно до тех пор, пока не будет найдено дискретное значение в наборе эталонов температуры. Преобразователь формирует регулирующие воздействия как непрерывный во времени вывод. Чем полезна эта модель?
Во-первых, инженер делает вывод, что для приема-передачи квазинепрерывных значений нужно использовать аналого-цифровую и цифроаналоговую аппаратуру.
Во-вторых, необходимость организации высокоскоростного управления этой аппаратурой делает критичным требование к производительности системы.
Пример 2. Использование потоков управления.
Рассмотрим компьютерную систему, которая управляет роботом (рис. 3.6).
Рис. 3.6. Модель ПО для управления роботом
Установка в прибор деталей, собранных роботом, фиксируется установкой бита в буфере состояния деталей (он показывает присутствие или отсутствие каждой детали). Информация о событиях, запоминаемых в буфере, посылается в виде строки битов в преобразователь «Наблюдение за прибором». Преобразователь читает команды оператора только тогда, когда управляющая информация (битовая строка) показывает наличие всех деталей. Флаг события (Старт-Стоп) посылается в управляющий преобразователь «Начать движение», который руководит дальнейшей командной обработкой. Потоки данных посылаются в преобразователь команд роботу при наличии события «Процесс активен».