文件名称:
openArchitectureWare简明使用教程
开发工具:
文件大小: 381kb
下载次数: 0
上传时间: 2019-03-17
详细说明:NULL
博文链接:https://winjoys.iteye.com/blog/560693梦屮千万里
技术(欢迎交流)
提小:
之后提供了
插件安装方式,可以直接将插件复制到
目录,就可以完成插件的安装
创建工程
如图小
OAw project
图创建程
选择
插件会自动创建一个默认实例
查看实例工程文件
实例工程的文件结构如图所示。
pr】e
白电 metamodel
hi
E Extensions.ext
电 templ
E GeneratorExtensi ons
A Mo del.xmi
ibrary [ire]
画 Plugin Dep eIdencie
MET上工WF
Fd build properti
图
⊥程文件结构
梦屮千万里
技术(欢迎交流)
主要文件说明:
模型检查定义检查约束的文件;
:扩展文件,主要用」保存通用方法库,可以不使用;
:最终牛成代码的模型文件;
模型对应的元模型文件;
模型映射成代码的映射模板文件,是代码生成器的核心文件;
的流程控制文什,也是执行的入口文件
默认代码生成位置,可以根据用户需求进行酉置;
其他相关的库文件
提示:此时默认生成的工程可能会报错,出现乱码,原因是编码方式的问题,
通常中文系统采用
和
编码方式。应将文件的编码方式和
的编码方式都设置成
编码方式。模板语言大部分都是
码
码对于各种编码方式的编码是相同的,但是
和
两种标记的使用,使得编码方式受限,编码方式必须支持这两
种标记,例如:
。鉴于在中国还有中文的编码问题,因此
建议使用
编码方式,
不支持中文。
生成代码
生成代码操作非常简单,执行
文件。右键
执行结果如图所示。生成了两个类文件
类和
类
E Extensions.ext
metamodel ecore
白电 templ
E GeneratorExtensionsext
T Template. apt
workflo常
A Model xmi
中( default pacl
了
JRE System Library [jre
+E Plugin Dependencies
口-META工EF
HE MANIFEST. MF
d build properties
图生成的代码
梦屮千万里
技术(欢迎交流)
文件解读
此处只介绍的基本运行流程,各部分详细介绍见后面章节。
是的
入口文件,
如代码所示:
代码
从
可以看出,此时的运行包括是三个步骤:
模型读取,采用的元元模型是
将对应的模型文件解析成
对象
,并存放在
模型检査,对
进行模型检査,模型检査规则定义在
里
代码生成,上述步骤完成,则调用映射模板文件,将模型映射成最终的代
码。模板文件的入口点在
文件的
处。输出路径是
。并且调用
代码进行美化。
至此,一个简单的默认实例旱现出来,读者可以对的工作方式有一个直观认识,后面
章节将详细介绍
梦屮千万里
技术(欢迎交流)
工作流程
的工作流(
)引擎是一个声明式的生成引擎,基于配置文件,可以声明
各种工作流。一个工作流包含多个工作流组件(
),各个工作流组件在
里按声明顺序执行
工作流组件
工作流引擎的核心是工作流组件,一个工作流组件表示一个生成器过程的部分片段,例如:
模型读取、模型检貪、模型转换、代码生成
自身提供了许多的⊥作流组件,当然,
用户可以实现自己的工作流组件,只需要实现接口(如代码):
代码
其中
是主要的执行动作,
方法用于检查组廾执行前,是否配置
正确
个工作流就是多个工作流组件的组合,如代码所示是一个包括三个工作流组件的工作
流,包括模型读取、模型检査、代码生成,声明的顺序就是工作流执行的顺序,此顺序对工
作流的执行非常重要。
是一个特殊的
用于调用各个工作流组件。
类层
次结构图如图所
日心k且 coMponent- penar chi tectur ew are w on2o
-T WorkflowComponentH i- orE, opener chitectureare workflow
中… Abstr actors且 Component-rg. openarchitectureware. workflow.1ib
ponent- org. openarchitectureware workflow container
+C Conditionalcomp onent org openarchitectureware workflow container
c Workflow- org., opsnarchitectureware workFlow
图
类层次结构图
工作流配置
工作流的配置采用配置方式,以依赖注入方式米实现。如代码所示。
梦屮千万里
技术(欢迎交流)
定义属性
的属性定义可以使用简单定义和属性文件两种方式。
定义了两个属性
和
,之后可以使用
和
进行引用。也可以
将属性提取出来,添加到单独的属性文件里。
工作流组件
生成代码工作流组件,组件实现类是
,使用的
模板是
入口模板函数是
生成代码的路径是
对生成的
代码的美化使用
语言
语言包括:
。它们鄙是基于统一的类型系统和表示方式。因此
在操作模型、元模型,都是相冋的,不需要学习多种语言的语法。类型系统是一个映射层,
不同的元模型可以实现它。表示方式定义具体的语法,使用类型系统来表达模型
类型系统
类型系统是语言的基础,包括建造类型和元模型类型。建造类型是预先定义的
类型。元模型类型是针对不同的元模型定义的类型,使用时需要先注册元模型实现,提供访
问各种模型的类型。
每个对象都有类型,类型包括属性和方法,类型可以继承其他类型。
类型名称有两种方式:简单名和限定名,限定名是为了区分不同上下文中拥有相同类犁简单
名的不同类型,限定名名称空间简单名,添加了上下文信息,例如:
集合类型名,包括
类型。例如
类型的职责就是定义一些特征,这些特征包括三种:属性、方法、静态属性。
梦屮千万里
技术(欢迎交流)
建造类型
建造类型是框架预先定义的类型。建造类型有很多,包括
简单数据类
型
类型,类型系统类型。
其中类型系统类型是用于表示类型系统的类型,也可称为元类型。有:
■■■
如果需要进一步了解的建造类型,请参考资料
元模型实现
默认情况下,类型系统只能解析建造类型,为了装载自己的类型系统,就需要向中注
册元模型实现。在一个元模型实现中,将模型系统元索
映射成其他系统类型(
安装了的
插件后,预先添加了几种元模型实现,如图所示。
Preferences
openArchitectureWare
… TPTPT只
Confi gure proiect Speci=ic Settings,.
del contribut
YUMI2
EL
TaraBeans Met ar odel
HT
C
AY-C1 assic色 t amode1
H
RSA/RSM profi1∈3
·IxL/ Up dat
+ T
·JE丁 nsEormmat1n5
· Model vali dation
op enhrchi tectur elare
的
插件预先定义的元模型实现
如果用户需要定义自己的元模型实现,需要开发自己的
插件,实现
扩展点。通常情况下,用户不需要这样做,使用提供的元模型实现,就可
以满足基本要求。
在
里配置元模型实现,如下所示:
此时添加了两个元模型,说明同时使用两个元模型实现。此时有三个元模型:
梦屮千万里
技术(欢迎交流)
默认建造类型;
会顺序解析类型,直到找到一个最适合的类型返回。
表示法
语言表示法是和(
)混合体,基本的表示法如
等和的相似。
提示:对象约束语言(),可以用来约束四层模型中任意一层的模型
以及实例。它真正的意义是建模相关领域约束语
是一个查询性的语言,也就是说任何的动作都不会对模型本身造成
任何的影响或者改变;是一个强类型的语言,任何一个元素,都有类型
并且仼何操作的返回值一定有一个确定的类型;强调时间性,任何操作都
定义为瞬时完成的,即操作中模型的状态不会改变;是一个声明式语言
是基于集合论和谓词逻辑的,这点可以从语言看出来。
集合操作
注意集合操作不是类型系统的一部分。
从
中选择
为的元素,返回值是输入
的
子集
实例
在
选择类型为
的元素,返回值是输入
的子集。
从
中选择
为
的元素,返回值是输入
的子集
实例
梦屮千万里
技术(欢迎交流)
中每个元素计算
将其执行结果添加到列表中返回。
实例
中任意元素使得
为,则返回,否则返回
实例:
在
中存在元素使得
为,则返同,否则返回
实例
将
按照
排序,返回。
实例:
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.