Моделирование FSM с условиями?
Я должен моделировать FSM, но я не уверен, как моделировать условия. Давайте возьмем простой пример банкомата. Если пользователь нажимает "Подтвердить" И PIN-код правильный, перейдите к состоянию 2. Если пользователь нажимает "Подтвердить", И PIN-код неверный, перейдите к состоянию 3.
Или я мог бы просто использовать ввод, называемый "неправильный контакт" и "правильный контакт"? Мне нужно, чтобы он был формальным, чтобы я мог использовать процедуры тестирования FSM, такие как генерация набора обложек и т. Д. Но я не знаю, можно ли смоделировать FSM таким образом (возможно, с добавлением состояний, представляющих дополнительные условия?)
1 ответ
Есть ли какие-то требования к технике или языку моделирования?
Если нет, я согласен с ответом Свенья Вендлера и рекомендую использовать для этой цели диаграммы конечного автомата UML, что позволяет вам использовать варианты выбора, а также моделировать условия защиты и действия при переходах между состояниями.
Я бы предложил использовать элемент выбора, а не помещать информацию о "возможных" входах в модель. Делая это, вы можете параметризовать свой конечный автомат извне. Вы можете смоделировать его с правильным PIN-кодом и неправильным PIN-кодом. Диаграмма состояний должна быть независимой.