工程建模
本节内容介绍如何进行工程建模操作。
资源类型
VSOA-Port 资源类型
表 1 VSOA-Port 主要类型
接口 | 接口名称 |
---|---|
CALL | 调用-返回接口 |
PUB | 发布-订阅接口 |
DGRAM | 数据报接口 |
表 2 VSOA-Port 类型细分
类型选项 | 说明 |
---|---|
GET | 创建 Type 为 CALL,Method 为 GET 的 VSOA-Port 资源 |
SET | Type 为 CALL,Method 为 SET 的 VSOA-Port 资源 |
PUB | Type 为 PUB,Quick 为 false 的 VSOA-Port 资源 |
QPUB | Type 为 PUB,Quick 为 true 的 VSOA-Port 资源 |
DGRAM | Type 为 DGRAM,Quick 为 false 的 VSOA-Port 资源 |
QDGRAM | Type 为 DGRAM,Quick 为 true 的 VSOA-Port 资源 |
表 3 VSOA-Port 资源属性
属性名称 | 说明 |
---|---|
URL | 为资源路径,格式为路径格式字符串 |
Type | 接口类型 |
Quick | 快速发布属性 |
Send_jstruct | JSTRUCT 类型的请求,可以选择空白行或者 Port-JStruct 中的资源,默认为空 |
Recv_jstruct | JSTRUCT 类型的回复,可以选择空白行或者 Port-JStruct 中的资源,默认为空 |
Notes | VSOA-Port 说明,可以为任意字符 |
Port-JStruct 数据类型
在 Port-JStruct 资源窗口中,如下图所示。
- 1: Port-JStruct 的名称,点击蓝色部分可以修改此 Port-JStruct 的名称。
- 2:子结构数组,每个子结构都是一个对象。在结构数据嵌套场景中,需要定义此字段。
Type 设置
点击 Type 后,可以选择显示的数据类型,如下图所示。
成员可以被分为五个类型:布尔型、整数型、浮点数型、字符型和结构体。
布尔型有
bool
一个成员。选择布尔型中成员点击,添加成员,如下图所示。- 1:成员的数据类型。
- 2:成员的名称,蓝色的文本,表示可以修改此属性的名称。
- 3:default 属性,表示该成员在生成代码初始化的默认值,点击蓝色文本修改此属性。
- 4:req 表示解析 JSON 时是否必须存在该 struct 成员。如果为 false,则意味着如果 JSON 中不存在该成员,则在解析时将忽略该成员。如果是 true,如果该成员在 JSON 中不存在,解析函数将返回错误。req 默认为 false,点击选框后 req 值变为 true。
- 5:点击删除按钮删除此成员。
整数型有
int
、int8_t
、int16_t
、int32_t
、uint8_t
、uint16_t
、uint32_t
、long
八个成员,选择整数型中成员点击,添加成员,如下图所示。在整数型的成员中,有 min、max、near 三个特殊配置,其余与
bool
相同。- min:数值类型的成员 min,代表此数值成员允许的最小值,点击选择框后,代表配置最小值,选择框被选择后可以点击蓝色文本可编辑此成员。
- max:数值类型的成员 max,代表此数值成员允许的最大值,点击选择框后,代表配置最大值,选择框被选择后可以点击蓝色文本可编辑此成员。
- near:该字段表示解析 JSON 时该成员超过限制时的处理方法。当该成员为 false 时,表示超过限制时解析失败,当该成员为 true 时,表示超过使用限制值的限制。默认值为 false,选择后为 true。
浮点数型有
float
、double
两个成员,选择浮点数型中的成员点击,添加成员,如下图所示。在浮点数型的成员中,与整数型成员属性配置相同,但浮点数型相关配置变化为了浮点数。
字符型有
char *
一个成员,选择字符型中的成员点击,添加成员,如下图所示。在字符型的成员中的操作与
bool
相同。结构体有
struct
一个成员,struct 与 substruct 相关联,首先在 substruct 中创建结构体。添加子结构体,点击 substruct 右侧的添加按钮,即可以添加一条子结构体,如下图所示。子结构体的添加成员操作与 JStruct 相同。 在 Port-JStruct 添加 struct 成员,点击 struct 按钮可以选择自己创建的子结构体,如下图所示。
Array 设置
点击 Array 后,可以添加数组类型的成员,如下图所示。
在数组类型的成员中,有两个特殊配置:
- 1:表示该数组成员的大小,点击可以修改。
- 2:该字段表示 JSON 解析时对应数组成员的最小成员数。如果数组的长度小于此字段,则解析失败并返回错误。选择框被选择后可以修改。
Custom-Struct 数据类型
Custom-Struct 资源成员与 Port-JStruct 资源成员相同,资源成员属性不同。如下图所示。
1:成员的数据类型。
2:成员的名称,蓝色的文本,表示可以修改此属性的名称。
3:default 属性,表示该成员在生成测试代码时的默认值,点击蓝色文本修改此属性。
数组成员属性,如下图所示。
- 1:数组长度。
资源管理
资源管理视图在大纲视图 Outline 中,点击 Resource 进入资源管理界面。
说明:
资源管理视图主要包含三大类:VSOA-Port、Port-JStruct、Custom-Struct。
VSOA-Port 资源管理
添加 VSOA-Port 资源
点击 VSOA-Port 右方添加按钮后显示六个选项,分别是 GET、SET、PUB、QPUB、DGRAM 和 QDGRAM。
如选择 GET 选项,VSOA-Port 的修改窗口如下图所示。
说明:
其余选项窗口界面可参考 GET 选项。
点击 Finish 按钮保存 VSOA-Port 资源。
修改 VSOA-Port 资源
在资源管理视图中双击 VSOA-Port 资源,打开 VSOA-Port 的修改窗口,如下图所示。
在 Editor 界面选择接口后,右键选择 Open Port 菜单,打开 VSOA-Port 的修改窗口,如下图所示。
删除 VSOA-Port 资源
点击 VSOA-Port 资源的删除按钮,会弹出确认删除的提示窗口,如下图所示。
点击 Yes 即可删除该 VSOA-Port 资源并删除 Editor 界面上的 VSOA-Port 接口。
VSOA-Port 资源分组
VSOA-Port 资源会根据被挂载情况自动进行分组,未被挂载的资源在 Unused
中,已经挂载的资源会被自动分到被挂载 Service 中,分组名称为 Service 名称,如下图所示。
Port-JStruct 资源管理
添加 Port-JStruct 资源
点击资源管理视图中 Port-JStruct 的添加按钮,如下图所示。
在文本框中输入 Port-JStruct 资源的名称,如下图所示。
在 Port-JStruct 资源配置窗口中点击 Finish 保存新创建的 Port-JStruct 资源并关闭窗口。
修改 Port-JStruct 资源
双击资源管理视图中的 Port-JStruct 打开 Port-JStruct 修改窗口,如下图所示。
修改完成后,点击 Finish 按钮进行保存,如下图所示。
删除 Port-JStruct 资源
点击右侧删除按钮删除此资源,如下图所示。
点击 Yes 即可删除。
Custom-Struct 资源管理
添加 Custom-Struct 资源
点击 Struct 右侧添加按钮。
点击添加按钮,打开 Custom-Struct 资源配置窗口,在下图红框位置修改 Custom-Struct 名称。
在 Custom-Struct 资源配置窗口中点击 Finish 保存新创建的 Custom-Struct 资源并关闭窗口。
修改 Custom-Struct 资源
打开 Struct 修改窗口,如下图所示。
在资源管理视图中双击想要修改的 Struct 资源,即可打开 Struct 修改窗口。
修改完成后,点击 Finish 按钮进行保存并退出修改窗口。
删除 Custom-Struct 资源。
点击对应 Port 资源的删除按钮,即可删除该 Port 资源并删除 Editor 界面上的 Port 接口,如下图所示。
点击 Yes 即可成功删除。
资源导入
在资源管理视图中,点击导入按钮,可以打开资源导入窗口。如下图所示。
打开资源导入窗口,点击 template.xlsx ,选择资源存放路径,下载资源导入模板,如下图所示。
打开资源导入模板,如下图显示。
说明:
在 Excel 文件中一共存在三个工作表,分别为
VSOA Port
、JStruct
和Custom Struct
,对应资源管理中的VSOA-Port
、Port-JStruct
和Custom-Struct
。 如在 VSOA-Port 工作表中,一行数据表示一个 VSOA-Port 资源,每列代表 VSOA-Port 资源中的属性。Port-JStruct 与 Custom-Struct 同理。在 Excel 文件中配置完成后,点击资源导入窗口中的 Browse 按钮,选择 Excel 文件。
导入后,资源会展示在资源导入窗口中,分为三个工作表展示
注意:
如果工程中已经存在的资源和 Excel 表中资源重复,则会显示冲突,如直接点击 Import 按钮,会将工程中已存在的资源覆盖。 存在冲突的情况下,可以点击 Remove duplicate 按钮处理完当前页面的冲突后,点击 Import 按钮导入资源。
资源导出
在资源管理视图中,点击导入按钮,可以打开资源导入窗口。如下图所示。
点击导出按钮后,打开文件资源管理器,选择路径后,点击保存。
资源成功保存后,会自动打开资源文件所在文件夹。
注意:
如果 Port-JStruct 或者 Custom-Struct 中存在空结构体,空结构体不会被导出。
服务建模
服务进程 Server
点击模型编辑器左侧工具栏按钮 Constructor > Server。在编辑区域划一片区域创建一个 Server 模型。
选中 Server 模型,在属性视图中编辑 Server 模型属性。
表 4 模型属性
属性 说明 Name Server 模型名,新建 Server 模型名为 server+i
,i 自动叠加,点击对应 Value,可以更改名称IP Server 模型 IP Build-Lock 锁定构建选项,选择 true 会锁定此 Server 的生成代码功能,不再生成此部分代码 Bounds Server 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息
配置服务进程依赖
右键点击创建的 server 选择 Open Properties 。
在弹窗中选择 AutoCode Setting 下的 Server Compiler 以及 Server Linker 进行服务进程依赖或工程的添加,详细配置信息可参考 RealEvo-IDE操作手册。
服务 Service
点击 Constructor > Service 按钮。在 Server 模型上划一块区域创建 Service 模型。
选中 Service 模型,在属性视图中编辑 Service 属性。
表 5 模型属性
属性 说明 Name Service 名,新建 Service,模型名为 serc+i
,i 自动叠加,点击对应 Value,可以更改名称Password Service 密码 Bindif vsoa_server_bind_if 特性 Port Service 端口。与其所属 Server 的 IP 组成唯一位置,范围 3101~5000,新建 Service 的端口值 从 3101 自动叠加 Position Service 位置。当 Service 的 IP+Port 与 Position 同时设置时,IP+Port 优先级更高 Workers 设置服务线程池,取值范围 0 - 8,当设置为 0 时表示该 Service 为单线程 Build-Lock 锁定构建选项,选择 true 会锁定此 Service 的生成代码功能,不再生成此部分代码 Bounds Server 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息
端口 CallPort
点击 Service-Port > CallPort 按钮。
点击 Service 模型,为 Service 添加一个 Call 类型的资源。
点击 Service 模型,打开资源选择弹框。选择目标资源,点击 Finish 按钮。
选中 Call 资源在属性视图编辑其属性。
表 6 CallPort 模型属性
属性 说明 ID 自动生成,不可编辑,格式为: [Service Name]-[URL]/[Name]
Description 资源描述 URL 资源URL 不可编辑 Name 创建资源时确定,不可编辑 Enable Worker CALL 是否启用工作线程,默认值为 false Parallel CALL 是否启用并发,默认值为 false Max Queued 设置最大队列,取值范围:0~不限 创建一个 Server 模型并为其添加两个 Service。
点击链接按钮 Connector > Service,再点击源 Service,最后点击目标 Service 的 Call 资源。
连接源 Service 的 Output 与目标 Service 的 Input 。
端口 PubPort
点击工具栏按钮 Service-Port > PubPort。点击 Service 模型为 Service 模型添加 Pub 类型 Port 资源。
弹出 Pub 类型 Port 资源选择弹框。选择一个资源点击 Finish 按钮。
为 Service 模型添加一个 Pub 类型的 Output,并显示 Pub 资源的 URL。
选中 Pub 类型的 Output,在属性视图编辑其属性。
点击 Connector > Service 按钮。点击源 Service 的 Pub 资源。选择目标 Service。
将源 Service 的 Pub 类型的 Output 与目标 Service 的 Pub 类型的 Input 连接。
端口 DgramPort
点击 Service-Port > DgramPort 按钮。点击 Service 模型。
打开资源选择弹框。选择目标资源,点击 Finish 按钮。
选中 Datagram 资源,在属性视图编辑其属性。
点击 Connector > Service 按钮。选择源 Service。点击目标 Service 的 Datagram 资源。
连接源 Service 的 Datagram 类型的 Input 与目标 Service 的 Datagram 类型的 Output 。
说明:
Call 类型的资源、Pub 类型的资源和 Datagram 类型的资源都属于 Port 资源。Port 资源全局唯一。当一个 Port 资源被 Service 使用后,直到该资源被释放前,别的 Service 都不能再使用该资源。当资源所在的模型被销毁时,与资源相关的连接被删除,资源将会被释放。 存在以下情况,资源所在的模型会被销毁:
- Call 类型的 Input 模型被删除、Pub 类型的 Output 被删除、Datagram 类型的 Input 模型被删除。
- Service 模型被删除时,Service 模型被销毁,其下所有 Input/Output 模型被销毁。
- Server 模型被删除时,Server 模型被销毁,其下所有 Service 被销毁。
分组 Group
点击 Constructor > Group 按钮。点击 Service 模型。
点击 Service-Port,再点击 Put Group 按钮。选择 Group,将
/root/default1
移入New_group_1
分组。鼠标悬停在 Group 上,可以查看组中所有的接口。
点击
New_group_1
,再点击 Group 的展开按钮,展开 Group 分组。点击
/root/default1
,再点击 Out Group 按钮,将选择的/root/default1
移出分组。
组件建模
打开组件模型编辑器。
选中 Service 模型。点击编辑器工具栏 Open Service Editor 按钮。
为该 Service 添加多个 Call 类型的 Output
说明:
Service 内部由组件构成,组件由事件 Event 构成。 组件一共有六种:Component(基本组件)、PipeCom(单通道管道组件)、MPipeCom(多通道管道组件)、AsyncCallMCom(异步调用组件)、ConnSyncMCom(连接同步组件)、SubRegulMCom(变速器组件)。
基础组件 Component
点击模型工具栏按钮 Constructor > Component。
在 Service 黑框内按住鼠标左键划动选择一片区域。
新增 Component 组件并选中,在属性视图编辑其属性。
表 7 Component 组件模型属性
属性 说明 ID 所有类型组件之间 ID 不能重复,新建组件 ID 格式: com[i]
,i 自动叠加Description 组件描述 Type 组件类型,不可编辑 Build-Lock 锁定构建选项,选择 true 会锁定此 Component 的生成代码功能,不再生成此部分代码 Bounds Component 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息 选中 Event,在属性视图编辑其属性,如下图所示。
表 8 Event 事件模型属性
属性 说明 ID 在同一个组件内 Event ID 不能重复,新建 Event ID 格式: event[i]
,i 自动叠加Description 事件描述 点击模型工具栏按钮 Event & Port > Event。选择目标组件。
点击模型工具栏连接按钮 Connector > Component。选择 Service-Input。点击目标 Event。
在属性视图编辑 Input 属性。
表 9 Event-Input 属性
属性 说明 Input-Type Event Input 类型,不可编辑 Input-From Service-Input ID,不可编辑 Input-Reply 当前端口是否执行 reply 操作 连接 Event 和 Service-Output。
说明:
连接成功后自动为 Event 设置 VSOA 类型的 Output。
参考上述步骤创建新的 component,设置 Event-Output。并进行连接,如下图所示。
表 10 Event-Output(VSOA)属性
属性 说明 Output-Type Event Output 类型,不可编辑 Output-Reply 当前端口是否执行 reply 操作 Event 连接 Event,如下图所示。
表 11 Event-Output(Com)属性
属性 说明 Output-Type Event Output 类型,值为 COM Output-DataType & TypeValue COM 类型的 Event Output 可以设置向目标 Event Input 传递数据的数据类型 Connect level 调整连接的优先级。在模型上连接时无序的,但是在生成代码时需要连接有序,来确定生成代码的逻辑 点击 DataType 属性或者 TypeValue属性的 Value ,再点击单元格内的按钮,打开数据类型选择弹框,如下图所示。
说明:
DataType 属性为所选数据类型的类型,选择基础数据类型时,值为 BASE;选择在 Custom-Struct 资源中定义的 Struct 时,值为 STRUCT;选择 Default 时,值为 defalut。TypeValue 属性为所选数据类型的名;选择 Default 时,值为空。
在 Connect level 中,点击连接优先级的 value 值,点击单元格按钮,打开连接优先级调整弹框,调整连接顺序,如下图所示。
点击模型工具栏按钮 Event & Port > TimerPort 按钮。选择 Input 为空的 Event。
选中目标 Event ,编辑 TimerPort 属性。
表 12 TimerPort 属性
属性 说明 Input-Type Event-Input 类型,值为 TIMER,表示定时器触发 Input-Name 定时器名,格式: timer[i]
,i 自动叠加Input-Start 定时器触发时间 单位毫秒(ms) Input-Perio 定时器周期 点击模型工具栏按钮 Event & Port > ComStartPort。选择 Input 为空的 Event。
编辑 ComStartPort 属性。
表 13 ComStartPort 属性
属性 说明 Input-Name 系统初始化 Input 名,格式: comimit[i]
,i 自动叠加Input-Type Event Input 类型,值为 SYS_COMINIT,表示系统初始化触发事件 点击模型工具栏按钮 Event & Port > ConnPort。选择 Input 为空的 Event。
编辑 ConnPort 属性。
表 14 ConnPort 属性
属性 说明 Input-Type Event Input 类型,值为 SYS_CONN,表示服务重连触发 Input-Service 受监听的目标服务
单通道管道组件 PipeCom
点击模型工具栏按钮 Event & Port > PipeCom。在 Service 内部按住鼠标左键划动选择一片区域。
说明:
PipeCom 组件只允许具有一个输入端口和一个输出端口的管道组件。在 PipeCom 组件中的 Event-Input 可以来自于 Service-Input,也可以来自于其他 Event 的 Output;Event-Output 只能连接通道组件中事件的 Input 或者 Service-Output。PipeCom 组件中只允许拥有一个事件,该组件不允许新增或者删除事件。
选中 PipeCom 组件在属性视图编辑其属性,如下图所示。
表 15 PipeCom 组件模型属性
属性 说明 ID 新建组件 ID 格式: com[i]
,i 自动叠加Description 组件描述 Type 组件类型,单通道管道组件类型为 PIPE Build-Lock 锁定构建选项,选择 true 会锁定此 Component 的生成代码功能,不再生成此部分代码 Bounds Component 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息
多通道管道组件 MPipeCOM
点击模型工具栏按钮 Constructor > MPipeCom。在 Service 内部按住鼠标左键划动选择一片区域。
说明:
MPipeCOM 组件,存在第一个事件的输入端口和用于每个事件的输出端口。MPipeCom 组件中的 Event 输入可以来自于 Service-Input,也可以来自于其他 Event 的 Output;所有 Event 的输出只能连接通道组件中事件的 Input 或者 Service-Input。
选中 MPipeCom 组件在属性视图编辑其属性。
表 16 MPipeCom 组件模型属性
属性 说明 ID 新建组件 ID 格式: com[i]
,i 自动叠加Description 组件描述 Type 组件类型,多通道管道组件类型为 MPIPE Build-Lock 锁定构建选项,选择 true 会锁定此 Component 的生成代码功能,不再生成此部分代码 Bounds Component 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息 在 MPipeCom 组件中添加 Event。选中 MPipeCom 组件在属性视图编辑其属性,如下图所示。
说明:
MPipeCom 组件中添加 的 Event 的 Input 类型为 COM_BIND,不可被连接。 MPipeCom 组件的事件,第一个 Event 事件不允许被删除和排序,其余自己添加的 Event 事件允许被删除和排序。
异步调用组件 AsyncCallMCom
点击模型工具栏按钮 Constructor > AsyncCallMCom。在 Service 内部按住鼠标左键划动选择一片区域。
说明:
AsyncCallMCom 组件是一种特殊的多通道管道组件,只允许有一个输入,可以有多个输出。AsyncCallMCom 组件输入可以连接 Service-Input,或连接其他 Event 的 Output;所有 Event 的输出只能连接 Call 类型的 Service-Output。新创建的 AsyncCallMCom 组件,存在一个只能连接 Call 类型 Service-Output 的事件和一个 Finish 类型的事件。
选中 AsyncCallMCom 组件在属性视图查看和编辑其属性,如下图所示。
表 17 AsyncCallMCom 组件模型属性
属性 说明 ID 新建组件 ID 格式: com[i]
,i 自动叠加Description 组件描述 Type 组件类型, 异步调用组件类型为 MPIPE_ACALL Build-Lock 锁定构建选项,选择 true 会锁定此 Component 的生成代码功能,不再生成此部分代码 Bounds Component 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息 选中 AsyncCallMCom 组件的 finish 事件在属性视图编辑其属性,如下图所示。
表 18 AsyncCallMCom 组件中 finish 事件属性
属性 说明 Input-Type finish 事件类型 COM_FIN 在 AsyncCallMCom 组件中添加 Event。
说明:
新增 Event 的 Input 类型为 COM_BIND,不可被连接;Event 的 Output 只允许连接 Call 类型的 Service-Output。AsyncCallMCom 组件中 Finish 之前所有事件完成(接收到回复),最后调用 Finish 事件。用户可以将回复数据缓存起来,在 Finish 事件中处理。
连接同步组件 ConnSyncMCom
点击模型工具栏按钮 Constructor > ConnSyncMCom。在 Service 内部按住鼠标左键划动选择一片区域。
说明:
ConnSyncMCom 组件是一种特殊的多通道管道组件,存在一个 ConnPort 类型的输入端口,每个事件都存在一个输出。新建 ConnSyncMCom 组件自带一个 Event,且 Event 的输入为 SYS_CONN。
选中 ConnSyncMCom 组件,在属性视图编辑其属性,如下图所示。
表 19 ConnSyncMCom 组件模型属性
属性 说明 ID 新建组件 ID 格式: com[i]
,i 自动叠加Description 组件描述 Type 组件类型,连接同步组件类型为 MPIPE_SCONN Build-Lock 锁定构建选项,选择 true 会锁定此 Component 的生成代码功能,不再生成此部分代码 Bounds Component 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息 在 ConnSyncMCom 组件中添加 Event。
说明:
所有新添加的 Event 输入为 COM_BIND,不能被连接。 ConnSyncMCom 组件的所有 Event 的 Output 必须连接到同一个Service中 Call 类型的 Service-Output。ConnSyncMCom 组件的所有 Event 的 Output 都有 autoSync 属性,默认值为 true。表示启用 vsoa_client_auto_consistent 自动同步数据。
变速器组件 SubRegulMCom
点击模型工具栏按钮 Constructor > SubRegulMCom。在 Service 内部按住鼠标左键划动选择一片区域。
说明:
SubRegulMCom 组件是一种特殊的多通道管道组件,只允许有一个输入,可以有多个输出。SubRegulMCom 组件中的只有第一个 Event 可以输入来自于 PUB 类型的 Service-Input;所有 Event 的输出只能连接通道组件中事件的 Input 或者 Service-Input。
选中 SubRegulMCom 组件,在属性视图编辑其属性,如下图所示。
表 20 SubRegulMCom 组件模型属性
属性 说明 ID 新建组件 ID 格式: com[i]
,i 自动叠加Description 组件描述 Type 组件类型,变速器组件类型为 MPIPE_REGUL Build-Lock 锁定构建选项,选择 true 会锁定此 Component 的生成代码功能,不再生成此部分代码 Bounds Component 模型位置信息,点击 Value 栏中内容,可以修改模型位置信息 在 SubRegulMCom 组件中添加 Event。并设置属性。
表 21 SubRegulMCom 组件中 Event 事件属性
ID 新建事件 ID 格式: event[i]
,i 自动叠加Description 事件描述 period 变速周期,单位 毫秒(ms),不能小于1ms bufSize 缓存大小,单位 Byte 说明:
所有新添加的 Event 输入为 COM_BIND,不能被连接;所有 Event 的输出只能连接通道组件中事件的 Input 或者 Service-Input。
测试模型建模
AutoCode 能够为空白(未创建任何组件)的 Service 模型创建默认的组件模型。
操作步骤
点击图中所示按钮生成测试组件的工具。
测试模型生成逻辑:
com1 组件对应 Service 模型的 Input 。
根据 Input 端口数量,为 com1 组件创建相应数量的 Event 模型。
依次连接 Service 模型的 Input 端口与 com1 的 Event 模型。
com1 的 Event 模型输出为缺省。
com2 组件对应 Service 模型的 Output 。
根据 Output 端口数量,为 com2 组件创建相应数量的 Event 模型。
依次连接 com2 的 Event 模型与 Service 模型的 Output 端口。
com2 的 Event 模型输入为 Timer 。
注意:
如果服务内存在组件,则会生成失败,提示内容为 No blank service found!。