问题标签 [statechart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
145 浏览

java - Anylogic——状态图——连续设定值

我正在尝试用系统动力学建模蒸汽网络。
有一只股票 A 流入股票 B。
我已经实现了一个状态图,它具有以下状态“FillLevelMin”、“FillLevelOk”和“FillLevelMax”。当状态图进入某个状态时,我希望它影响流的大小。到目前为止,我已经使用了 set_Parameter(number)。如果我想将流量设置为一个常数,例如 1000,那效果很好。

但是,只要状态为“FillLevelMax”,我想将流设置为动态变量。现在,当进入状态并保持这种状态时,流程正在采用动态值的值。但是,只要状态图处于“FillLevelMax”状态,我希望流程根据动态变量更新其值。

知道这是否可能吗?

0 投票
3 回答
3314 浏览

matlab - Stateflow 中的转换动作和条件动作

在下面的两个状态图中,第一个在从 StateA 移动到 StateD 时有一个动作要执行,即。/{z=5}; 第二个必须执行动作 {z=5}; 我知道这是一个过渡动作,但我无法理解这两个过渡之间有什么不同

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
157 浏览

rhapsody - Rhapsody 状态图中的并发:状态动作与转换

在 IBM Rhapsody 的状态图中,是否存在状态 A 和状态 B 之间的转换可能在状态 A 中的操作完成执行之前发生的情况?

0 投票
1 回答
304 浏览

agent - 如何使用状态图作为代理的流程图

我有两个要并列的过程。第一个是由 Process 库很好地表示的手动工作流。第二个是执行相同工作的软件系统,但更好地建模为状态转换系统(例如,s/w 组件级别)。

现在在 AnyLogic 中,状态模型适用于代理,它可以通过动画(计数)流程运行,或者在空间中移动。如果我想使用状态图来运行代理怎么办?所以我有一个系统状态图/代理和一个作业状态图/代理?

我希望人口 A 的作业通过手动流程流程图,而人口 B 的作业通过系统状态流程图,所以我可以并列处理成本。然后,我计算每个作业的各种延迟和资源分配,并进行比较。

谁能解释如何将状态图设置为基本流程,另一个代理将通过?这甚至可能吗?

请帮忙谢谢

0 投票
1 回答
42 浏览

loops - 使用循环将代理类型设置为空闲,当处于该状态时将接受代理,如果忙则拒绝

我有 3 个相同的套件,由 productionSuite 的一种代理类型表示,我想使用循环将套件设置为空闲和忙碌。productionOrder 的代理只需要发送到空闲房间。

我在ProductionOrder 代理中有一个assignedSuite 参数,它等于在main 的源中挑选的随机套件。我开始在此源中尝试与 ProductionSuite 代理的状态图相关的循环。我想我需要一段代码来将 ProductionSuite 定义为 0、1、2,然后用循环检查它们是否有 ProductionOrder。

[资源]

(原码)

(新代码)

行动:

我得到的错误是空闲不能作为变量解析。虽然我不确定这是最好的使用方法。也可以在何时对套件进行分组或我是否应该单独定义它们时使用一些方向。

0 投票
1 回答
121 浏览

loops - 带有循环的 Anylogic 状态图可将 3 个套件设置为空闲或计划

(Main.java:935) __ (NPE 错误图像) 我有 3 个相同的套件,表示为代理类型 ProductionOrder。main 上的按钮向 main 上的源发送注入调用。源创建一个 ProductionOrder 代理,并在其 On exit 操作中包含以下代码,该操作触发 ProductionSuite 代理类型中的状态图转换。状态图从“idle”开始,并有一个连接到“scheduled”的消息转换。当我运行模型并点击按钮时,源接收到注入调用并将 ProductionOrder 发送到套件 2。我可以在“运行”窗口中套件 2 的选项卡中看到它确实从“空闲”变为“已调度” ' 源被激活时的状态。尽管当套件 0 和 1 都没有收到订单时,它也会将状态更改为“已调度”。当我再次按下按钮以注入第二个 ProductionOrder 代理时,模型会出现一堆错误并且无法继续。我认为它仍在某个地方将套件组合在一起,并且问题可能不再来自源代码,因为它现在发送消息。或者也许我需要另一行代码来进一步分离这些套件。

0 投票
1 回答
186 浏览

c++ - Boost状态图`状态上下文`为空

我现在只有一个小smstate
我想从state, 中访问一些datasmon 构造接收和存储的内容:

当我运行它时,我收到以下错误:

我不明白为什么上下文指针是null.

0 投票
1 回答
327 浏览

anylogic - Anylogic状态图计时器?

我想知道是否可以计算系统处于特定状态的时间?而当它离开状态时,“秒表”停止,然后再次进入状态时继续?

如果是这样,怎么做?

0 投票
1 回答
238 浏览

c++ - Boost MSM:使用状态机本身作为隐式顶级状态

我有一个带有 states 的状态机AB并且C. C直接处理事件e,whileABdo not,但我想回退到事件的默认处理程序(Samek 称之为“终极钩子”模式) (当在 states和e中找不到处理程序时将调用该处理程序)。但是,使用 Boost MSM,我无法在状态机级别实现此处理程序,而必须引入包含,和的附加容器状态。ABSABC

有没有办法直接在状态机级别本身实现事件处理程序,而不需要这个容器状态?

0 投票
1 回答
41 浏览

anylogic - 用多条消息触发新状态?

我正在尝试使用一条消息或另一条消息在状态图中触发一个新状态。想想用“鼠标点击”或“键盘敲击”之类的消息“唤醒”一台正在睡觉的笔记本电脑。任何一个动作都会唤醒它,那么你如何设置它呢?

我尝试过声明一个布尔变量,将转换设置为“满足条件”并创建一个布尔类型的表达式,但出现了一些 StackOverFlow 错误。