- 博客(13)
- 收藏
- 关注
翻译 Acceleo_操作方法集合
1 eAllContents () 返回节点包含的所有子节点root.eAllContents() Sequence{package1, package11, Class11, Class1a, Class1b, package2, Class2, aClas2} package1.eAllContents() Sequence{package11, Class11, C...
2018-07-27 10:12:51
858
原创 EMP_常见问题及解决
1 当导入一个新的EMF项目,在Ecore可视化环境中对元素属性进行修改的时候,会在.genmodel文件中自动生成Ecore包。 解决办法:在树形结构中添加属性及其类型2 生成最终*.gmfgen文件后,报错:一个元素对应有两个不同的ListLayout 解决办法:将所有的Gen Editor muicm.diagram->Gen Diagram MUICMEdit...
2018-07-03 15:25:12
1641
原创 模型转换
模型转换的关键问题:1 映射(Mapping)包含一对一、一对多、多对一的映射,重要的是映射规则,源模型元素到目标模型元素的映射2 转换(Transformation)重要的是转换算法,首先解析构成模型的元素之后调用映射规则,实现转换。转换算法可以自己编写,也可以借助元建模工具的便利。如果是较为专业的研究者,需要理解元建模工具自己的转换算法。注:元建模工具的算法可能会提供相关的转换算法的接口。模型...
2018-06-20 14:55:17
459
原创 Acceleo_创建main模块
1 工作流的复杂性使我们不鼓励存在有多个@main注释的模型文件。我们鼓励创建一个@main注释的模型文件,该文件会充当委托的角色,组织多个模型生成所有所需要的文件,因此该文件需要单独放在*.main的包中。2 在项目中导入自定义的插件 目前的方法:右键->BuildPath->Archieve...
2018-06-13 21:21:35
257
原创 Acceleo_popupMenus
1 将muicm2code项目右键创建Acceleo Acceleo UI lancher项目,该步骤会自动生成muicm2code.ui项目2 该项目可以通过Run as->Eclipse application3 得到的Eclipse application中由于集成了muicm.diagram,因此可以在该应用中创建muicm model和muicm diagram4 在Eclipse...
2018-06-13 21:18:40
175
原创 Acceleo_Java服务包装类(Wrappper)
初始化Acceleo模块文件中的内容有两种途径1 已经存在的Acceleo模板文件2 一些能够从Acceleo模板中获取的java代码我们关注第二种方式,第二种方式允许我们在Acceleo模板或者查询中执行标准的Java代码。1 首先创建新的包muicm2code.services,其次新建Muicm2Code类,编写Java代码2 新建Acceleo模块文件,选择Initialize Conte...
2018-06-13 09:07:45
297
原创 Acceleo_用户代码块
Acceleo在生成代码的时候支持两种方式支持用户代码块。用户代码块限定了使用生成模板一次性生成代码的部分,允许以增量的方式进行修改,并且在指定的...
2018-06-13 08:46:36
264
原创 Eclipse RCP 菜单 子菜单
1 GMF muicm.diagram.application包中DiagramEditorActionBarAdvisor.javapackage muicm.diagram.application;import java.io.File;import java.util.Iterator;import org.eclipse.emf.common.ui.URIEditorInput;impor...
2018-06-12 20:27:29
928
原创 Eclipse RCP
1、插件是Eclipse中模块化单元。RCP应用程序是一系列插件及运行这些插件的框架的集合。RCP开发人员从Eclipsebase和其他地方收集插件,并组装插件集或将开发人员自己编写的插件添加到插件集中。这些新插件包括遵循其工作领域的咯及的应用程序和产品定义。2、新建Plugin-project之后,代码分析(Application.java) @Override public Object st...
2018-06-12 16:59:43
391
原创 Acceleo_语言介绍
Acceleo 3是由OMG定义的MOFM2T规范的实现。 由OMG命名为MTL的Acceleo语言由模块内部的两种主要类型的结构(模板和查询)组成。 在Acceleo中,您可以使用OCL的子集创建表达式以查询输入模型。1 模块1.1导入Acceleo模块是一个“.mtl”文件,其中包含模板(用于生成代码)和/或查询(从操纵模型中提取信息)。 该文件必须以以下格式的模块声明开始:[...
2018-06-07 14:49:37
2646
原创 M2T_基于模板的转换语法(1)
1 元素直接转换转换模板[template public classToJava(c : Class)]class [c.name/]{// Constructor[c.name/](){}}[/template]最终代码class Employee{// ConstructorEmployee(){}}注:[c.name/]表示变量,在程序执行过程中,会将c.name转换成对应的元素2 模板嵌套...
2018-06-07 09:40:59
167
原创 Acceleo_Generate.java详解
1 该类是生成最终代码的入口点,同时必须是org.eclipse.acceleo.engin.service.AbstractAcceleoGenerator,否则该类不能正常运行。当转换模板发生变化时,该类会重新生成,如果移除[comment @main/]或者将@generated改成@notgenerated,就不会进行更新,这样可以停止该类的刷新从而便于引入一个内部定制活动。2 文件详...
2018-06-07 09:40:24
554
原创 Acceleo_新建与运行
1 File->New->Acceleo project(填写项目名称,其它默认);2 Next->选择Metamodel URIs(需要现在的工作空间中包含元模型)->在添加时选择Runtime Version->选中Generate documentation/Generate file/Main template->finish3 编写*.mtl文件4 运...
2018-06-06 17:22:54
645
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人