标签: statechart

StateChart和Activity Diagram之间的区别

我真的无法理解这两个图之间的真正区别.我的意思是这两个交易都是"状态",但我不确定是什么处理什么?

diagram uml activity-diagram statechart

31
推荐指数
2
解决办法
5万
查看次数

是否有内置状态机构造的编程语言?

我很好奇是否有一种编程语言将状态机(类似于boost :: statechart)作为主要语言构造.

类比 - c#有委托,其中java使用观察者模式,C有回调.Perl和python有内置哈希,而C++和java需要一个库.

更新:

这应该是C++,C#,Java,Lisp等意义上的通用编程语言......

我的意思是"成熟"的状态机,在Harel形式主义或UML状态图或boost :: statechart的层面上都有所有的铃声和​​口哨声.

programming-languages state-machine statechart

25
推荐指数
3
解决办法
1万
查看次数

statemachine和statechart是否意味着相同?

我听说有人使用这些条款.

我想知道他们是否提到了同样的事情,或者两者之间是否存在差异?

diagram uml terminology state-machine statechart

11
推荐指数
1
解决办法
4433
查看次数

Ember.js中的州没有使用路线?

我试图了解Ember.js中的状态是否仅被设计/假设在路径管理器中定义,以及路由是否是Ember的组成部分.几乎所有我看过的指南似乎都假设您希望状态和路线完全匹配.

我想创建不依赖于路由的状态,而只是创建应用程序的状态.例如,在电子邮件客户端中,我可能具有"userHasSpecifiedRecipient"状态.仅当此状态为true时,我才能启用表单的消息框.但显然我不希望网址是:

myEmailClient.com#composingMessage_userHasSpecifiedRecipient_userIs... 等等

有这样的例子吗?

第二个问题:我可以混合与路线和状态相结合的状态吗?

最后:我看到一些建议,建议人们使用Ember的sproutcore-statechart插件,如果他们想要并发状态之类的东西.这仍然是真的吗?

routes statechart ember.js

8
推荐指数
1
解决办法
2580
查看次数

状态图/有限状态机是否适合对调查问卷进行建模

在此输入图像描述

我想对上面的调查问卷进行建模,我认为它是一个有向无环图。

我一直在关注的两个库是:

我遇到的几个问题是:

  1. 调查问卷依赖于先前的状态,例如先前问题的答案用于转换到另一个状态(问题)。我认为“外部国家”可以解决这个问题对吗?

  2. 如果我处于 Q6 并且我想过渡到上一个问题,那么根据之前的答案,这可能是 Q1、Q4 或 Q5。我想我可以使用堆栈在调查问卷进行时推送每个状态,然后弹出以返回到之前的状态。

这一切听起来可行吗?或者有更好的方法来模拟这个问题吗?

graph-theory state-machine statechart

5
推荐指数
1
解决办法
1170
查看次数

如何在 Haskell 中实现状态图?

在阅读了 Miro Samek 的优秀著作《Practical UML Statecharts in C/C++》之后,我迫不及待地想尝试一下。最近,我开始自学 Haskell 和函数式编程。

\n

在我关于 Haskell 的书刚读了几章后,我就突然意识到状态图可能很困难,甚至与 Haskell 的风格背道而驰。毕竟,创建无状态程序需要付出巨大的努力,或者至少将代码的所有不纯部分与纯代码部分很好地分开。

\n

当我在网上搜索“Haskell”结合“statechart”时,我几乎什么也没找到!这激起了我的好奇心。毕竟,Haskell 是一种相当古老的通用编程语言。怎么可能\n似乎几乎没有与状态图相关的活动?

\n

Haskell 的 Reddit 子主题“ haskeller 对状态图的思考”中提出了几种可能的解释,我希望我的简短摘录不会扭曲任何作者的观点:

