Управляющие процессы в СРВ
Для улучшения реактивности систем реального времени их принято строить как набор взаимодействующих параллельно выполняемых процессов (задач, потоков). Обобщённая структура управляющих процессов приведена ниже (Рисунок 5).
Рисунок 5 Процессы в системе реального времени.
Процессы управления датчиками производят опрос их значений через заданные интервалы времени. В СРВ применяется модель, когда один процесс управляет датчиками одного типа; таким образом, число процессов управления датчиками должно равняться числу типов применяемых в системе датчиков. Полученные значения отправляются процессу обработки данных, который на основе значений сенсоров вырабатывает ответный сигнал на исполнительные механизмы. Каждый тип исполнительно механизма в СРВ обслуживается собственным процессом управления. Представленная схема взаимодействия параллельных процессов представляет классическую задачу «производитель-потребитель», которая может быть эффективно решена с использованием различного типа очередей (бесконечных или кольцевых буферов).
Проектирование систем реального времени
Приведём описание отличий процесса проектирования СРВ от других систем, как это представлено в [5]
«В настоящее время все больше заметно, что роль и важность нефункциональных требований в разработке комплексных приложений оценивается неадекватно. Для разработчиков систем, для методов, которые они используют, характерна концентрация в первую очередь на функциональности, и лишь потом, сравнительно поздно, - на нефункциональных требованиях. Мы полагаем, что такой подход неверен при производстве безопасных ответственных систем. Например, часто требования по расчету времени рассматриваются в рамках производительности системы как целого. Отсутствие необходимой производительности часто выливается в какие-либо специальные изменения…Эти требования и условия, вносимые средой исполнения, должны приниматься во внимание во время разработки. Во время разработки необходима ранняя привязка программных функций к компонентам устройств с тем, чтобы можно было проводить анализ распределения времени и надёжностных характеристик еще не отлаженной системы.»
Процесс проектирования СРВ, представленный в [3]
1. Определение множества входных сигналов, которые будут обрабатываться системой, и соответствующих им системных реакций.
2. Для каждого входного сигнала и соответствующего ему ответного сигнала вычисляются временные ограничения.
3. Объединение процессов обработки входных и ответных сигналов в виде совокупности параллельных процессов. В корректной модели системной архитектуры каждый процесс связан с определённым классом входных и ответных сигналов.
Разработка алгоритмов, выполняющих необходимые вычисления для всех входных и выходных сигналов. Чтобы получить представление об объёмах вычислительных и временных затрат в процессе обработки сигналов, разработка алгоритмов обычно проводится на ранних этапах процесса проектирования.
5. Разработка временного графика работы системы.
6. Сборка системы, работающей под управлением диспетчера.
Список литературы
- Гома. Х. Проектирование систем реального времени, параллельных и распределённых приложений. ДМК Пресс, 2002.
- Дашевский В.П. «Вероятностные методы оценки выполнимости задач в системах реального времени». Автореферат диссертации на соискание степени кандидата технических наук.
- Иан Соммервилл. Инженерия программного обеспечения. 6-е издание. «Вильямс» 2002.
- Б. Я. Лурье, П. Дж. Энрайт. Классические методы автоматического управления. «БХВ-Петербург» 2004.
- A.Burns, A.J.Wellings «Designing the Hard Real-time Systems»
- Catlin, Brian. Real-Time Systems and Microsoft Windows NT / MSDN