首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Statemachine -从UML构建层次状态机

Spring Statemachine -从UML构建层次状态机
EN

Stack Overflow用户
提问于 2016-08-02 11:08:04
回答 1查看 1.2K关注 0票数 0

Short:是否可以在Papyrus中创建层次式(嵌套)状态图,然后使用它来构建工作状态机实例?

解释道:

没有嵌套状态的简单示例如文件所示正在正常工作。

我尝试了两种创建嵌套状态的方法:

  1. 在我的主计算机中创建状态并将另一个子机器链接到它(属性->子机)
  2. 在单个状态机中创建一切,用子状态创建状态

在这两种情况下,创建的statemachine都不识别子机状态。

当我用以下代码列出应用程序中的所有状态时:

代码语言:javascript
复制
public List<String> getAllStates() {
    List<String> list = new ArrayList<>();
    Collection<State<String, String>> states = machine.getStates();
    for (State state : states) {
        Collection<State<String, String>> substates = state.getStates();
        for (State<String, String> substate : substates) {
            list.add(substate.getIds().toString());
        }
    }
    return list;
}

,它只列出了初始化和处理两种状态。当我发送事件时,机器进入从初始化到处理,而不是处理,准备。

我是做错了什么,还是试图做一些甚至没有由Statemachine实现的事情?也就是说,是否可以只从UML图创建一个级别的状态机?

编辑:

感谢Janne Valkealahti阅读了这个问题,并确保了spring-statemachine有这样的选择。

这似乎毕竟是我的错,但我不知道在哪里和如何(几个相似的图表被创建/编辑,但没有成功)。它可能与昨天发生在我的Fedora 24上的Papyrus / Eclipse警告和错误有关。今天,在从头开始创建新的图表之后,一切都如期而至。下面是新的、工作的、图表,状态机列出了所有的状态和子状态。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-03 07:51:04

链接子机还不能工作,但是在对UML子状态机#121的支持中正在工作。

当您尝试时,需要在一台机器内配置子状态。这方面的Uml测试源位于simple-submachine.uml。如果您发布了您的uml,我可以查看是否有任何明显的遗漏(或者将所有3个纸草记录文件、di、符号、uml)放在某个地方(可能是github gist ),这样我就可以在纸莎草中打开它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38718765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档