前页 后页

旧版StateMachine模板

代码生成使用一组生成模板进行操作。从Enterprise Architect 11.0 Enterprise Architect ,可以使用一组不同的模板作为默认模板,以将软件代码从StateMachine图生成为Java,C,ANSI C ++或C#代码。如果您不想为新的模板功能升级它们,则仍然可以对原始版本的模板使用原始模板,如此处所述,用于在Enterprise Architect早期版本中开发的模型。

在旧版和Release 11模板之间切换

访问

显示“管理项目选项”对话框,然后使用此表中概述的方法之一显示所选语言的“语言规范”页面。如有必要,展开“ StateMachine Engineering(针对当前模型)”分组,并将“使用新的StateMachine模板”选项设置为True(以使用后面的模板)或False(以使用旧版模板)。

色带

配置>模型>选项>源代码工程> [语言名称]

旧版范本转换

类中的StateMachine在内部以软件语言生成许多构造,以提供对国家行为(执行,进入和退出)的有效执行,并在必要时对适当的过渡效果进行编码。

模型对象

代码对象

也可以看看

枚举

  • StateType-由StateMachine中包含的每个国家的枚举组成
  • TransitionType –由每个转换的枚举组成,该枚举具有与其相关的有效效果;例如,ProcessOrder_Delivered_to_ProcessOrder_Closed
  • CommandType –由一个状态可以包含的每种行为类型的枚举组成(Do,Entry,Exit)

属性

  • currState:StateType-用于保存当前州信息的变量
  • nextState:StateType-用来保存下一个州信息的变量,由每个州的转换相应地设置
  • currTransition:TransitionType-用于保存当前过渡信息的变量;如果转换具有与之相关的有效效果,则设置此参数
  • transcend:Boolean-一个标志,用于建议不同StateMachines(或Submachine状态)之间的超越是否涉及过渡
  • xx_history:StateType-每个StateMachine / Submachine状态的历史变量,用于保存有关发生转换的最后一个State的信息

运作方式

  • StatesProc-一个州程序,包含一个州的枚举与其操作之间的映射;它取消引用当前国家的信息以调用相应国家的功能
  • TransitionsProc-一个Transitions过程,其中包含Transition枚举及其效果之间的映射;它调用了转场的效果
  • << State >>-StateMachine中每个州的操作;这将根据输入的CommandType呈现状态的行为,并执行其转换
  • initializeStateMachine-初始化所有与框架相关的属性的函数
  • runStateMachine-遍历每个州并执行其行为并相应转换的函数
操作行为

笔记

  • 为了能够从行为模型生成代码,所有行为构造都应包含在Class中

学到更多