В иерархических конечных автоматах могут быть т.н. композитные состояния. Т.е. состояния, которые содержат в себе несколько подсостояний, включая и другие композитные состояния. Так, в примере ниже композитное состояние s0 включает в себя два композитных подсостояния s1 и s2. В свою очередь композитное подсостояние s2 имеет композитное подсостояние s21:
Если композитное состояние A содержит два композитных подсостояния B и C, то могут быть следующие варианты:
- в конкретный момент времени внутри A активным может быть либо подсостояние B, либо подсостояние C. Можно сказать, что B и C скомбинированы внутри A операцией ИЛИ (OR);
- в конкретный момент времени внутри A активными являются и подостояние B, и подсостояние C. Можно сказать, что B и C скомбинированы внутри A операцией И (AND). Состояния B и C называют параллельными (parallel states) или конкурентными (concurrent states).
На UML-диаграммах параллельные состояния разделяются пунктирными линиями внутри своего объемлющего композитного состояния. Вот хорошая картинка из Интернета, которая наглядно демонстрирует важность параллельных состояний (на примере простенького КА, описывающего поведение стиральной машины):