Возможно, кто-то, кто работал над все еще не принятой спецификацией Precise Semantics for State Machines в OMG, исправит меня, если я ошибаюсь, но я верю, что есть три возможных контекста выполнения.
Первый - это «активный класс», где каждый экземпляр работает в своем собственном потоке, и вы посылаете ему сигналы. Второй - класс обычного класса, где вы вызываете операции или отправляете сигналы обычному экземпляру обычным способом. Третий - класс BehavioredClassifier, где каждый экземпляр запускает специальный classifierBehavior, как только он создается.
§13.2.3.5 UML 2.5 spe c говорит:
Принимающий объект становится объектом контекста для выполнения любых вызванных методов.
ПРИМЕЧАНИЕ. Методы получения всегда вызываются асинхронно, в то время как методы операции могут вызываться синхронно или асинхронно, в зависимости от того, как вызывается операция.
Конечный автомат определен для одного из этих выполнения контексты для определения того, как экземпляр будет реагировать на конкретное событие, учитывая его текущее состояние.
Да, каждый конечный автомат (возможно изображенный на диаграмме) связан с объектом, но это не какой-то конкретный c объект с некоторым специальным именем. Скорее, конечный автомат определяет, как каждый экземпляр определенного класса будет реагировать на события, учитывая его текущее состояние. И имя экземпляра - это любая переменная, которая содержит ссылку на него.