雑記シェアするBookmark!FacebookTwitterGoogle+PocketTweet組み込みにおける状態遷移の悩み状態遷移図を作ったけど、どうやってプログラムに落とすのかプログラムは書いたけど、どうやって状態遷移図に落とすのか?機器制御に関わる設計をしていると、状態遷移図書いて説明して?って言われたことがありませんか?組み込み系の開発をしていると、機器の状態を表す手段として状態遷移図が使われることが多いです。私の職場でもよく機器状態を表現するために使用しています。今回は状態遷移図とコードの対応関係がよくわからんって人向けに、状態遷移図とCコードのサンプルを書こうと思います。この記事を読むことで、状態遷移図→プログラムへの落とし込みがイメージできることを目指しています。コードへの変換ポイント状態(entry/do/exit)がコードにどう置き換わるか覚えるべし。結論としては、状態遷移図に書かれたものがどうプログラムに置き換わるか知ることが大事です。具体的に、State1から2に遷移するプログラムを書きました。StateMachineはPlantUMLで記載すると楽ですが、線がずれたり調節ができないので、Astahなどのソフトを使うと読みやすいものが書くことができますをCのコードに落とすとこんな感じになります状態遷移図とentry/exitの関係が理解できずコードに落とすことがイメージしにくいのですが、実際に書いてみるとこんな感じにわかりやすくなります。State1は次の状態が定義されているため、イベント発生時にState1の終了処理とState2の開始処理が書かれていますが、State2は何もありませんね。これはイベントがないためです。そもそも状態遷移図がおかしくね?ってやつですので、コードを書く前に状態遷移図を設計しなおすことをおすすめします。まとめ今回状態遷移図→コードに落とすサンプルを提示しました。実際に書いたサンプルが非常に少ないため、ググって調べる方が多いと思います。気になった方はお気に入り登録お願いします。『心を整える』がもたらす自己成長と幸福感:長谷部誠のアドバイスを実践するテストエンジニアになるべきか、マネジメントに進むべきか?経験者が教えるキャリア選択のヒント栄のサウナで汗を流した後は、名古屋の味噌カツで体力回復!A2からB1へ。6スポンサードリンクZenback引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。