\n
    \n
  1. /\xe2\x80\xa6/ Haskell 社区总体上在 UI 开发方面不是很活跃 /\xe2\x80\xa6/

    \n
  2. \n
  3. /\xe2\x80\xa6/ 状态图的缺点是它们提供的所有灵活性\n使得模型检查(以及基于模型的\n测试)变得更加困难。/\xe2\x80\xa6/

    \n
  4. \n
  5. /\xe2\x80\xa6/ 状态机是状态和转换规则的集合。但由于实现状态是多余的,您可以单独使用转换规则,这些规则被整齐地表示为(相互递归的)函数族。/\xe2\x80\xa6/ 但 Haskell 不受此限制,因此显式实现状态机通常是多余的。

    \n

    Hense(原文如此!),作为一名 Haskeller,我大多数时候并不真正需要显式状态机。作为一等公民和 TCO 的功能,在最好的情况下是一个实施细节,在最坏的情况下是不需要的。/\xe2\x80\xa6/

    \n
  6. \n
  7. A。/\xe2\x80\xa6/ 在 Haskell 生态系统中,你可能会更幸运地使用“转换系统”、“演员模型”或“状态转换器”等搜索词。/\xe2\x80\xa6/

    \n

    b. /\xe2\x80\xa6/ 函数反应式编程 (FRP) 和箭头是 Haskell 中\n实现信号流的方法。/\xe2\x80\xa6/

    \n

    C。/\xe2\x80\xa6/ State monad 转换器可以对此进行建模。如果中间步骤中有\n外部信号,则可以\n将其嵌入\n延续 monad 中。/\xe2\x80\xa6/

    \n
  8. \n
\n

我允许自己解释一下,并对此进行评论:

\n
    \n
  1. 我发现 H. …

haskell state-machine statechart

5
推荐指数
1
解决办法
343
查看次数

通过转换来提升状态图传递参数

我正在尝试学习boost :: statechart.

我想制作一个加载文件的小应用程序.

//  --------------------------------
// |                                |
// |           O     Project        |
// |           |                    |
// |           v                    |
// |  ----------------------------  |
// | |                            | |
// | |         Unloaded           | |
// |  ----------------------------  |
// |  |              ^              |
// |  | EvLoad       | EvUnload     |<-----O
// |  v              |              |
// |  ----------------------------  |
// | |                            | |
// | |         Loaded             | |
// |  ----------------------------  |
// |           | …
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-statechart statechart

3
推荐指数
1
解决办法
2841
查看次数

Ember statemanager vs emberjs附加组件中的sproutcore-statechart

有一些例子展示了在基于Ember的应用程序中使用状态图:

http://www.thesoftwaresimpleton.com/blog/2012/02/28/statemachine/

https://github.com/DominikGuzei/ember-routing-statechart-example

emberjs-addons中的sproutcore-statechart和ember-states lib中的ember.statemanager有什么区别?如果我想在Emberjs中使用sproutcore-statechart,我该如何正确设置?

statechart ember.js

3
推荐指数
1
解决办法
524
查看次数

Statechart vs Statemachine

我正在攻读考试,之前的考试有一个问题:

在此输入图像描述

网上有很多答案说Statecharts和Statemachines是一回事吗?如果没有,有人可以解释与这个问题有关的差异.

如果有人可以提供两者的例子,那将真的有帮助.谢谢

uml state-machine statechart

3
推荐指数
2
解决办法
2716
查看次数

PlantUML:控制箭头形状和方向

使用PlantUML,我为我的文档创建了一个小状态图:

@startuml

state Powered {
    [*]      -d->    Starting
    Powered  -r->    Starting : Some error
    Starting -d->    Operational
}
[*]     -d->   Powered  : Power On
Powered -u->   [*]      : Power Off
Powered -d->   Powered  : Reset

@enduml
Run Code Online (Sandbox Code Playgroud)

(顺便说一句:Pl​​antUML 是一个非常好的工具,可以从文本描述嵌入嵌入标记文档(如 asciidoc 或 reStructuredText)创建图形输出)

这是给定状态图呈现的内容: 在此处输入图片说明

正如你所看到的图表绘制有点草率

  • “关机”过渡箭头不直
  • 初始/结束状态交换
  • 从“Powered”到“Starting”的箭头看起来像是以某种方式连接到“Power Off”转换
  • “启动”和“运行”状态未对齐

正如文档所描述的那样,您可以通过书写-left->-l->简称而不是仅仅对箭头方向产生一些影响-->

有没有影响的方式方法如何,并在那里箭头画出?我真的很想只绘制水平垂直的 直线

graphviz statechart plantuml

3
推荐指数
2
解决办法
1万
查看次数