Вы можете прочитать this question, где я спрашиваю о лучшей архитектуре для машинного приложения для небольшой истории назад, хотя это не совсем необходимо для того, чтобы помочь мне в этом вопросе.Должна ли машина конечного состояния иметь «вложенный» конечный автомат?
Мое понимание (особенно для реализации) фирмы Finite State Machine немного молодое и может быть немного, но я реализую это приложение как одно, и у меня есть место, где мне нужно иметь вложенный FSM. В основном машина имеет несколько состояний высокого уровня (Cold [aka just started], Homing In, Setup, Ready to Run, Running, Reporting, Reseting), но когда машина работает, для нее требуется небольшая реализация FSM для (Загрузка линзы, расположение края, измерительный клин, измерение округлости и завершение [может быть еще там]).
Мой вопрос заключается в следующем: должен ли я построить возможность «вложенных состояний», когда состояние может иметь список под-состояний, и система может вводить эти под-состояния, и эти под-состояния могут возвращаться в родительские состояния? Или я должен просто включить реализацию FSM в состояние Running и сохранить их как два разных FSM? Или вы думаете, что я делаю или думаю что-то немое и должен переосмыслить его?
Мысли, предложения, критика и советы приветствуются.
Вложенные состояния хороши, ИМО. Вы уверены, что имеете в виду самонаведение, а не оттачивание? – Beth
Да, самонаведение. Как найти домашнюю позицию. –