预订演示
前页 后页

可执行状态机代码生成

为一种可执行状态机生成的代码是基于它的属性。这可能是Java 、C、C++、C# 或JavaScript 。无论是哪种语言, Enterprise Architect都会生成适当的代码,这些代码可以立即构建和运行。在运行它之前不需要手动干预。事实上,在初始生成后,任何一个可执行状态机都可以通过点击按钮生成、构建和执行。

支持的语言

可执行状态机支持以下平台语言的代码生成:

  • 微软本机 C/C++
  • 微软.NET (C#)
  • 脚本( JavaScript )
  • 甲骨文Java ( Java )
从Enterprise Architect Release 14. 1开始,支持代码生成而不依赖于模拟环境(编译器)。例如,如果您没有安装 Visual Studio,您仍然可以从模型生成代码并在您自己的项目中使用它。如果您想在Enterprise Architect中模拟模型,仍然需要编译器。

仿真环境(编译器设置)

如果您想在Enterprise Architect中模拟可执行状态机模型,以下语言需要这些平台或编译器:

语言平台

框架路径的示例

微软本机 (C/C++)

C:\Program 文件 (x86)\Microsoft Visual Studio 12.0

C:\Program Files (x86)\Microsoft Visual Studio\2017\专业(或其他版本)

微软.NET (C#)

C:\窗口\Microsoft.NET\Framework\v3.5(或更高版本)

脚本( JavaScript )

A N

甲骨文Java ( Java )

C:\Program Files (x86)\ Java \jdk1.7.0_17(或更高版本)

访问

功能区

仿真> 可执行状态> 状态机>生成、编译和运行或

仿真> 可执行状态> 状态机>生成

生成代码

“仿真> 可执行状态 > 状态机”功能区选项提供了用于为状态机生成代码的命令。工件选择可执行状态机,然后使用功能区选项生成显示的“可执行状态机代码生成”对话框取决于代码语言。

生成代码( Java on窗口)

The code generation dialog for an executable state machine

项目输出目录

显示将存储生成的代码文件的目录。如有必要,单击字段右侧的按钮以浏览并选择不同的目录。生成的类的名称和它们的源文件路径显示在这之后。

可执行状态机目标机器

选择“本地”选项。

Java JDK

输入要使用的Java JDK的安装目录。

生成代码(Linux 上的Java )

Targeting Linux during executable statemachine code generation

项目输出目录:

显示将存储生成的代码文件的目录。如有必要,单击字段右侧的按钮以浏览并选择不同的目录。路径更改时会显示生成的类的名称及其源文件路径。

可执行状态机目标机器

选择“远程”选项。

系统

选择 Linux。

端口

这是要使用的调试器端口。您将在分析器脚本生成的“调试”和“分析器”部分找到对这个端口号的引用。

生成代码(其它语言)

Targeting .NET in Executable Statemachine Code Generation

同时在“系统输出可执行状态机输出”页面打开窗口,在代码生成过程中显示哪些进度信息、警告或错误输出。

在“可执行状态机”字段和“属性名称”对话框中的“代码工件”字段显示元素的“属性”对话框中元素的“属性名称”和编码语言。

字段/选项

描述

也见

项目输出目录

显示将存储生成的代码文件的目录。如有必要,单击字段右侧的按钮以浏览并选择不同的目录。

项目构建环境

此面板中的字段因信息元素和脚本中定义的工件而异。但是,每种支持的语言都提供了一个选项来定义构建和运行生成的代码所需的目标框架的路径;示例显示在本主题的支持的语言部分。

此路径的本地路径 ID 是在“本地路径”对话框中定义的,此处显示在“状态机代码生成”对话框和“可执行状态机代码生成”对话框中。

本地路径对话框

生成

点击此按钮生成状态机代码。代码生成将覆盖项目输出目录中的任何现有文件。文件集将包括所有必需的文件,包括状态机引用的每个类的文件。

每个可执行状态机还会生成一个执行分析器脚本,该脚本是用于构建、运行和调试运行可执行状态机的配置脚本。

建造代码

Enterprise Architect可执行状态机的代码可以通过以下三种方式之一进行构建。

方法

描述

功能区生成、编译和运行命令

再次对选中的生成可执行状态机,生成整个代码库。然后编译源代码并开始模拟。

功能区编译命令

编译已生成的代码。这可以在生成代码后直接使用,如果您对构建过程(分析器脚本进行了更改或以某种方式修改了生成的代码。

执行分析器脚本

生成的执行分析器脚本包含一个构建源代码的命令。这意味着当它处于活动状态时,您可以直接使用内置快捷键 Ctrl+Shift+F12 进行构建。

编译输出

构建时,所有输出都显示在系统输出窗口的“编译”页面上。您可以双击任何编译器错误以在相应行打开源编辑器。

利用现有代码

由Enterprise Architect生成并执行的可执行状态机可以利用没有类模型的现有代码。为此,您将创建一个抽象类元素,仅命名要在外部代码库中调用的操作。然后,您将在此接口和状态机类之间创建一个脚本,在分析器中手动添加所需的链接。对于Java ,您可以将 .jar 文件添加到类路径。对于本机代码,您可以将 .dll 添加到链接中。

了解更多