Особенности "реактивных" систем

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

"Реактивными" системами обычно являются программно-аппаратные комплексы, где аппаратная составляющая используется для согласования управляющей (программной) логики с реальной средой (механизмы, датчики и т.п.). Часто для повышения производительности таких систем или в целях получения независимости работы их подсистем применяют параллельное выполнение задач, как на программном, так и на аппаратном уровне.

Отличительными чертами этих систем является:

Для разработчика важнейшими задачами анализа при этом является:

В настоящее время у разработчиков программного обеспечения достаточно устойчиво укрепилось осознание необходимости представления архитектуры разрабатываемого проекта в виде разнообразных диаграмм, отражающих как статическую, так и динамическую составляющую системы. Фактически, в этом вопросе унифицированный язык моделирования UML (Unified Modelling Language) занял лидирующие позиции. Это связано с тем, что он предоставляет достаточный набор диаграмм для описания различных ракурсов системы. С помощью диаграмм UML можно описать и "реактивные" системы, но на довольно высоком уровне, что для анализа вышеперечисленных проблем не подходит. На диаграмме состояний, имеющихся в UML, невозможно показать, например, взаимодействие параллельных процессов и, следовательно, исследовать коллизии (в т.ч. временные). Также нет возможности наглядного представления процесса захвата разделяемых ресурсов разными процессами.

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