有限自动机调试器
页面进行中。 |
基于有限自动机 创建模型是描述复杂离散逻辑的有效方法。为了简化对这类自动机的分析,并对其行为进行控制,Engee 内置了一个调试器,允许您逐步跟踪执行情况,并检测有限自动机的错误。
调试器可在图表 块内使用,通过为state 和/或transition
设置断点即可启用调试器:
断点显示为红色标记 (如果禁用,则显示为灰色
)。
*断点*是有限自动机调试器的一个重要工具,可用于设置停止模型执行的条件。这样就可以研究模型在有限自动机执行过程中某一特定步骤的行为。因此,断点可用于
使用断点
断点可设置为
-
*状态*
- 进入时、执行过程中和退出时;
-
*过渡*
- 检查条件时或执行过渡之前。
要在状态 或过渡
上添加断点,请左键单击所需元素,然后单击出现的断点图标。激活的断点将用红色标记标出:
您可以为状态和转换设置不同类型的断点。为此,请用鼠标左键单击断点:
在状态中 |
在过渡处 |
|
|
将光标移至断点上时,将显示所选类型:


根据要监控的状态/转换操作点,可以启用任意复选框组合。如果取消选中所有复选框,则会删除断点。
要暂时禁用断点(使其保留在状态/过渡上但不触发),请再次单击断点图标:
断点列表
要切换到断点列表,请左键单击已创建的断点,然后选择 断点列表:
这将打开有限自动机模型的所有断点列表:
通过断点列表,您可以
-
跟踪模型模拟过程中哪些断点被触发以及触发的次数。执行次数显示在 "执行次数"栏中。被触发的断点将以绿色高亮显示:
-
左键单击列表中的断点,然后单击 Delete breakpoint 图标
,即可删除断点。
-
用鼠标左键单击列表中的断点,然后单击 Add breakpoint 图标,添加断点
。在打开的窗口中选择所需的参数—触发器类型,必要时选择条件:
-
启用/禁用断点—为此请控制相应点上的复选框
。
-
在所需行的 "条件"列中输入表达式,为断点指定条件。例如,有限自动机逻辑 支持的逻辑表达式。Chart 块中可用的输入、输出和所有变量的值都将用于这些表达式。
或"(y == 0) & (n > 5)"。条件可以指定
模型执行控制
分步执行仅在 Chart 块中可用,不会影响工作区中模型的全局执行。退出 Chart 块后,面板将被隐藏,Engee 返回正常模拟模式。 |
在 Chart 块内设置第一个断点后,画布左上角将出现一个逐步仿真控制面板:
有三个运行控制命令可供选择:
-
`Step In`
- 在当前状态或转换中移动到下一个执行步骤。该命令分步执行有限自动机元素的细节。它可以是
-
`Step Over`
- 完整地执行当前步骤,不进入内部部分。该命令用于顺序通过有限自动机的关键执行步骤:
-
激活有限自动机;
-
状态转换;
-
检查可用的转换
-
执行转换动作
-
执行状态动作
-
-
`Step Out`
- 终止当前状态、转换、子状态或嵌套转换图的执行,并返回上一级执行。该命令允许您退出当前嵌套层级,并在执行输入的层级继续执行自动机。
为了直观地跟踪自动机模型的当前执行阶段,使用了高亮显示功能—在模型本身和断点列表的执行过程中,活动元素均以绿色高亮显示:
除了用颜色突出显示外,系统还以图标的形式提供提示,当您将光标移至图标上时,系统会弹出辅助信息,说明模型在当前阶段的具体运行情况:
-
进入状态前
-
状态内部
-
离开状态前
-
检查过渡条件前
-
过渡前
例如
查看和编辑变量
在逐步模拟有限自动机的过程中,您不仅可以观察哪些状态和转换被激活,还可以监控 Chart 块内使用的变量值。
为此,请打开 Chart 块的设置窗口 - 它将显示所有可用变量。
在该窗口中,您可以
-
查看每一步变量的当前值;
-
查看变量值的变化—这些变化将以绿色高亮显示,与断点列表类似;
-
在模型停止时直接手动更改某些变量的值。
只有在仿真暂停和有活动断点时才能编辑变量值。
*更改变量值:
-
将光标移至 "值"列中所需的行上;
-
单击当前值;
-
输入新值并按 Enter 键。
可更改*局部变量*和*输出信号*。输入信号的值由外部建模环境(图表 块之外)设置。 |