| 前页 | 后页 | 
可执行状态机的代码生成
为可执行StateMachine生成的代码基于其language属性。这可能是Java,C,C ++,C#或JavaScript。无论使用哪种语言, Enterprise Architect生成适当的代码,并立即准备好进行构建和运行。在运行它之前,不需要任何手动干预。实际上,在最初的生成之后,只要单击一下按钮,就可以生成,构建和执行任何可执行的StateMachine。
语言支持
可执行状态机支持以下平台语言的代码生成:
- Microsoft本机C / C ++
- Microsoft .NET(C#)
- 脚本(JavaScript)
- Oracle Java(Java)
仿真环境(编译器设置)
如果要在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上)

| 栏位/选项 | 描述 | 也可以看看 | 
|---|---|---|
| 项目输出目录 | 显示将存储生成的代码文件的目录。如有必要,请单击字段右侧的按钮以浏览并选择其他目录。此后将显示生成的类的名称及其源文件路径。 | |
| 可执行状态机目标机 | 选择“本地”选项。 | |
| Java JDK | 输入要使用的Java JDK的安装目录。 | 
生成代码(Linux上的Java)

| 栏位/选项 | 描述 | 也可以看看 | 
|---|---|---|
| 项目输出目录: | 显示将存储生成的代码文件的目录。如有必要,请单击字段右侧的按钮以浏览并选择其他目录。更改路径时,将显示生成的类的名称及其源文件路径 | |
| 可执行状态机目标机 | 选择“远程”选项。 | |
| 操作系统 | 选择Linux。 | |
| 港口 | 这是要使用的调试器端口。您可以在生成的分析器脚本的“调试”和“ DebugRun”部分中找到对该端口号的引用。 | 
生成代码(其他语言)
 
 
同时,“系统输出”窗口在“可执行状态机输出”页面上打开,在代码生成过程中会在其上显示进度消息,警告或错误。
在“可执行StateMachine代码生成”对话框中,“工件”字段和“语言”字段显示元素名称和在元素“属性”对话框中定义的编码语言。
| 栏位/选项 | 描述 | 也可以看看 | 
|---|---|---|
| 项目输出目录 | 显示将存储生成的代码文件的目录。如有必要,请单击字段右侧的按钮以浏览并选择其他目录。 | |
| 项目建设环境 | 此面板中的字段和信息根据Artifact元素和脚本中定义的语言而有所不同。但是,每种受支持的语言都提供了一个选项,用于定义构建和运行生成的代码所需的目标框架的路径。示例在本主题的“ 支持的语言”部分中显示。 此路径及其本地路径ID在“本地路径”对话框中定义,并在此处显示在“可执行StateMachine代码生成”对话框中。 | 本地路径对话框 | 
生成
单击此按钮以生成StateMachine代码。代码生成将覆盖项目输出目录中的所有现有文件。文件集将包括所有必需的文件,包括StateMachine引用的每个类的文件。
  
 
生成的每个可执行状态机还将生成一个执行分析器脚本,该脚本是用于构建,运行和调试可执行状态机的配置脚本。
 
建筑规范
由可执行文件StateMachine生成的代码可以由Enterprise Architect以以下三种方式之一来构建。
| 方法 | 描述 | 
|---|---|
| 功能区生成,构建和运行命令 | 对于所选的可执行状态机,再次生成整个代码库。然后编译源代码并开始仿真。 | 
| 功能区构建命令 | 编译已生成的代码。如果您更改了生成过程(分析器脚本)或以某种方式修改了生成的代码,则可以在生成代码后直接使用它。 | 
| 执行分析器脚本 | 生成的执行分析器脚本包括用于生成源代码的命令。这意味着当它处于活动状态时,您可以使用内置快捷键Ctrl + + F12直接构建。 | 
| 建立输出 | 构建时,所有输出都会显示在“系统输出”窗口的“构建”页面上。您可以双击任何编译器错误在相应的行中打开源代码编辑器。 | 
利用现有代码
Enterprise Architect生成和执行的可执行StateMachines可以利用不存在任何Class模型的现有代码。为此,您将创建一个抽象的Class元素,仅命名要在外部代码库中调用的操作。然后,您将在此接口与StateMachine类之间创建通用化,并在Analyzer脚本中手动添加所需的链接。对于Java,您可以将.jar文件添加到Class路径。对于本机代码,您可以在链接中添加.dll。
