模型驱动的自动化软件代码生成技术--气动数据管理框架
本书通过对模型驱动的自动化软件代码生成策略、气动数据管理框架、气动数据处理流程和气动数据库数据结构进行研究,对气动数据管理系统进行共性分析,建立自动化软件框架的领域模型。第1章绪论分析了代码生成技术和气动管理系统框架现状,第2、3章阐述了现有软件框架和本书使用的设计模式,第4~7章阐述了基础框架和工作流引擎的设计过程,第8、9章阐述了气动数据管理系统相关设计内容,第10章阐述了气动数据管理框架支撑架构及自动化代码生成设计,第11章对本书设计的代码生成框架进行了示范生成效果展示。本书完整展示了气动数据管理和模型驱动代码生成技术的结合与设计过程,这预示着一种全新的气动数据管理系统开发方法已经落地,将为推动我国气动领域数据再利用及数字化工程加速建设奠定基础。
更多科学出版社服务,请扫码获取。
1国家重点工程项目"国家数值风洞工程"的子课题"验证与确认数据库建设"的负责人
2.国家重点工程项目"气动数据再利用工程"的子课题"气动数据库系统建设"的负责人
目录
丛书序序前言
第1章 绪论 1
1.1 代码生成技术 1
1.1.1 引言 1
1.1.2 基于模板的代码自动生成技术 2
1.1.3 基于模型的代码自动生成技术 5
1.2 气动数据管理框架 9
1.2.1 气动数据管理框架的必要性 9
1.2.2 数据管理框架的国内外现状 12
1.3 小结 20
第2章 基础软件框架概况 23
2.1 国外软件框架介绍 24
2.1.1 Spring 24
2.1.2 Hibernate 25
2.1.3 Struts 26
2.1.4 Express 26
2.1.5 Koa 27
2.1.6 Hapi 27
2.1.7 Nest 27
2.1.8 Sequelize 28
2.1.9 TypeORM 28
2.1.10 React 28
2.1.11 AngularJS 28
2.2 国内框架概况 29
2.2.1 Dubbo 29
2.2.2 Vue 31
第3章 软件框架的相关设计模式 33
3.1 工厂模式 34
3.1.1 简单工厂 34
3.1.2 工厂方法模式 35
3.1.3 抽象工厂 35
3.2 单例模式 36
3.3 代理模式 37
3.4 装饰器模式 38
3.5 解释器模式 38
3.6 AOP模式 39
3.7 IoC模式 41
3.8 MVC模式 42
3.9 MVVM模式 44
第4章 Noomi设计 48
4.1 概述 48
4.2 Web服务器设计 49
4.2.1 框架结构设计 49
4.2.2 框架运行流程设计 50
4.3 IoC设计 81
4.3.1 实体类定义 81
4.3.2 实例管理 82
4.3.3 类添加过程 82
4.3.4 实例化流程 83
4.4 AOP设计 84
4.4.1 切面定义 84
4.4.2 切面管理 86
4.4.3 设置代理流程 87
4.4.4 通知方法参数 87
4.4.5 通知执行流程 87
4.5 数据库设计 88
4.5.1 数据库配置定义 89
4.5.2 数据库管理初始化流程 89
4.5.3 数据库管理 90
4.6 事务设计 90
4.6.1 事务管理 91
4.6.2 事务执行流程 92
4.7 缓存设计 92
4.7.1 缓存类定义 93
4.7.2 缓存添加过程 94
4.7.3 缓存清理过程 95
4.8 日志设计 96
4.8.1 日志管理 96
4.8.2 日志添加流程 97
4.8.3 日志执行过程 97
4.9 LaunchHook设计 98
第5章 Relaen设计 99
5.1 概述 99
5.2 框架结构设计 100
5.3 框架运行流程设计 101
5.4 连接与执行设计 101
5.4.1 连接 102
5.4.2 连接配置 102
5.4.3 连接管理 103
5.4.4 执行管理 104
5.5 实体设计 105
5.5.1 实体类 106
5.5.2 实体列 106
5.5.3 实体管理 107
5.6 关系设计 111
5.6.1 关系注解 112
5.6.2 关系管理流程 113
5.7 查询设计 113
5.7.1 Query SQL构造器 114
5.7.2 NativeQuery构造器 115
5.7.3 缓存设计 116
5.8 Translator设计 116
5.8.1 Select语句 117
5.8.2 Delete语句 117
5.8.3 Update语句 119
5.8.4 Insert语句 119
5.9 事务设计 121
5.9.1 事务设计方法 121
5.9.2 事务隔离级 124
5.10 锁机制 125
5.10.1 悲观锁 125
5.10.2 乐观锁 125
5.11 日志 126
第6章 Nodom框架 128
6.1 概述 128
6.2 Module模块设计 129
6.3 Model模块设计 133
6.4 Compile解析器模块设计 138
6.5 渲染器模块设计 142
6.6 比较器模块设计 146
6.7 存储器模块设计 149
6.8 表达式模块设计 150
6.9 应用初始化配置类型模块设计 151
6.10 基础服务库模块设计 152
6.11 调度器模块设计 155
6.12 Virtual Dom模块设计 155
6.13 Css管理器模块设计 159
6.14 指令模块设计 160
6.15 自定义元素模块设计 165
6.16 对象管理器模块设计 166
6.17 Error异常处理模块设计 167
6.18 事件模块设计 168
6.19 事件管理器模块设计 172
6.20 路由模块设计 174
第7章 工作流引擎设计 179
7.1 BPMN简介 179
7.1.1 概念 179
7.1.2 规范 180
7.2 流程整体设计 181
7.3 元素层设计 183
7.3.1 辅助设计 183
7.3.2 基础节点设计 184
7.3.3 任务 184
7.3.4 事件 186
7.3.5 顺序流 186
7.3.6 网关 187
7.3.7 子流程 191
7.4 核心层设计 191
7.5 数据结构设计 192
7.5.1 工作流引擎 ER图 192
7.5.2 数据库表结构 194
第8章 气动数据及存储 202
8.1 气动数据概念 202
8.2 气动数据的作用 204
8.3 数据来源 204
8.3.1 风洞试验的标准流程 205
8.3.2 数值计算的标准流程 205
8.4 气动数据的生命周期 206
8.4.1 数据采集 207
8.4.2 原始数据 207
8.4.3 工程数据 208
8.4.4 主题数据 209
8.4.5 数据挖掘 210
8.5 气动数据存在形式 210
8.6 数据种类 211
8.7 需要入库的数据 213
8.8 气动数据库数据结构设计 215
8.8.1 飞行器(VEHICLE) 215
8.8.2 试验风洞(WINDTUNNEL) 216
8.8.3 计算软件(SOFTWARE) 216
8.8.4 天平(BALANCE) 217
8.8.5 试验或计算单位(UNIT) 217
8.8.6 试验模型(MODEL) 218
8.8.7 机身(BODY) 219
8.8.8 翼(WING) 219
8.8.9 尾翼(TAILWING) 220
8.8.10 舵(RUDDER) 221
8.8.11 试验任务(TASK) 221
8.8.12 试验条件(CONDITION) 222
8.8.13 试验状态(STATUS) 222
8.8.14 常规测力试验(FORCE) 224
8.8.15 铰链力矩试验(HINGE) 224
8.8.16 测压试验(PRESS) 225
8.8.17 测热试验(HEAT) 226
8.9 数据字典 227
8.9.1 模型部件(COMPONENT) 227
8.9.2 模型类别(MODE_TYPE) 228
8.9.3 数据类型(DATA_TYPE) 228
8.9.4 数据来源(DATA_SOURSE) 229
第9章 气动数据库系统通用功能模块 230
9.1 数据采集 230
9.2 数据清洗 230
9.3 数据入库 231
9.4 校对审核 234
9.5 数据展示 234
9.6 数据查询 236
9.7 数据分析 237
9.8 数据报表 238
9.9 资源管理 239
9.10 数据统计 240
9.11 文档管理 241
9.12 管理功能 244
9.13 权限管理 244
9.14 系统维护 245
第10章 气动数据管理框架设计 246
10.1 气动数据管理框架整体解决方案 246
10.1.1 流程描述 246
10.1.2 模型转换 247
10.2 气动数据管理框架架构 250
10.2.1 核心子框架 251
10.2.2 支撑模块 252
10.2.3 辅助工具 253
10.3 数据库设计 253
10.3.1 概述 253
10.3.2 应用库设计准则 253
10.3.3 数据包 254
10.3.4 安全包 256
10.3.5 算法包 260
10.3.6 统计包 261
10.3.7 公共包 264
10.4 代码生成主流程 266
10.5 配置文件 266
10.6 模型设计 267
10.6.1 模型 267
10.6.2 编辑配置项 269
10.6.3 校验器 269
10.6.4 注解器设计 270
10.7 代码生成算法 270
10.7.1 气动模型生成算法 270
10.7.2 元数据生成算法 271
10.7.3 grid元数据生成算法 273
10.7.4 页面生成算法 274
10.7.5 grid页面模块生成算法 275
10.7.6 服务端代码生成算法 276
10.7.7 Web路由生成算法 277
10.7.8 业务层代码生成算法 277
10.7.9 数据类型生成算法 278
10.7.10 查询页面生成算法 279
10.7.11 可视化生成算法 280
第11章 示范验证 281
11.1 生成系统概述 281
11.1.1 ER图设计 281
11.1.2 生成配置 282
11.2 生成效果 283
11.3 结语 295
参考文献 296