2014-11-14 3 views
0

По вашему мнению MSM (Boost Meta State Machine) подходит для встроенного приложения? В моем случае приложение должно запускаться на Cortex-M4F MCU с 1 Мб Flash и 192 КБ оперативной памяти. Мне нравится тот факт, что MSM дает вам более структурированный подход для определения иерархической машины состояний с ортогональными областями, но также создает некоторые накладные расходы. Мне было интересно, возможен ли такой подход для встроенных приложений с ограничениями памяти или мне нужно «вернуться» к более традиционным машинам состояния «switch case».Meta State Machine (Boost) во встроенных приложениях

+1

Я не могу сказать о повышающего MSM, но [STTCL] (http://makulik.github.io/sttcl/), безусловно, будет соответствовать для cortext M4. Но я бы предположил, так как это называется ** Meta ** - State-Machine, они будут использовать похожие методы. И ни в коем случае не возвращайтесь к традиционным FSM-переключателям. –

+1

В такой ограниченной системе вы, вероятно, вообще не должны использовать C++. И определенно не шаблоны. –

+1

@JoachimPileborg Uhm what? Мы делаем это все время, и мы делаем это очень успешно (не используя boost фактически thpugh). –

ответ

0

Это действительно зависит от того, как часто вам нужно будет использовать его и сколько значение он добавляет к вашему проекту с точки зрения времени, легко разработки, читаемость, портативность & т.д.

Если у вас есть все время в мире вы потенциально могли бы сделать что-то более эффективным и, скорее всего, для ваших нужд, но это маловероятно.

RAM - предыдущий. Итак, напишите несколько нетривиальный конечный автомат с помощью Boot MSM и изучите влияние на использование ОЗУ. Скорее всего, это будет больше, чем вы хотите для написания простых государственных машин.

Помните, что C++ 11 & 14 компиляторы гораздо умнее, чем они имели обыкновение быть мета программирования/шаблонов, поэтому код-наворотов не должно быть действительно вызывает озабоченность, поскольку компромисс/затраты на использование Повысьте MSM может стоит для сложных, нетривиальных государственных машин.

Отметьте Boost MSM-lite (экспериментальный), который пытается решить многие проблемы, уменьшив МСМ до конечного набора средств ванильного МСМ.

Boost MSM-lite

 Смежные вопросы

  • Нет связанных вопросов^_^