I've had heavy exposure to Miro Samek's "Quantum Hierarchical State Machine," but I'd like to know how it compares to Boost StateCharts - as told by someone who has worked with both. Any takers?
Я не знаком с Boost StateCharts, но мне кажется, что Самек ошибается в том, что он связывает действия перехода с контекстом состояния. Переходные действия должны происходить между состояниями.
Чтобы понять, почему мне не нравится этот стиль, нужен пример:
Что, если состояние имеет два разных выхода? Тогда события будут другими, но исходное состояние будет таким же.
В формализме Самека действия перехода связаны с контекстом состояния, поэтому у вас должно быть одно и то же действие для обоих переходов. Таким образом, Самек не позволяет вам выразить чистую модель Мили.
Хотя я не приводил сравнения с Boost StateCharts, я предоставил вам некоторые подробности о том, как критически оценивать реализации StateCharts: анализируя взаимосвязь между различными компонентами, составляющими реализацию.