
图12 两个控制线程
可视化同步
可视化同步提供用图形表现独立线程之间相互交互的方法。可视化同步功能强大,因为基于消息的文本无法传递到底使用了哪种机制等信息;准确的行为只能从状态图中获得。例如,让我们修改图12 中的设计,当冰激凌线程完成了happy sale,强制热狗线程找钱。修改后的状态图如图13 所示。
可视化的Switch/Case(决策多边形)
在传统的有限状态图中,一个条件,例如X,只能是两个可能结果之一。一般为True 或False。而在具有可视化Switch/Case 功能的BetterState 的流图中,它可以是一个决策多边形,可以有多个结果,没有二选一的限制。理论上它可以支持任意数量的结果。
可视化Switch /Case 表现为两个或多个目标状态中做选择。可视化Switch/Case 中表达式的值决定能否发生转换。根据表达式的值,状态图转换为多个结果状态中的一个。
在扩展状态图中的任何状态,任何层次,设计者都可以增加一个可视化的Switch/Case ,它以图的方式表现了C / C++ /Verilog 中的switch 语句,Visual Basic 中的 Case Select 语句,和VHDL 中的Case 语句。

图13 Be Happy状态和Charge Money状态同步
图14 是一个使用了可视化Switch/Case 的例子。我们将在状态图中使用可视化Switch/Case 来描述我们在雨天的行为。在图中,我们的行为将根据雨的大小而改变。如果雨下得很大,我们就回家;如果雨不大,我们就打开伞继续营业;如果是毛毛雨,我们就当作没下雨,一切照旧。

被折叠的 条评论
为什么被折叠?



