state-machines相关内容
我正在寻找一种了解DSL的工具,我可以在其中定义生成Java代码的状态图,或者DSL中的状态图可以按原样运行。理想情况下,该工具应使用Java编写,并且必须通过Harel Statecharts(或等效的UML 2状态机)的定义来支持上层和正交区域。或者,用这种DSL编写最好的库或工具是什么? 解决方案 Yakindu看起来不错: http://www.statecharts.org
..
我目前正在学习java,并想知道如何以OO方式控制状态。我实现了一个Pong应用程序。如果我想要游戏和菜单等多个状态,并且这些状态中的每一个都必须执行start,stop和run我将如何实现这一点以及如何在这些状态之间切换。 我知道我可以简单地提出一个很大的转换声明,但实现这个的最佳方法是什么? 我希望能够在游戏状态下切换到菜单状态,反之亦然。 import java.appl
..
在Haskell中表示有限自动机的好方法是什么?它的数据类型如何? 在我们学院,自动机被定义为一个5元组 (Q,X,delta,q_0,F) 其中Q是自动机状态的集合,X是字母表(这部分甚至是必要的),δ是从(Q,X)和返回状态/ -s(在非确定性版本中)采用2元组的转换函数,并且F是接受/结束状态的集合。 最重要的是,我不确定什么类型的 delta 应该有.
..
我是Rails的新手,希望在定制之前检查Spree电子商务解决方案的外观。这就是为什么我从RubyInstaller,DevKit,Rails,Spree等安装Ruby。 在安装 state_machines gem时,下面出现错误,并且最终未安装宝石。 C:\> gem install state_machines 错误:执行gem ...( Errno :: EINVAL)
..
我试图实现将对象转换为挂起状态的“挂起”事件。但我需要能够“取消暂停”,并返回到以前的状态。我在模型中添加了previous_state字段,但我看不到如何在事件块内部访问它。 这是我试图实现的基本逻辑: 事件:暂停执行 owner.previous_state = self.state 过渡[:new,::旧] => :暂停 结束 事件:取消暂停执行 过渡:暂停=> owne
..
我正在寻找一个方法返回一个布尔值,如果它传递的字符串是一个有效的数字(例如“123.55e-9”,“-333,556”)。 public boolean isANumber(String s){ 尝试{ BigDecimal a = new BigDecimal(s); 返回true; } catch(NumberFormatException e){ return false;
..
我使用的Qt框架默认情况下是非阻塞I / O来开发通过几个网页(网上商店)浏览的应用程序,并在这些页面上执行不同的操作。我将“特定网页”映射到我用来浏览此页面的状态机。 此状态机具有这些转换; 连接,LogIn,Query,LogOut,Disconnect 和这些状态; 启动,连接,连接,登录,登录,查询,QueryDone,LoggingOut,LoggedOut,Di
..
对于具有原生语言(因此没有FSM生成工具)的语言的建议支持状态机开发和执行和传递消息/信号。这是为了电信,例如执行这种复杂程度的FSM。 我已经考虑过Erlang,但是会喜欢一些反馈,建议,指向教程,替代方案基于Java的框架。也许斯卡拉? 仅开源。我不是在寻找UML或正则表达式相关的解决方案。 由于这是为了实现电信协议,FSM可能是不平凡的。许多状态,许多过渡,基于信号,输入约
..
我在我的Android应用程序中使用了几个基于枚举的状态机。虽然这些工作非常好,我正在寻找的是一个建议,如何优雅地接收事件,通常从注册回调或事件总线消息,到当前活动状态。在有关基于枚举的FSM的许多博客和教程中,大多数都提供了使用数据的状态机(例如解析器)的示例,而不是显示这些FSM是如何从事件驱动的。 $ b $我使用的典型状态机有这样的形式: private state mState
..
我正在尝试建立一个棋盘游戏,而且看起来就像使用状态机一样。 我知道了状态模式,但我确定必须有其他方式来实现状态机。请让我知道..如果你知道任何文章或书籍,其中包含有关不同实现的详细信息(各自的权衡),请指示我..谢谢 解决方案 查看 Ragel 。
..
我的工作中有一个系统,基本上是一个消息驱动的状态机。它接收各种类型的消息,根据消息查找一些上下文/状态,然后根据消息和当前状态决定要做什么。通常结果是发送出系统的消息。 在.NET中是否有实现状态机的好的开源框架?我研究了Windows Workflow的最新版本,似乎是一个很好的选择;然而,我有一些关于默认持久性机制(我们需要报告状态转换数据),可测试性以及WF团队在我们说话(据称))重新
..
所有的代码都可以通过应用状态机模式来改进? 我正在开发一个可怕的,可怕的,错误的,破碎的意大利面码。 我从这个博客复制了 Martin Fowler的示例状态机器代码并将整堆废物转化为一系列陈述。 从字面上看,只是一个国家,事件,过渡和命令的列表。 我不敢相信转型。代码现在很干净,可以工作。我当然知道国家机器之前,甚至实施了 ,但在Martin Fowler的例子中,模型/配置的
..
我正在以混合C和C ++编写一个小项目。我正在我的一个工作线程的核心上构建一个小型国家机器。 我想知道你是否会在SO上分享你的状态机设计 注意:我主要是尝试了 UPDATED:根据SO上收集到的所有好的输入,我已经解决了这种架构: 解决方案 之前设计的状态机(C,而不是C ++)都已经归结为一个 struct 数组和一个循环。结构基本上由状态和事件(用于查找)和返回新状态
..
我使用'state_machine'gem。 一旦我创建一个新的UserFriendship,user_id和friend_id不保存。我甚至尝试通过传递user_id和friend_id直接在控制台中手动创建友谊,但仍然这些两个变量不保存即使友谊在数据库中创建,朋友和用户不保存。 UserFriendship模型: class UserFriendship
..
我已经建立了一个C语言的词法分析器,例如给定这个输入产生以下结果。 输入 p> int i = 0; int j = i + 3; 输出 int KEYWORD i IDENTIFIER = OPERATOR ; PUNCTUATION int KEYWORD j IDENTIFIER = OPERATOR i IDENTIFI
..
最近,作为我工作的一部分,我一直在学习IBM Rhapsody,并使用它从UML生成C ++代码。 昨天,可能很酷,想想添加状态机支持我的C ++编译器,所以我在这里记下了几点注意: http://ellcc.org/wiki/index.php/State_machines_and_Active_Classes 我的动机是: 这似乎是一个很酷的想法。 编译器可以做更好的语义检
..
我想自己搞清楚,但我想知道大约什么算法用于将yield语句转换为枚举器的状态机?例如C#如何转换: IEnumerator字符串(IEnumerable args) {IEnumerator
..
在UML状态图的设计中,我似乎可以选择使用触发或保护逻辑来实现状态之间的转换。 那么哪个更好用呢?给定相同的逻辑转换,触发器的行为与警卫有什么不同? 根据特定的工具可能有不同,或者UML标准严格定义了两种方法的行为 解决方案 我目前使用Simulink Stateflow设计状态机。 是一个事件事件,可启用转换, ,而警戒是条件,必须评估为true才能继续转换。 还
..
在使用Boost.Statechart实现状态机时,我遇到了一个问题,它试图从它的构造函数访问 simple_state 的外部上下文。 simple_state.hpp 中的注释告诉我: 当尝试从状态的构造函数中访问外部 //上下文时失败,该构造函数是* not * a // state的子类型。为了校正这一点,从状态而不是 // simple_state
..
最近,作为我工作的一部分,我一直在学习IBM Rhapsody,并使用它从UML中生成C ++代码。 昨天,可能很酷,想想添加状态机支持我的C ++编译器,所以我在这里记下了几个笔记: http://ellcc.org/wiki/index.php/State%5Fmachines%5Fand%5FActive%5FClasses 我这样做的动机是: 这似乎很酷的想法。 当
..