xiaoxiaoleemin

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

GMF:基于Type的连接

Posted on 2007-05-07 14:42 xiaoxiaoleemin 阅读(575) 评论(0)  编辑  收藏
      这里介绍基于Type的连接的建立方法,仍然用上一篇基于Reference的连接中用到的例子School,有老师类和学生类,同时老师能够指导多名学生。这种指导关系在GMF编辑器中用连接来表示,基于Type的连接就是在ecore模型中为该连接创建一个类TeacherToStudent,ecore模型对应的ecore_diagram图形如下所示:

      与上一篇的不同在于Teacher中少了表示指导关系的Reference,而是在整个模型中加入了TeacherToStudent类,这个类有两个引用,分别指向Teacher和Student。生成school.genmodel,school.gmfgraph,school.gmftool的过程同前面一样,只是school.gmfmap中Link Mapping的设置有些不同:
   
      不同点在于基于Reference的连接的Domain meta information只有最后一项Target Feature需要设置为代表该连接的Reference。而这里这四项都需要设置,containment feature是指模型中包含该类的feature,Element则是代表该连接的类,source和target feature分别是该类到源和目标的引用名字。
      生成的GMF编辑器中的操作是完全一样的,如下图:
    这是查看保存semantic model的school文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<School:School xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:School="http://example.School">
  
<teachers name="ProfessorLi"/>
  
<students name="Sara"/>
  
<students name="Mike"/>
  
<teacherToStudents teacher="//@teachers.0" student="//@students.0"/>
  
<teacherToStudents teacher="//@teachers.0" student="//@students.1"/>
</School:School>

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


网站导航: