Визуальное моделирование сложных реагирующих систем при помощи диаграмм состояния UML Harel
ОГЛАВЛЕНИЕ
Данная статья описывает кросс-платформенную среду разработки приложений на основе Harel UML StateChart рыночного качества с открытым исходным кодом под названием StateWizard для разработки параллельных, распределенных реагирующих систем реального времени с простотой, эффективностью и масштабируемостью.
Введение
Реагирующая система является во многом управляемой событиями, она постоянно должна реагировать на внешние и внутренние сигналы возбуждения (стимулы). Примеры включают телефоны, автомобили, сети передачи данных, компьютерные операционные системы и ракеты. Проблема коренится в трудности описания реагирующего поведения таким образом, чтобы оно было однозначным и реалистичным, и в то же время достаточно формальным и строгим, чтобы было возможно его моделирование на вычислительной машине.
Использование диаграмм состояния Harel приобретает широкое распространение, так как их разновидность вошла в состав унифицированного языка моделирования. Диаграммы данного типа позволяют моделировать сверхсостояния, одновременные состояния, и действия как часть состояния.
Проблемы с обычными конечными автоматами
Классические методы моделирования конечного автомата Мили-Мура требуют создания отдельных узлов для каждой верной комбинации параметров, определяющих состояние. Это может привести к очень большому числу узлов и переходов между узлами для чуть ли не самых простых систем. Такая сложность снижает удобочитаемость диаграммы состояний.
Еще одно из ограничений моделирования вычислительной системы как обычного конечного автомата – это отсутствие поддержки для параллельных структур. Моделирование традиционных конечных автоматов основано на последовательных переходах из одного состояния к следующему. Параллельные системы нельзя моделировать таким способом, так как разные аспекты системы могут быть в различных состояниях.
Ограничения, характерные для моделей конечных автоматов, включают свойственную им сложность, появляющуюся, когда число состояний увеличивается, и при моделировании параллельных систем. Данная статья описывает кроссплатформенную среду разработки приложений на основе Harel UML StateChart рыночного качества с открытым исходным кодом под названием StateWizard для разработки параллельных, распределенных реагирующих систем реального времени с простотой, эффективностью и масштабируемостью. Следующие разделы описывают способы решения сложных проблем реагирующих систем при помощи следующих возможностей диаграмм состояния Harel:
- Иерархические конечные автоматы
- Поддерживает большие конечные автоматы с сотнями состояний посредством разделения определений дерева состояний на несколько файлов C/C++
- Информация об истории состояний и история переходов
- Защищенные переходы при обработке событий
- Условные псевдосостояния
- Объединенные псевдосостояния
- Ортогональные состояния
- Встроенные таймеры состояний