Визуальное моделирование сложных реагирующих систем при помощи диаграмм состояния UML Harel

ОГЛАВЛЕНИЕ

Данная статья описывает кросс-платформенную среду разработки приложений на основе Harel UML StateChart рыночного качества с открытым исходным кодом под названием StateWizard для разработки параллельных, распределенных реагирующих систем реального времени с простотой, эффективностью и масштабируемостью.

Введение

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

Использование диаграмм состояния Harel приобретает широкое распространение, так как их разновидность вошла в состав унифицированного языка моделирования. Диаграммы данного типа позволяют моделировать сверхсостояния, одновременные состояния, и действия как часть состояния.

Проблемы с обычными конечными автоматами

Классические методы моделирования конечного автомата Мили-Мура требуют создания отдельных узлов для каждой верной комбинации параметров, определяющих состояние. Это может привести к очень большому числу узлов и переходов между узлами для чуть ли не самых простых систем. Такая сложность снижает удобочитаемость диаграммы состояний.

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

Ограничения, характерные для моделей конечных автоматов, включают свойственную им сложность, появляющуюся, когда число состояний увеличивается, и при моделировании параллельных систем. Данная статья описывает кроссплатформенную среду разработки приложений на основе Harel UML StateChart рыночного качества с открытым исходным кодом под названием StateWizard для разработки параллельных, распределенных реагирующих систем реального времени с простотой, эффективностью и масштабируемостью. Следующие разделы описывают способы решения сложных проблем реагирующих систем при помощи следующих возможностей диаграмм состояния Harel:

  • Иерархические конечные автоматы
  • Поддерживает большие конечные автоматы с сотнями состояний посредством разделения определений дерева состояний на несколько файлов C/C++
  • Информация об истории состояний и история переходов
  • Защищенные переходы при обработке событий
  • Условные псевдосостояния
  • Объединенные псевдосостояния
  • Ортогональные состояния
  • Встроенные таймеры состояний