自动生成程序状态机代码状态机建模方法

描述

首先运行fsme命令来启动状态机编辑器,然后单击工具栏上的“New”按钮来创建一个新的状态机。FSME中用于构建状态机的基本元素一共有五种:事件(Event)、输入(Input)、输出(Output)、状态(State)和转换(Transition),在界面左边的树形列表中可以找到其中的四种。

状态建模

在FSME界面左边的树形列表中选择“States”项,然后按下键盘上的Insert键来插入一个新的状态,接着在右下方的“Name”文本框中输入状态的名称,再在右上方的绘图区域单击该状态所要放置的位置,一个新的状态就创建好了。用同样的办法可以添加状态机所需要的所有状态,如下图所示。

状态建模

状态机

事件建模

在FSME界面左边的树形列表中选择“Events”项,然后按下键盘上的Insert键来添加一个新的事件,接着在右下方的“Name”文本框中输入事件的名称,再单击“Apply”按钮,一个新的事件就创建好了。用同样的办法可以添加状态机所需要的所有事件,如下图所示。

状态机

转换建模

状态转换是整个建模过程中最重要的一个部分,它用来定义有限状态机中的一个状态是如何切换到另一个状态的。例如,当用来控制城门的状态机处于Opened状态时,如果此时有Close事件产生,那么状态机的当前状态将切换到Closed状态,这样一个完整的过程在状态机模型中可以用closeDoor这样一个转换来进行描述。要在FSME中添加这样一个转换,首先需要在界面左边的树形列表中选择“States”下的“Opened”项,然后按下键盘上的Insert键来添加一个新的转换,接着在右下角的“Name”文本框中输入转换的名字“closeDoor”,在“Condition”文本框中输入“Close”表明触发该转换的条件是事件Close的产生,在“Target”下拉框中选择“Closed”项表明该转换发生后状态机将被切换到Closed状态,最后再单击“Apply”按钮,一个新的状态转换关系就定义好了,如下图所示。用同样的办法可以添加状态机所需要的所有转换。

转换建模

状态机

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分