При разработке диаграмм состояний следует придерживаться следующих правил и рекомендаций.
1. Наличие у экземпляра сущности нескольких состояний, отличающихся от простой схемы «исправен – неисправен» или «активен – неактивен», служит признаком необходимости построения диаграммы состояний. При выделении состояний и переходов следует помнить, что длительность срабатывания переходов должна быть существенно меньшей, чем нахождение моделируемого объекта в соответствующих состояниях. Каждое из состояний должно характеризоваться определенной устойчивостью во времени. Так, на рис. 11 при моделировании поведения технического устройства, в простейшем случае, можно выделить два или три состояния. При этом в одном случае ремонт показан в качестве перехода, т. е. считается, что занимает мало времени, а в другом – в качестве состояния, что больше соответствует реалиям жизни.
Рис. 11. Примеры выделения состояний и переходов
2. Автомат (диаграмма) обязательно должен начинаться знаком начального состояния и заканчиваться знаком конечного. Начальное состояние указывается только один раз, а конечных может быть несколько в целях минимизации пересечений переходов. Для подавтоматов рекомендуется придерживаться этого же правила, но допускается не указывать начальных и конечных состояний.
3. Для облегчения восприятия диаграммы рекомендуется использовать декомпозицию со скрытием составных состояний.
4. Диаграмма не должна содержать изолированных состояний и переходов. Переходы и их спецификация должны быть заданы таким образом, чтобы на графе каждое состояние было потенциально достижимо из начального и из любого состояния было потенциально достижимо конечное. На рис. 12 из состояния 2 нет пути в конечное, а из начального состояния нет пути в состояние 3.
Рис. 12. Пример неправильно составленной диаграммы
5. В каждый момент времени автомат или подавтомат должен находиться только в одном состоянии. Это означает, что спецификация переходов из одного состояния не должна допускать потенциальной возможности перехода в два и более состояний. На рис. 13 приведены примеры фрагментов диаграмм с конфликтными переходами.
Рис. 13. Фрагменты диаграмм с конфликтными переходами
Исключением из этого правила является параллельный переход в подсостояния параллельных подавтоматов одного составного состояния.