登山用LEDヘッドランプ
先週末、燕岳~大天井岳~常念岳縦走してきた。そのときに持って行った登山用LEDヘッドランプがこれ。
本体内に充電池を内蔵していて、USBミニプラグ経由で充電できる。とても明るく、遠くまでよく光が届くので、夜間の移動に使える。
取扱説明書から操作方法を読み取るのが難しいので、これの状態マシン図を描いてみた。
入力はボタンが1つのみ。
出力は白色LEDが3つ、赤色LEDが2つ、電池残量表示用の多色LEDが写真右側面に1つある。残量が多いほうから緑色、オレンジ色、赤色と変化する。
白色を循環する遷移と、赤色を循環する遷移がある。
どちらの色でも点灯、点滅するときは、2秒ほど電池残量表示が側面の多色LEDに表示され、消える。
状態マシン図
選択疑似状態を起点とする遷移に設定されているアクションは、ガード条件を判定したあとに実行される。
製品として大切なことは
・ボタンが押されてそのモードに入ったことが、何らかの方法でユーザーに分かるようになっている
・どの状態からどの状態へもステップを踏めば必ず遷移できる
・たとえ、今の状態がわからなくても、最終的には自分が行きたい状態に行ける
これらを満たして状態マシン設計する必要がある。
実は、製品はボタンを押している間にも次々に表示が変わるので、この状態マシン図は製品と完全に一致していない。正確に表現するには、押すことと離すこと を別イベントとして処理し、押され続けた時間の長さによって分岐する必要がある。が、分析モデルとして、マニュアル代わりとしては、これくらいで十分であろう。