State machine 應用簡介(兼談 UML 2)
-
Upload
william-yeh -
Category
Technology
-
view
1.335 -
download
0
description
Transcript of State machine 應用簡介(兼談 UML 2)
智慧時尚股份有限公司Fashion Intelligence Co., Ltd
State Machine應用簡介
2011.12.14.
William Yeh葉秉哲
兼談 UML 2
WHY State WHY State Machine?Machine?
2.
有些事物,本質上有些事物,本質上
就有 就有 ““ state” state” 觀觀念念
3.
Lock
4.
Process
有些領域,早就發展出有些領域,早就發展出
以 以 ““ state” state” 為出發為出發點點
的思考的思考 // 實作程序實作程序6.
序向邏輯電路
非同步事件/訊號非同步事件/訊號
8.
十字旋轉門
9.
stm Dynamic View
Locked
Unlocked
coin/unlock
pass /lock
stm Dynamic View
State
Trigger coin
E0
pass
E1
S0Locked S1
S1Unlocked S0
?
?
讓程式員易於檢查讓程式員易於檢查怪異而未處理過怪異而未處理過
的狀況。的狀況。
10.
十字旋轉門 , revised
11.
stm Rev ised example
Locked
Unlocked
pass /lock
coin/unlock
pass /alarm
coin /thank_you
stm Rev ised example
State
Trigger coin
E0
pass
E1
S0Locked S1 S0
S1Unlocked S1 S0
WHY State Machine?
有些事物,本質上就有 “ state” 觀念 有些領域,早就發展出以 “ state” 為出發點的思考 /實作程序
非同步事件/訊號 讓程式員易於檢查怪異而未處理過的狀況
好物: Enterprise Architect http://www.sparxsystems.com/products/ea/
12.
UML 2 的 State Machine
Martin Fowler, UML Distilled, 3rd edition, Addison-Wesley, 2003. 第 10 章。適合速成。
UML 2 State Machine Diagram http://www.sparxsystems.com/resources/uml2_tutorial/
uml2_statediagram.html
UML State Machine @ Wikipedia http://en.wikipedia.org/wiki/UML_state_machine
13.
實作
GoF 1995: State pattern SMC (State Machine Compiler)
http://smc.sourceforge.net
QP™ state machine frameworksQP/C, QP/C++, QP-nano
http://www.state-machine.com
C++ Boost http://stackoverflow.com/questions/4275602/boost-statechart-vs-
meta-state-machine
Meta State Machine (MSM)Statechart
14.
Boost MSM example
15.