Описание тега boost-statechart

Boost.Statechart - это библиотека C++, позволяющая легко и быстро определять конечные автоматы.
5 ответов

Повышение Statechart против Meta State Machine

Очевидно, boost содержит две отдельные библиотеки для конечных автоматов: Statechart и Meta State Machine (MSM). Слоганы дают очень похожие описания: Boost.Statechart - произвольно сложные конечные автоматы могут быть реализованы в легко читаемом и …
1 ответ

Повысить asynchronous_state_machine

Можно ли получить ссылку на планировщик из processor_handle для asynchronous_state_machine? Код: struct A { A(sc::fifo_scheduler<>::processor_handle& h):player_ref(h){} sc::fifo_scheduler<>::processor_handle& player_ref; void a_f…
01 мар '11 в 12:52
1 ответ

Модульное тестирование с boost::statechart

Мы используем расширенную библиотеку диаграмм состояний и не можем написать модульные тесты для кода. В нашем обычном исполнении конечный автомат запускается в ClosedState: struct BoostStateMachine : sc::state_machine<BoostStateMachine, ClosedSta…
17 ноя '10 в 09:26
1 ответ

Увеличить диаграмму состояний: возврат в предыдущее состояние

У меня есть конечный автомат, в котором, если я вхожу в определенное состояние, иногда мне требуется регулярный переход в другое состояние, а иногда мне нужно вернуться в предыдущее состояние. Например, имея состояния A B C, скажем, что переход S пе…
31 май '17 в 16:06
1 ответ

Реагируя на все ортогональные состояния, закончив в Boost.statechart

Я работаю над программой управления роботом, которая основана на автомате. Хотя программа использует Qt State Machine Framework, я также попытался реализовать ее, используя Boost.statechart (BS) в качестве теоретического упражнения и способа изучени…
07 июн '11 в 10:52
1 ответ

Переход против custom_reaction в библиотеке boost.statechart

Я прочитал учебник библиотеки boost.statechart и его примеры, и у меня возник вопрос, связанный с переходом и его действием. Есть два способа определить переход, используя transition<> а также custom_reaction но в чем главное различие между ни…
20 ноя '15 в 14:58
1 ответ

Как узнать, когда завершился асинхронный конечный автомат. (Повышение:: Statechart)

Мне нужно создать boost::statechart::asynchronous_state_machine, и мне нужно иметь возможность "уничтожить" его внешне. Я нашел в документах, что я должен вызвать destroy_processor и прекратить это делать. Проблема в том, что эти методы просто встав…
21 янв '15 в 15:09
1 ответ

Используя диаграмму состояния Boost, как я могу безоговорочно перейти в состояние?

У меня есть состояние A что я хотел бы перейти к следующему состоянию B безусловно, когда-то конструктор A завершено. Это возможно? Я попытался опубликовать событие из конструктора, который не работает, даже если он компилируется. Благодарю. Редакти…
12 окт '11 в 18:03
1 ответ

Увеличить диаграмму состояний - передать данные о событиях в конструктор состояний с помощью triggering_event

Я хотел бы иметь возможность передавать данные из события в состояние, которое создается в результате перехода. Из этого поста в 2009 году и из этого в 2010 году использование triggering_event() предлагается. Однако я нигде не могу найти пример, кот…
16 ноя '16 в 14:23
2 ответа

Запись изменений состояния в boost::statechart

Для модульного тестирования я пытаюсь записать все транзакции состояния после запуска события конечного автомата.Например, если я отправлю событие A в fifo_scheduler async_state_machine, конечный автомат пройдет через состояния B, C, а затем обратно…
16 май '11 в 19:29
1 ответ

Периодический конечный автомат с буст-диаграммой состояний

Я хочу реализовать конечный автомат, который будет периодически отслеживать некоторые данные о состоянии (состояние моей системы) и реагировать на них. Кажется, это что-то довольно простое для конечного автомата (у меня была эта проблема много раз р…
1 ответ

Boost Statechart Library - как реализовать трудоемкие переходы

В нашем проекте у нас есть пользовательский интерфейс и логика (которая может быть представлена ​​как конечный автомат). Переходы между некоторыми шагами в этом шаговом компьютере являются длинными (с IO-привязкой). Мы не хотим украсть наш поток пол…
24 авг '09 в 12:37
0 ответов

Повысить взаимодействие диаграммы состояний

У меня есть две диаграммы состояний (FSM_A и FSM_B), реализованные с использованием boost::statechart. Безопасно ли обрабатывать событие из FSM_A, чтобы инициировать переход в FSM_B? Должен ли я использовать два async_state_machine? Или, может быть,…
06 авг '14 в 12:33
1 ответ

Наследовать реакции

Я хотел бы определить базовый класс, производный от statechart::simple_state, которая имеет "предопределенные" реакции, которые сами вызывают виртуальные функции (которые должны быть реализованы в производных классах). Я хотел бы, чтобы некоторые со…
16 фев '12 в 13:15
1 ответ

Уведомление об изменении состояния в Boost Statechart

Существует ли простой способ регистрации изменений состояния в Boost Statechart? Для примера с цифровой камерой, скажем, я решил добавить графический интерфейс в приложение. Есть ли возможность получать уведомления о переходе между состояниями, кром…
10 сен '15 в 19:15
1 ответ

boost::statechart: Как определить два вложенных состояния определенного состояния, не указывая, какое из них является значением по умолчанию?

Следующий код не компилируется: namespace sc = boost::statechart; class Active; class FSM : public sc::state_machine< FSM, startup> { }; class ev_1 : public sc::event<ev_1> {}; class ev_2 : public sc::event<ev_2> {}; class Active :…
09 дек '13 в 14:15
0 ответов

Диаграмма состояний буста, доля юнит-тестирования конечного автомата

Я ищу способ выполнить (в целях модульного тестирования) только фракции сложного состояния -машина. Для этой цели я оцениваю фреймворк boost::statechart. Один из способов, который я рассмотрел, заключался в разработке иерархического конечного автома…
1 ответ

Почему мое использование context<State>(). Method() нарушает утверждение диаграммы состояний?

Я разработал некоторый концептуальный код для проекта, над которым я буду работать в ближайшее время. Проект поддается разработке конечного автомата, и я думаю, что boost::statechart будет работать хорошо. Однако я столкнулся с препятствиями, когда …
25 дек '10 в 20:39
1 ответ

Boost Statechart - Локальные переходы

Я надеюсь, что кто-то может помочь мне с этой проблемой, или, по крайней мере, указать на ошибку моих путей... В качестве простой иллюстрации моей проблемы рассмотрим часть приложения, в которой вы можете войти в режим работы "Режим функций". Затем …
06 июл '12 в 12:19
1 ответ

Как использовать boost in_state_reaction

Я пытаюсь использовать in_state_reaction, Как ни странно, функция реакции для этого, кажется, не выполняется после process_event () называется. Я изменился in_state_reaction в custom_reaction и вроде нормально. Просто хочу узнать, как мне заставить …
13 мар '13 в 05:33