Состояние определяется путем выделения класса из шаблонов классовsimple_stateилиstate;пример
Положение государства в государственной иерархии определяется тем, что передается как шаблонный параметрContext.Внешние состоянияпередаютstate_machine<>илиasynchronous_state_machine<>подтип, к которому они принадлежат, внутренние состояния передают свое прямое внешнее состояние;пример
Состояние можно сделать членом определенной ортогональной области, пройдя инстанциацию шаблона классаorthogonal, вложенного во внешнее состояние;пример
Состояние, которое первоначально введено, определяется параметрами шаблона, а не переходом по умолчанию из исходного псевдосостояния (в Boost.Statechart такого нет).
Дляsimple_state<>иstate<>внутреннее состояние (состояния), которое первоначально вводится/вводится, может быть определено параметром шаблонаInnerInitial;пример
Событие времени может быть смоделировано с помощью внешнего таймера, который запускается в действии входа и останавливается в действии выхода конкретного состояния. При запуске таймера рекомендуется звонитьfifo_scheduler<>::queue_event(), когда время истекает.
Событие изменения может быть смоделировано путем упаковки контролируемых переменных во внешнюю обертку методамиgetиset. Всякий раз, когдаsetобертка вызывает соответствующее событие
Активность do может быть смоделирована отдельным потоком, который запускается в действии входа и отменяется (!) в действии выхода конкретного состояния
Пересмотрено03 декабря 2006 года03 December, 2006[ORIG_END] -->
Статья The Boost Statechart Library - Definitions раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.