xiaoxiaoleemin

天道酬勤,小小加油
posts - 19, comments - 12, trackbacks - 0, articles - 0

EMF建模常见问题

Posted on 2007-05-07 14:10 xiaoxiaoleemin 阅读(974) 评论(1)  编辑  收藏 所属分类: EMF
    我习惯于直接用ECore Editor建立ecore模型,如果装了GMF插件的话,在ecore文件上点击鼠标右键,通过菜单“Initialize ecore-diagram diagram file”可以生成类似类图的表示,这样可以从整体上看模型。而且在建模的过程中可以随时"Validate"以检查当前存在的错误。以下是一些常见的问题:
    1.Ecore Editor中根元素的直接子元素属性页中有“Ns Prefix"和"Ns URI"两项需要设置,前者可以设置为模型的名字,后者随便设置一个URI地址,如"http://"+模型名字。如果这两项不设置,那么当修改了ecore模型后,从genmodel上“Reload" ecore模型时出错。
    2.某个EReference如果多重性为"0...*",则在属性页中把lower bound设置为0,upper bound设置为-1。
    3.genmodel根元素的第一层子元素的属性页中,"All"类别中“prefix”属性值是指EMF生成的代码中Factory和Package等类的前缀,可以指定为模型名字,首字母大写以符合类名的习惯;“base package”属性值是生成的各个包的前缀,假设指定为“com.example"。然后有“Ecore”类别,其中的各个属性值是从ecore模型中读过来的,不可修改,其中“Package”类别下的"Name"属性值是包名的一部分(假设指定为model),接在前面的base package值之后,那么生成的Model 部分代码分别有三个包:com.example.model; com.example.model.impl; com.example.model.util. 
   btw:在有的GMF 版本中,如果包名存在首字母大写的单词,那么生成代码的时候会出错。

Feedback

# re: EMF建模常见问题  回复  更多评论   

2009-02-01 12:37 by 阿水
xiaoxiaoleemin 兄你好, 请问GMF自带的class diagram editor 画图时怎么表示xor关系? 比如 class a 必须要和 class b或c中的一个相连,但不能同时和两个相连的情况要怎么办?

只有注册用户登录后才能发表评论。


网站导航: