我正在寻找一种理解DSL的工具,我可以在其中定义生成Java代码的状态图,或者DSL中的状态图可以按原样运行。 理想情况下,该工具将用Java编写,并且必须通过Harel Statecharts(或等效的UML 2状态机)的定义来支持上层和正交区域。 或者,用这种DSL编写最好的库或工具是什么?

===============>>#1 票数:5

Yakindu看起来不错: http//www.statecharts.org

  • Harel Statecharts
  • 视觉语言
  • 文字DSL
  • 生成Java
  • 生成C.
  • 生成C ++
  • 生成可配置/可定制
  • 基于Eclipse的
  • 开源
  • 模拟
  • 历史和深刻的历史

===============>>#2 票数:3

有一个用Pharo Smalltalk编写并在OBJEKTspektrum中发布的Harel Statechart DSL:
http://www.sigs-datacom.de/fileadmin/user_upload/zeitschriften/os/2011/04/krasemann_brauer_crasemann_OS_04_11.pdf
唉,这是德语。 但是,代码是英文的:
www.squeaksource.com/AuDSL3.html

这个DSL的实现可以很容易地移植到Scala解析器组合器,这意味着它可以用于Java。

如果你想做这个港口,我们很乐意帮忙(krasemann@acm.org)。
我们还没有完成它。

*已添加2012-03-17 * Scala端口现已准备就绪。 它是一个Scala Trait,因此可以很容易地被您的Java程序使用的scala类继承。 你在这里找到它: http//dl.dropbox.com/u/4548797/AuDSLinScala-src.zip

===============>>#3 票数:1

ThingML是一个文本DSL,允许建模类似UML的状态机(包括复合状态,并行区域等)。 根据ThingML规范,可以生成Java,C或JavaScript。 这里有一套教程

===============>>#4 票数:1

我开发了一个库,用于跟踪状态并在应用程序中的状态之间移动,称为JavaKI。 这是基于KI框架,现在是SproutCore JavaScript框架的一部分。 两者都基于Harel图表。

目前,JavaKI不支持历史状态,但如果需要,欢迎您实现此功能。 JavaKI是基于Java的,并根据MIT许可证进行许可。

https://github.com/joachimhs/JavaKI

使用JavaKI,您可以在“Plain Old Java”中定义状态和状态图表。

  ask by stephan f translate from so

未解决问题?本站智能推荐:

2回复

statemachine和statechart的含义相同吗?

我听说有人使用这些术语。 我想知道他们是指同一件事还是两者之间有区别?
3回复

状态图与状态机

我正在为考试而学习,以前的其中一项考试的问题是: 网络上有很多答案都在说Statecharts和Statemachine是同一件事? 如果不能,那么有人可以解释这个问题的区别。 如果有人可以举两个例子都可以。 谢谢
2回复

哪个UML工具可以真正往返Java代码?

许多UML工具声称可以对Java代码进行正向/反向工程。 但是,从以前的经验来看,在该领域中确实很少有工具可以使用。 我已经三年没有从事Java项目了,并且想了解该领域的最新情况。 在“特别”中,我对从图创建状态机框架感兴趣,能够创建自己的代码的钩子,并且能够对状态图进行反向工程(
1回复

从MagicDraw导出DSL

我在MagicDraw中制作了一个UML配置文件(具有构造型)。 我还为个人资料和一些新按钮创建了特殊的图表类型。 但是,当我在另一台PC上打开项目时,一切都消失了-我再也看不到我的图表或按钮。 如何导出/保存DSL设置?
4回复

UML类图的文本表示-UML的DSL

UML类图是描述类及其关系的标准图形表示法。 是否有标准的文本符号(DSL)来描述? 不要说XMI或EMF ;-) 我认为您可以使用Corba IDL来做到这一点,并为类使用Interfaces,但这在Corba方面实在太多了。 您可以使用Java接口,但这也是Java。
1回复

用于交互状态机的UML图[关闭]

我有两个应用程序,它们通过通过TCP发送文本消息来相互通信。 我想使用UML图记录他们的状态机控制的通信。 我可以画两个状态机图(每个程序一个),但是我认为最好以某种方式“连接”或“合并”这些状态图,以显示程序之间的交互。 我该如何实现? 还是应该为每种可能的通讯场景绘制顺序图?
1回复

用于描述分层(嵌套)有限状态机的标准文件格式?

我需要以标准和可移植的格式描述分层有限状态机。 我应该使用广泛接受和支持的文件格式吗? 我看到Graphviz DOT语言支持可能被有向边引用的子图。 (尽管使用Graphviz渲染连接的集群有点问题 。)将泛型有向边上的文本标签解释为转换事件/标准似乎是一种轻微的语义延伸,但不是
6回复

UML是域特定语言(DSL)吗?

将UML视为DSL是否合适? 我知道每个人都认为UML是绘制图片的一种方式,但是UML图的“视图”底层有一个模型......而UML中的“L”代表语言。 另一个问题 - SysML是DSL吗?
1回复

我应该如何使用QM建模工具实现Orthogonal组件

我理解如何编写正交组件,如下所述: http : //www.state-machine.com/resources/Pattern_Orthogonal.pdf 。 我的问题是QM只允许每个活动对象一个状态图。 如何最好地模拟“组件”状态图,因为它与“容器”状态图位于同一个活动对象中。
1回复

开源工具可以从python代码生成UML行为模型吗? [关闭]

我想从python代码生成UML行为模型(状态机和/或序列图)。 有没有可以做到这一点的开源工具?