為實(shí)用的軟件系統(tǒng)編寫狀態(tài)機(jī)并不是一件十分輕松的事情,特別是當(dāng)狀態(tài)機(jī)本身比較復(fù)雜的時候尤其如此,許多有過類似經(jīng)歷的程序員往往將其形容為“毫無創(chuàng)意”的過程,因?yàn)樗麄冃枰獙⒋罅康臅r間與精力傾注在如何管理好狀態(tài)機(jī)中的各種狀態(tài)上,而不是程序本身的運(yùn)行邏輯。
作為一種通用的軟件設(shè)計(jì)模式,各種軟件系統(tǒng)的狀態(tài)機(jī)之間肯定會或多或少地存在著一些共性,因此人們開始嘗試開發(fā)一些工具來自動生成有限狀態(tài)機(jī)的框架代碼,而在Linux下就有一個挺不錯的選擇──FSME(FiniteState Machine Editor)。
可視化的FSME

FSME是一個基于Qt的有限狀態(tài)機(jī)工具,它能夠讓用戶通過圖形化的方式來對程序中所需要的狀態(tài)機(jī)進(jìn)行建模,并且還能夠自動生成用C++或者Python實(shí)現(xiàn)的狀態(tài)機(jī)框架代碼。
控制城門的狀態(tài)機(jī)

-
軟件
+關(guān)注
關(guān)注
69文章
5364瀏覽量
91943 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
501瀏覽量
29351
發(fā)布評論請先 登錄
東軟載波微電子ES-CodeMaker圖形化代碼自動生成工具發(fā)布
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十一):ISDU狀態(tài)機(jī)與EVENT事件
什么是狀態(tài)機(jī)?
如何選擇適合的智駕仿真工具進(jìn)行場景生成和測試?
嵌入式開發(fā)為何經(jīng)常用到狀態(tài)機(jī)架構(gòu)
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(八):M-Sequence Type 與消息處理狀態(tài)機(jī)
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(六):主從站狀態(tài)機(jī)解析
語法糾錯和testbench的自動生成
JTAG標(biāo)準(zhǔn)的狀態(tài)機(jī)實(shí)現(xiàn)
狀態(tài)機(jī)自動生成工具FSME
評論