23.2.4. ロールバック
やり直しを許すように拡張してみましょう.
電子錠の改良 #
ここまで完成させたオートマトンは,一度でも誤った入力をすると「解錠失敗」と判定され,二度と開けることができないものでした.ここでは仕様を拡張して,途中でどんな間違いをしていても,最後にabacなら解錠するように変更します.
どのように変更すれば良いでしょうか. 誤った入力をした際には振り出しに戻ることにしてみましょう.具体的には「解錠失敗」状態を削除し,誤った入力の際には初期状態に遷移するようにします.

検証用自動テストの実行 #
2番目のテストである「Rollback automaton」を選択して「Test」をクリックしましょう.
結果は...
オートマトンの修正 #
入力 aabac を終了状態とするために,以下のように変更してみました.

各自で正しく修正して,すべてSUCCESSになれば,この練習は成功です.


