xiaoxiaoleemin

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

          EMF建模常見(jiàn)問(wèn)題

          Posted on 2007-05-07 14:10 xiaoxiaoleemin 閱讀(1003) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): EMF
              我習(xí)慣于直接用ECore Editor建立ecore模型,如果裝了GMF插件的話,在ecore文件上點(diǎn)擊鼠標(biāo)右鍵,通過(guò)菜單“Initialize ecore-diagram diagram file”可以生成類(lèi)似類(lèi)圖的表示,這樣可以從整體上看模型。而且在建模的過(guò)程中可以隨時(shí)"Validate"以檢查當(dāng)前存在的錯(cuò)誤。以下是一些常見(jiàn)的問(wèn)題:
              1.Ecore Editor中根元素的直接子元素屬性頁(yè)中有“Ns Prefix"和"Ns URI"兩項(xiàng)需要設(shè)置,前者可以設(shè)置為模型的名字,后者隨便設(shè)置一個(gè)URI地址,如"http://"+模型名字。如果這兩項(xiàng)不設(shè)置,那么當(dāng)修改了ecore模型后,從genmodel上“Reload" ecore模型時(shí)出錯(cuò)。
              2.某個(gè)EReference如果多重性為"0...*",則在屬性頁(yè)中把lower bound設(shè)置為0,upper bound設(shè)置為-1。
              3.genmodel根元素的第一層子元素的屬性頁(yè)中,"All"類(lèi)別中“prefix”屬性值是指EMF生成的代碼中Factory和Package等類(lèi)的前綴,可以指定為模型名字,首字母大寫(xiě)以符合類(lèi)名的習(xí)慣;“base package”屬性值是生成的各個(gè)包的前綴,假設(shè)指定為“com.example"。然后有“Ecore”類(lèi)別,其中的各個(gè)屬性值是從ecore模型中讀過(guò)來(lái)的,不可修改,其中“Package”類(lèi)別下的"Name"屬性值是包名的一部分(假設(shè)指定為model),接在前面的base package值之后,那么生成的Model 部分代碼分別有三個(gè)包:com.example.model; com.example.model.impl; com.example.model.util. 
             btw:在有的GMF 版本中,如果包名存在首字母大寫(xiě)的單詞,那么生成代碼的時(shí)候會(huì)出錯(cuò)。

          Feedback

          # re: EMF建模常見(jiàn)問(wèn)題  回復(fù)  更多評(píng)論   

          2009-02-01 12:37 by 阿水
          xiaoxiaoleemin 兄你好, 請(qǐng)問(wèn)GMF自帶的class diagram editor 畫(huà)圖時(shí)怎么表示xor關(guān)系? 比如 class a 必須要和 class b或c中的一個(gè)相連,但不能同時(shí)和兩個(gè)相連的情況要怎么辦?
          主站蜘蛛池模板: 抚远县| 大田县| 舒兰市| 临湘市| 泰宁县| 鄂伦春自治旗| 辽阳县| 商河县| 长寿区| 营口市| 西乌珠穆沁旗| 金门县| 繁昌县| 武强县| 手游| 白水县| 湛江市| 建瓯市| 扎赉特旗| 罗山县| 永清县| 镇宁| 神农架林区| 渝北区| 方山县| 巩留县| 西峡县| 门头沟区| 南雄市| 玛纳斯县| 郴州市| 彰化县| 政和县| 巫山县| 祥云县| 成安县| 上思县| 甘孜县| 白朗县| 沾益县| 三穗县|