LoginSignup
2
2

More than 5 years have passed since last update.

[状態マシン図] 登山用LEDヘッドランプ

Last updated at Posted at 2014-08-06

登山用LEDヘッドランプ

先週末、燕岳~大天井岳~常念岳縦走してきた。そのときに持って行った登山用LEDヘッドランプがこれ。

revolt.jpg

本体内に充電池を内蔵していて、USBミニプラグ経由で充電できる。とても明るく、遠くまでよく光が届くので、夜間の移動に使える。

取扱説明書から操作方法を読み取るのが難しいので、これの状態マシン図を描いてみた。

入力はボタンが1つのみ。

出力は白色LEDが3つ、赤色LEDが2つ、電池残量表示用の多色LEDが写真右側面に1つある。残量が多いほうから緑色、オレンジ色、赤色と変化する。

白色を循環する遷移と、赤色を循環する遷移がある。
どちらの色でも点灯、点滅するときは、2秒ほど電池残量表示が側面の多色LEDに表示され、消える。

状態マシン図

revolt2.png

選択疑似状態を起点とする遷移に設定されているアクションは、ガード条件を判定したあとに実行される。

製品として大切なことは

・ボタンが押されてそのモードに入ったことが、何らかの方法でユーザーに分かるようになっている
・どの状態からどの状態へもステップを踏めば必ず遷移できる
・たとえ、今の状態がわからなくても、最終的には自分が行きたい状態に行ける

これらを満たして状態マシン設計する必要がある。

実は、製品はボタンを押している間にも次々に表示が変わるので、この状態マシン図は製品と完全に一致していない。正確に表現するには、押すことと離すこと を別イベントとして処理し、押され続けた時間の長さによって分岐する必要がある。が、分析モデルとして、マニュアル代わりとしては、これくらいで十分であろう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2