问题标签 [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 回答
1106 浏览

uml - 具有多个转换的状态机,具有相同的触发器/事件但不同的保护

如果我的状态 S1 有 2 个转换都由事件“A”触发,但其中一个有作为警卫x !=0,另一个没有。当警卫有效()时,预期的行为是x ==1什么?

  1. 不可预料的
  2. 采取带守卫的过渡
  3. 无防护过渡

我不记得读过关于不能在同一个事件中进行 2 次转换的文章。

0 投票
1 回答
1229 浏览

uml - 具有从初始状态传出的多个转换的 Uml 状态图

我是 Uml 新手,我想知道在状态图中是否可以有多个从初始状态传出的转换

0 投票
2 回答
608 浏览

concurrency - 并行区域中的 UML 状态图或状态机

我现在正在寻找一本主要关注并行区域中的UML状态图的书。很难找到一个。大多数书只包含很少的信息,我想知道是否有一本专注于这个主题的书。如果有的话,我真的很感激你们能告诉我!并行区域中的 UML 状态图或并发状态图都可以!

太感谢了!

0 投票
2 回答
999 浏览

uml - 您如何表示可以在状态图中修改程序状态的异步操作?

我有一个做两件事的动作,首先它会改变应用程序的状态,其次它会调用一个 web 服务。当 web 服务发送它的响应时,它将影响当前的应用程序状态。示例状态图

可以说我有上述设置。Method1()调用 Web 服务并导致状态从 更改ABMethod1()调用到调用后Finish(),状态可以从Bto CBtoSuccess等变化。

如果B更改为Success,则也可以从更改SuccessC

当状态可以在操作后的任何时候设置时,我将如何绑定Success和状态?FailMethod1()

0 投票
2 回答
1195 浏览

line - StarUML 状态图转换线重叠

我正在尝试在 StarUML 中绘制状态图,发现过渡线重叠。我想要一些像这样分开的过渡线:

但总是让过渡线与一个双箭头重叠:

请告诉我哪里做错了或者我应该怎么做,谢谢

0 投票
3 回答
686 浏览

c++ - 在 UML 工具中从 StateCharts 生成代码的要求

我们需要从 UML 工具中绘制的 StateCharts 生成 c++ 和 Java 代码。

以前我们使用“Rational Rose”,但由于一些许可错误,我们不能再使用它了。在rose 中有一个可用的插件,它可以从与我们的框架集成的 stateChart 中生成一个文本文件。

所以现在我们需要评估和选择满足以下要求的标准 UML 工具。

@易于使用。易于绘制状态图。

@ 在 GNU Linux 环境中从 C++ 的 stateCharts 生成代码的能力。[所有队列,线程需求由生成的代码处理。让用户只能专注于业务逻辑]

@ OR 插件或工具的可用性来生成捕获交易的文本文件。

有两种工具作为强有力的竞争者出现——IBM 的 Rhapsody 和 SparxSystems EnterpriseArchitect。

让我知道您在这方面的建议和经验。提前致谢

0 投票
1 回答
316 浏览

uml - 当并非所有到连接伪状态的转换都被启用时,哪些状态是活动的

考虑以下状态图:

状态图

客户获得状态已确认,资源处于未分配状态。没有为从 Confirmed 到 Join 伪状态的转换定义保护。

在这种情况下,状态 Confirmed 是否保持活动状态,直到 NotAssigned 转换为 Assigned?(即我可以发送触发器“取消”,以便客户进入“未确认”状态,这是我想要获得的行为)。还是我没有使用正确的方法来建模?(然后状态图会如何)

编辑(在评论 Gangnus 之后)我所追求的是理解

  • 连接伪状态如何起作用
  • 连接到连接的状态何时失去其活动状态

所以我想要获得的是对加入状态的更深入的了解。我查看了 UML 规范(formal-1108-06.pdf 第 15 章),但没有找到上面提到的我的场景的清晰描述:如果我输入 Confirmed,并且 Confirmed 使用没有保护的转换连接到 Join 或触发器指定,而 NotAssigned 在资源区域中处于活动状态,何时确认其活动状态:

  1. 进入状态后立即
  2. 当 NotAssigned 转换为 Assigned 时(然后两个状态都变为非活动状态并转换为 ExecutionAllowed。
0 投票
2 回答
2849 浏览

statechart - 事件和状态之间是否有明显的区别

这个问题有点哲学,就像“数据和代码是否相同”。

事件(信号)和状态之间有什么明显的区别吗?

例子:

例如,有一辆汽车经过马路。当汽车按喇叭时,一个man_A过马路的人 ( ) 突然停下来。喇叭是信号,“man_A突然停止”是状态man_A

另一个人(man_B)也在同一时间,同一地点过马路。

让我们认为那man_B是聋子,所以他听不到喇叭。但意识到“man_A突然停止”对他来说是一个信号。他会突然停下来,仿佛听到喇叭声。

所以我会说“一个状态可能是另一个进程的信号。一个信号将一个进程置于另一个状态。这就是为什么它们完全相同的原因”

我错了,它们之间有明显的区别吗?

信号是状态变化。我们可以定义具有两种状态的任何信号。

0 投票
1 回答
188 浏览

ember.js - Ember.router 的并发状态

我想使用 Ember.Router 在 Ember.js v1.5.x 中实现这个状态图,但是并发和历史机制存在问题。

基本上,当我激活摘要路线/状态时,我想同时转换到无更改瞬态状态。我怎样才能做到这一点?

PS 我知道例如stativus 具有这些功能,但不知道如何将它与 Ember.js 路由一起使用。一个例子很好。

(图片来源:Ian Horrocks:使用状态图构建用户界面,第 153 页)。

0 投票
3 回答
870 浏览

uml - cd 刻录机的状态机

作为一个新手,我正在尝试使用 Visio 为 cd 编写器开发一个状态机。下面是设备操作/交易并附上,是我到目前为止所做的图表,不确定它是否准确表示。

  • 加载按钮 - 使抽屉打开并在打开时关闭(加载空 cdr)

  • 刻录按钮 - 开始在 cdr 上刻录文件,刻录过程中绿灯亮,
    完成后熄灭。一旦 cdr 被烧毁,writer 就会停止。

  • 验证按钮 - 验证之前记录在 cdr 上的文档,过程中绿灯亮,完成后熄灭,然后设备停止

  • 取消按钮 - 在录制或验证期间随时停止进程

  • 取消按钮 - 如果 cd writer 为空或不忙于验证或录制,则无效当加电时 - CD Writer 将确保抽屉关闭

  • 刻录按钮——当 cd writer 为空时以及在录制或验证过程中时无效。

  • 只有在刻录机不忙于刻录时才能开始验证。

    在此处输入图像描述