УДК 62-50:519.216

О моделировании систем реального времени с использованием UML и сетей Петри

А.А. Воевода, Д.О. Романников

Донецкий национальный технический университет

Аннотация

Рассмотрены примеры проектирования систем реального времени с использованием UML и цветных сетей Петри: участки кода, критичные ко времени выполнения при циклическом выполнении или при выполнении по событиям.

Введение

Программное обеспечение фактически является обязательной частью любой технической системы. Разработка программного продукта – сложный многоэтапный процесс, включающий в себя этапы анализа, моделирования, непосредственного написания, тестирования и внедрения. Одним из вариантов упрощения программного обеспечения является анализ его функционирования на этапе создания, т. е. без тестирования на реальном объекте.

Использование UML и сетей Петри позволяет производить количественный и качественный анализ программной системы на этапе ее создания.

В данной статье будут рассматриваться примеры преобразования диаграмм UML в сети Петри в соответствии с правилами, приведенными в [2].

Преобразование UML в сети Петри

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

В состоянии inizialization система находится единожды. При появлении событий new_floor_pressed, get_req_floor, door_opened, timer_finish, close_door, door_closed система переходит в состояния new_floor_moving, door_open, wait_for_close, door_close, sys_in_idle соответственно (рис. 1). В данном примере показана работа лифта. Рассмотрим такую ситуацию, когда необходимо, чтобы переход из состояния new_floor_moving в состояние sys_in_idle произошел за время, не превышающее заданное. Рассмотрим цветные сети Петри, соответствующие данной UML-диаграмме состояния.

Согласно [2, 3] получим следующую сеть Петри (рис. 2). (В данном примере сознательно опущены вопросы, связанные с типами мест, так как это не является предметом исследования и не влияет на его процесс.)

Диаграмма состояний
Рис. 1. Диаграмма состояний

Сеть Петри, соответствующая UML-диаграмме состояний
Рис. 2. Сеть Петри, соответствующая UML-диаграмме состояний

Проверка возможности перехода за заданный интервал времени осуществляется при моделировании сети Петри. При успешном переходе, т. е. при осуществлении перехода за заданное время, метка будет находиться в месте sys_in_idle. При осуществлении перехода более чем за заданное время метка перейдет в место Error. На основании последнего перехода можно сделать вывод либо о малом заданном времени, либо об ошибке в логике программы, связанной с зацикливанием.

Данный пример – отображение анализа участков кода, критических ко времени выполнения. Применяя данный подход, можно рассматривать критические участки кода любой величины и детализации.

Упомянутые выше данные подтверждаются результатами моделирования сети Петри, которые приведены на рис. 3 и 4, где первый – это данные моделирования успешного перехода, второй – неудавшегося (рассмотренного при моделировании, где isError защищен условием [wait>=10]) .

Данные о моделировании успешного перехода
Рис. 3. Данные о моделировании успешного перехода

Данные о моделировании несостоявшегося перехода
Рис. 4. Данные о моделировании несостоявшегося перехода

Заключение

Полученные результаты подтверждают правильность метода преобразования UML-диаграмм состояния в сети Петри, а также содержат отчет о моделировании сетей Петри.

Список литературы

[1] Воевода А.А., Романников Д.О. Особенности проектирования систем реального времени при помощи UML и сетей Петри // Наст. сб. – С. 57–62.

[2] Коротиков С.В. Применение сетей Петри в разработке программного обеспечения центров дистанционного контроля и управления: дис. … канд. техн. наук. – Новосибирск: НГТУ, 2007.