前页 后页

可执行状态机的代码生成

为可执行StateMachine生成的代码基于其language属性。这可能是Java,C,C ++,C#或JavaScript。无论使用哪种语言, Enterprise Architect生成适当的代码,并立即准备好进行构建和运行。在运行它之前,不需要任何手动干预。实际上,在最初的生成之后,只要单击一下按钮,就可以生成,构建和执行任何可执行的StateMachine。

语言支持

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

  • Microsoft本机C / C ++
  • Microsoft .NET(C#)
  • 脚本(JavaScript)
  • Oracle Java(Java)
从Enterprise Architect版本14.1开始,支持代码生成,而无需依赖于仿真环境(编译器)。例如,如果您没有安装Visual Studio,您仍然可以从模型中生成代码并在您自己的项目中使用它。如果要在Enterprise Architect模拟模型,仍然需要编译器。

仿真环境(编译器设置)

如果要在Enterprise Architect模拟Executable StateMachine模型,则这些语言需要以下平台或编译器:

语言平台

框架路径示例

Microsoft本机(C / C ++)

C:\ Program Files(x86)\ Microsoft Visual Studio 12.0

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

Microsoft .NET(C#)

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

脚本(JavaScript)

不适用

Oracle Java(Java)

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

访问

色带

模拟>可执行状态>状态机>生成,构建和运行或

模拟>可执行状态>状态机>生成

生成代码

“模拟>可执行状态>状态机”功能区选项提供用于生成StateMachine代码的命令。首先选择Executable StateMachine Artifact,然后使用功能区选项生成代码。显示的“可执行状态机代码生成”对话框取决于代码语言。

生成代码(Java在Windows上)

The code generation dialog for an executable state machine

栏位/选项

描述

也可以看看

项目输出目录

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

可执行状态机目标机

选择“本地”选项。

Java JDK

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

生成代码(Linux上的Java)

Targeting Linux during executable statemachine code generation

栏位/选项

描述

也可以看看

项目输出目录:

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

可执行状态机目标机

选择“远程”选项。

操作系统

选择Linux。

港口

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

生成代码(其他语言)

Targeting .NET in Executable Statemachine Code Generation

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

在“可执行StateMachine代码生成”对话框中,“工件”字段和“语言”字段显示元素名称和在元素“属性”对话框中定义的编码语言。

栏位/选项

描述

也可以看看

项目输出目录

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

项目建设环境

此面板中的字段和信息根据Artifact元素和脚本中定义的语言而有所不同。但是,每种受支持的语言都提供了一个选项,用于定义构建和运行生成的代码所需的目标框架的路径。示例在本主题的“ 支持语言”部分中显示。

此路径及其本地路径ID在“本地路径”对话框中定义,并在此处显示在“可执行StateMachine代码生成”对话框中。

本地路径对话框

生成

单击此按钮以生成StateMachine代码。代码生成将覆盖项目输出目录中的所有现有文件。文件集将包括所有必需的文件,包括StateMachine引用的每个类的文件。

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

建筑规范

由可执行文件StateMachine生成的代码可以由Enterprise Architect以以下三种方式之一来构建。

方法

描述

功能区生成,构建和运行命令

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

功能区构建命令

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

执行分析器脚本

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

建立输出

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

利用现有代码

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

学到更多