Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Using UML2 GenModel with a simple eCore model to handle 'subsets'
Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470134] Wed, 07 February 2007 14:20 Go to next message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------010802000906090906080807
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi All,

I've to create a metamodel with eCore. eCore is fine for my needs, but
now I get into trouble: I've a composition that is a subset of another
(see attached file). I've seen that there is a annotation named
'subsets' in UML.ecore. I would like to take advantage of the GenModel
that use it, but I don't know how to use it ? I create a genmodel from
my ecore model but I don't see where to make reference to UML.GenModel.

Thanks for your help !
Sylvain

--------------010802000906090906080807
Content-Type: image/png;
name="My.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="My.png"

iVBORw0KGgoAAAANSUhEUgAAAXQAAADaCAYAAAC2Arl5AAAAIGNIUk0AAHom AACAhAAA+gAA
AIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNS R0IArs4c6QAA
AAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAH+ZJREFU eNrtnQlwVFW6
x7+EXVmGbYS4gMCA+wZRkQEVfIo83xC3GpQnqyIzKIgi8IA4gxFhVBhLdhTB EQaUkSoo5pVa
WCyKgA4IKhEQcFhC4BkBEWSRJC//Izc2IZ109tt9f7+qrqT7dk66b5/+3+98 24nLzsEAACDq
iecUAAAg6AAAgKADAACCDgAACDoAAIIOAAAIOgAAIOgAAICgAwAg6AAAgKAD AACCDgAACDoA
ACDoAAAIOgAAIOgAAICgAwAAgg4AgKADAACCDgAACDoAACDoAAAIOgAAIOgA AICgAwAAgg4Q
Y8TFxeX7OwCCDhBlZGdncxKgRFTmFECsc+rUKRsyZIi99tprlpWVZZ07d7aF Cxee8bjo06eP
TZgwwSpXruws5EGDBtmMGTOsTp06NnXqVNuyZYuNHTvWatSoYbNmzXLj6HkT J0608ePH2/79
++322293x+rWrVvg+IsXL7YBAwbYt99+a3fffbfNmzfPjSVR96xz76cn9Ckp KZaamur+/sSJ
EzZ58mRr2LAhHzAg6BAcJITVq1e3Q4cOOTH0GDVqlDVt2tQOHz7s7k+bNs1G jBhhL7zwgrvf
uHFjd2z16tXWqVMnN05GRoa736tXL9u+fbt73tGjR23jxo1Ws2ZNmzJlio0c OdL9LGh8/f2a
NWusRYsWNmnSpLMsdU/cPXQh0cVIwi90QRo+fLjNnDmTDxhwuUBwkIX87LPP niHm4s0337TH
HnvM4uPj3e3hhx92j3kMGzbM/U379u2dmIbe37lz5xnPq127thujf//+NmfO nELHl5Wflpbm
Hh84cGCh70EXg8GDB+feT0pKsgULFvDhAhY6BIu9e/da1apV8308VOT1nO++ +y7fMTIzMwu8
n/uFyhnv+PHjhY4/f/58e+aZZ6xbt242btw46927d4HvYdeuXc71A4CgQ6Bp 1KiRs7BlDed9
XH5uT3RPnjzpfN8lQeN5YxQ0vqz8ZcuW2e7du61Vq1aFCnpCQoJ7bt73ABAK swNinoceesje
euutsx7v2bOnvfzyy07sdZPfW48VlS+//NL91BhvvPGGde/evdDxR48ebUeO HHH+9/r16581
poR/69atufflylFAVRcIoeBo3759+XABCx2ChfznQ4cOdQIoYe3SpYsLKj73 3HP25JNP2jnn
nOOe169fP3vppZeKPL6yYVatWuUscfnJ5UIRBY2/Y8cOa9CggRPz6dOnnzWm smauu+4697uE
Pzk52QVGmzdvbunp6ZaYmOiyaQBCicsm+RWg+F+gPNkoABUJLheAElCtWjVO AiDoALGAl9EC
gKADAACCDgAACDoAAIIOAAAIOgAAIOgAABAJVIpCmbBo0SJOQjnTtWtXTgKC DoDAcAGFWACX
CwAAgg4AAAg6AAAg6AAAgKADACDoAACAoAMAAIIOAAAIOgAAgg4AAAg6AAAg 6AAAgKADAACC
DgCAoAMAAIIOAAAIOgAAIOgAAAg6AAAg6AAAgKADAACCDgCAoAMAAIIOAAAI OgAAIOgAAICg
AwAg6AAAgKADAACCDgAACDoAQICozCmITRYtWhT419C1a1cmAiDoEBsEWdD8 cEEDQNChTHg9
+ZpCn9MnZQMnCgBBh2ige/Lfwh6bm9KjWGPGxcVZdnY2JxcAQYfyIis7rtjH Jdr54Sch58IC
gKAHhlOZEuAqp8XPU2Td+fmnjhcEYgmAoINfBD073t6ePcWyCzheUlJSUiw1 NdUqV65sJ06c
sMmTJ1vDhg2d9Txo0CCbMWOG1alTx6ZOnWpbtmyxsWPHWo0aNWzWrFnWuXPn QseYM2eOjRkz
xrZt22ZXXHGFzZ4926666qrcFYT3k4sPIOgQ0/yUFW+/7/1I2ONTRq0p0fgS 56ysLJs3b567
v3DhQhs+fLjNnDnT3W/cuLEdPnzYVq9ebZ06dXLCnZGR4e736tXLtm/fXugY mzdvtg8++MCN
NXfuXOvRo4dt2LDBCTguFwAEPTiCnhlfouP5+dFDBXTatGn2xRdf5N5PSkpy Qu2J8bBhw9zP
9u3bO9EOvb9z586IxtBFwOOBBx6wnj178sECIOjB42RmXIE+dB0viMKs3127 djl3SiRkZmbm
e78oY8THx581TmGvf+vWrbZjxw47efKk+z+XX365c+cAIOgQZRZ6nL04YYGF c6KfKkTQCyMh
IcF2797thLYix8jL8ePHndW/b98+tzLw+P777+3jjz+2atWqWYsWLaxp06bO bw+AoIP/BT0r
3kY8lRT2+OjB75Vo/P79+9uECRPsiSeecMKowOb48eNz3SVlPUbdunWdBd6y Zcvcx5YvX+6E
uyAUeN20aZN99dVX7oJy6aWX2jnnnOOvz+6nn6xKlSpMYkDQ4RdBL8nxwnzo ycnJLqjZvHlz
S09Pt8TERJe9UhRKMoaE/7rrrnO/HzlyJNcKjxRZ73v27HE3gGglLpvUgJhE vUxCe7kM7tfB
xk6cflqcPUW2XB/68Mcftb/OWBlT7/83v/mNC7jqYiTBlqUbStWqVa1evXp2 7Ngx+/HHH61J
kybO9XLuuef66r0cPHjQ1q5da82aNTtjBQKAhR5QMrPj7ak//iHs8UrxsddJ +bLLLrNLLrnE
Wd3ffPON/fDDD851IXeORFtCKSGXiF9wwQW+dWvIndShQwe3agFA0MFeeXV5 IN+3AqwXXXSR
uynvXcK+d+9e5ydv06aNNWjQIGxrAz+h1ytXlFYaKsrS6oMgLiDoEFgk3rpF O0ePHrWPPvrI
rr/+et8FcKGCDRhOAUB0rTi0spCLaMWKFXbo0CFOCmChA0Qzyp1XcZTy6AGw 0AGiHFW5qrmZ
iqYUGwBA0AGiHFnqSs9UIRYg6AAQxchKb9eunUvD/OyzzzghAQYfOkAMoBz6 tm3b2oEDBzgZ
WOgAEPVf5vj43LRMWerqPw8+JPNHLHSoeMq7SdSpU6conikmjRo1slWrVtm1 117rfi8y6x7l
JJYlLQaY1bkKQYfIUT8TCCba1Um9aj799FO7+uqr3f0i0/oRTmRZsO5Vs29m ml3ct9RFHUGP
UUIbcxWHvH3EVR4v6/zOO+8st/ewZs0a279/f+59vQYFAOVWUP+VX/3qV1FR tl9R1K9f3266
6SarXr06J8NvNOtotqP0RR1BhzOQgKo3eN7WsxIF9QovT9QO97333svdmEKN QdVMSzsbaSMM
UatWLTvvvPOcwFMGfza1a9d2P3VhVg8bbaqNG8sPH8z5ZSLqfLLghFINn1Sc ou3Z8qJqRPmz
JZzliVwGEmq9rrxdnr37Cvzptm3bNhcUlNWujSrUjAvh+gV9dhJ0rXpat27t VjoQe6JOlkuA
kVtFPtYlS5Y4Qc9PzIV6hv/61792AlveaFVQqVKliC5K2mP0u+++czsQ/fOf /+QDDkGuKa14
5EvX1nuh2/GBD0RdPvXvP8dCh9Jzq4RDbg71Fa8IZGW3atXKiXQk6MKjhlXa ABrORi14Jepa
zegiSAwitix1LPQAomV3pGIu61yCXt7ulrwiFMnqQO4WtZZV4yq5XCB/vFiD 5kFaWlo5rA4S
OenlZKljoQeQm2++2eUoy0VR2A6EElK1aq1IS07/+8orr7T169eHfb3agUjH ZKFr8wcoHJ3T
1atXuy34dBEsjIMHD9vw4ZNs7tx37dSpTEtMvMzuuuu3NmxYz3KeD4k5n/Wn WOpY6OBZsrfe
eqvLXIkvYOs5uTtk8SrIWNHoohIu/c672MjylEhBZNSsWdNtbScr3csaKoju 3ZOtadMEO3Ro
Wc6q7UMbN+4xW7FiPSfSR5Z6pT/nwFkMHsopv/DCC50/XRks+Vm+ymNWoFT+ aD/4WpWimNdF
oIuOrHK5hfQa5R8mu6UIS/Scc6WLpTo26vzl+tXTl5gltD7jub17P2vvvvuK C1LrORdd1ChH
5O/MtZr//Od+Z1nSemz06FdzjIhadv/9w23UqKn26aepdscdN1qNGtVs8eKV dtttf7QRI6bY
pk077L77Orm/TUl5zaZNe8cWLVph8+e/b7fc0jpnFVYj132jMXXT+OHG8C3p 6886t2dQrXaO
ddIgR9QXmtXIEfjqkbs7mfkBRu6U9u3bu6wHBRLzirq+uLLO/RI4k3BL1L0e JXpdKmvXa+/Y
saMT+5UrV7py91jYaq48Rf1nl8pB27BhgyUmJlrNfJ7Xtu2VTkQ7d77Jbrjh 8gJXd3k5evRY
jti+nbMqqGEvvvimjRw51aZMGWa9eo22NWtmWYsWF9ikSW+7544dO9uysrJt 3rwx7v7Chcuc
q2fmzGTnasnrcslvjKC6X3C5BBz1Zzlx4oSz0ELTAyX2+oL7Lbio1DvvAqMV htIUb7zxRvd6
L774Yrc9m3zt+eWuQ8HUrVvXmjVrZh9++KEdPFn3rOP/+MdfbM+e/7M77xxo 1au3s6SkIbZj
R2RB1ZEj+1jt2ue6i8DgwQ/a3//+rntcVnpa2v+5xwcO7OYek2Wu53gkJd1s CxYsDTt2fmP4
HpX/F3b7+n/NMo+bbZsccW8dLPQAI1fLJ5984jJY5HtWLvrXX3/tcpSV3aI8 dflZ/YQuPHIF
6WKTnp7uStsVEA0VJQV9//Wvf1lGRoYroimKJRl0mjRp4oqO1q79wTr9lGVV qvxy7ho2rOus
ZN22bt3lRPa++4blXEDnFHFlWMV+/PG4+33+/DH2zDPTrVu3kc4n37v3f9mu XftyPudbIh4v
vzF8TVF75EjcW09H0CE8sl7VYlVfXom5rF7lmuv+559/7ixfv2aLXHPNNbZ0 6VK3670CvHlR
ZauEfvPmzfbRRx85UQ8VfSjctdWp0cocMW8W9jktW17krO6UlJnufqVKkV80 T578KceIqOd+
b9/+Wlu2bJrt3r3fWrW614lxQkLDnPtLIr4Q5zdGUMF0CSjr1q1zAc9QF4Zn od1www3OFePX
XG6Js5qPSXjCofekKlPlsCtFU9Y6RE6V+J/OeqxLl0H24YefuRWcbvJ1d+7c 9vRFtpVLZxRp
ad9acvK0M/52w4atp1eFmfaXv7xhPXr8p7svn/yRIz86H3v9+nXcY/3732MT JvzdPVekpn5j
ffumhKzCarsVgkd+YwQVLPQA4lWJKiCaX0aIhLKk3Rr9wvnnn+/cNGpxIHfM FVdcQRZMMfnd
7zq4LJXVq79w1vO993a0V18d6Y69/npyjkj/yXr2/JO1aHGhPf30Q7l/J+td f7d06SdWtWrl
HMG+155/foA7Jh98gwb/4YR4+vT/cY8lJz/sLhbNmydZenqGy3efNetPueON H/9EjiHy3+73
I0dW5jtGUInLJnIUKJRvLEFXINHrxBcEZFHKr66VhwKncstAQUu4R+mH7pvP InIfOi6XAKFu
e+qJIpdKkMTcTfQci1I+dwWAldqICwZicp5zCoKBXCwKdspnLhdEUFGJuyx0 5VuT2ggIOkQd
qqJUz47LLruswEBiUJAvvV27ds79pEwfWskCgg5RgXzGEnM6EJ6J0jMVFJYv XamNR44c4aQA
gg7+Re6EtWvXukKcSLrpBQ2lNqpPjVIbVR0ZSYMqAD9D/lYMo1Q9dSDUru8Q HqU2qkeMzteB
Awfcvpts/ABY6OAbUlNTXem+qioRp8JR1o9aBqivjZqV6ScAgg4VztatW11b XOWa08ekCMvV
ypVdaqNcVCtWrHDtDwAQdKgw5Af+97//7YSpIjZ1jgXU00bpnWqPoNRGAAQd yp1vv/3WFQ5J
zGlGVTLUT10uGF0g1Y5XnSkBEHQoF1Q4pFa48pnn14EQio5SGpXaqBiEUhu1 HR8Agg5ligJ4
Sk+UmGsHHyg9JObaAUnbtCm1UasgAAQdykzMlZWh3XqUfgdlg/L41QNHDb4U dAZA0KFUUcm6
LHOV8/t1M4pYQi0DbrnlFtu3b58776rCBUDQoVRQIYz8vNrIAcqH0JYBy5cv dxtUAyDoUCLU
0/zYsWPsmVkByK+ueIXaBqxZsyYmWwacyqrEBx2FUPofhSg3eufOnS6tjt13 Ko6EhASXHqrm
Z8oyksBHe1WumpQpRrBvX0frnKU+8nzOWOhQZqSlpdmWLVusbdu2bvkPFYt6 y3fs2NGlNKq6
VK2Ko5WNGze6i5P6/2iTaMQcQYcyRP5auVp++9vfBnqTCr+hilxlwCjLSLsh RUvLAHXj1EpP
QV6hTJ7bbrvNVcpWi6eXTTTCej2KlsIqHFJJes2aNTkhPkSZRso4UrBavedb tmzpy9ep7Jzt
27c7378uRuouKaguRtChHPB2HNKO9SpJB/+ilZOyYJTWqBWVipKqVKnii9em mgVl56iNgQLq
em3Mp9gCl4vPCd1xSEE48D9eywBZvEptrOiWAbqwaNWgSteTJ0+62AtijoUO 5YwKh+Rm0RdP
laAQPXi7IamvjvzqcmtURCWvNsM+ePCg25VJIk5WFIIOFYTKzEN9nBB9SMRl qctClrBqo+6y
rBvQik7tk+Xmadq0qbuo+MXlA2UPLhef8vXXXztfpwqH2HEoupGVfuuttzrX iwqR5PYobeQT
lzW+dOlS52Lx3CmIOYIOFcyuXbucldWmTRuqQGNlKVy5skttrFevnvOry1ov DdT9UemHlSpV
surVqzvffWJiIplQQZ1nnAJ/oZxgFQ7ddNNN7DgUgyjHW1vcyVJXmqN820Vd gUnA09PT3SpO
aEMTBTo1NiDo4BO0VP7ss8+chUVOcOzSsGFDZ0nLr67PXH1hihKs1ByRr1z+ cV0ccMkBgu4z
VDgkq00+c9LJYh+5RORXT01Ndbshyb0Wzk0i0Vf/Hq3YJOLKVkHEAUH3KSr4 kJgrA0KVhhAc
9JmrGEmblKhwLLTWQAVlCnQqmKqMlSZNmrjHEXNA0H2Kls4Sc31ZVS4OwUOp jcqE0TzIyMiw
2rVru/kgv7gKyrRiIzgOCLrPUXBLJeL6AuuLC8ElMzPTrc4814pEXC4YVmxQ FLjsVyBffPGF
s7yuvvpqltEBRdXAYs+ePe4C36lTJ5f5IhdMtHRtBCz0wKOUswMHDli7du1Y TgcQpR3u2LHD
uVoU6JQv3UPpjPKrq+2DOjZK4AEQdJ+iwiHdlLpGJV+wUMxEvV3UwEtutvPO Oy/f58nVoo0z
1P5BuyGp/QN9WKAwMA3Lmb179+buOEThUDBQtorSE9XKQRdw1Rlok5JGjRoV 6GqT6Gue6Dnq
lKjUVgAE3Scon1jbfGmTCm3zBbGNfOAqHlq2bJlLTZWPXCgIHvEXND7e5Z3L mpeoe7sLAeQH
a7hy4vDhw66vuaoCVd0HsYlEWxa5Kn2VP65MFblLZG2XhAsvvNBq1aqVW13a qlWrsg+kr3uV
DxRBh7yEFg41btyYExKDKFtFKYdqqia/uIqESruuQAFUuWpUbCTjQK6bMovB tJ7OhxqF4HIp
Y7wdh1Q84lX6Qex9xu+//77LWlLrBol5WaFiI/nV5bZR10ZZ6wBY6OVktalw SClooWlpEP3I
P660Q9UQKLit/PHyzFjy9pf1Vn5UGQOCXsaocEh9quU3p3AoNlBQctu2bXb8 +HEXqPRSCSsi
/VRZMnLByK+u1QEFaoDLpYxQ4ZA2MWDHoehHOwx5G1Io60QBSVnkaphV0UVh CrrefPPNbjWo
/HYFZAFBh1Jk9+7dLjimHWrINY9e5J/+/PPP3bZuXrqgCn7Uz9xPF2ldVJQK qxjNihUr3C5G
EExwuZQy+jJt2rTJLYUVwILotcpVeq9gtqzxkqYdlgdaMai+QRtgXHzxxa6F AGChQzHRsnzd
unXOWmJPx+hC+eNaWSlzRBWZWlndfvvtrs9KNIi5h1YQ2jhDvWIUkFcGDiDo UES8HYcUAKXl
aXShvjoffPCB7d+/331+0X4xVoBWfYKU2ii/Oi0DggMul1JAhUPKNb/00ktd 5gH4H1Xu/vDD
D86lorRSbcodS+0Y5OPXfFQxkra40+/UQSDoUAjejkMXXHCB82GCf5FbRa4I uVaU5qfWtEKC
HquoMlltCNavX+9cgqQ2xja4XEqIcoC1tL3kkks4GT6+6ErMtSuQso/kErvj jjsC02dc87ND
hw7uPKjBl1aUgKBDHpTSpmwIrB7/CvnWrVtdt0NZ5CoCkmtFGSBB21RE71e9 X+QSVGojLQNi
E1wuxUSFQ0pRVPCJHYf8hxplbd682XUplIiTdfQzcjOpeZhWlvqdlgEIeuBR VoQEQ9vHUTjk
Dzz/uFrWKv9alqjiGuwIdTaKGcgQkV9dlrr6wmCUxMhKjFNQNFQx+OWXX9r1 11/vgk1Q8Wzf
vt1Vc6pZlmeJq6gLMQ+PtxuSDBK5YEhtDJiFvmjRIs5WCPoSlCVdu3blJBeA LHGJtixLxTHk
H1aKXlkQhLmvPPzygrntA0Hng/gZBdrK2vLLKyByJyi4JwtU4qUlsyoY1VMk aHhtaxW/kMtL
50I51oiQ/+c1hqHPBD2U15OvKfQ5fVI2xNwJK89lvFq0qgWv3DzqpuehXeA/ /vjj3J3jlf8e
hB3h1bZWt2bNmpXKtm7M/YqZ1+BDQRfdk/8W9tjclB7l/maURnjfffe5oKXE MJpRTxEJd0Eo
n1iNwL766itLSEhwlmosVTseO3bM5Y3LepSAS8iVO+6HFFG/zX2AEgl6VnZc iY6/++67NnTo
UJdapjSq7t2727hx40r0Zh555BF74403XLBHX3pvl/WyJu//Ko3/XZiYn3Gu c6z3PXv2uFus
oqwiv+DHue9XyvN7CCUQ9FOZ8u1WOf2hnX5Qn1vczz91PBza5LZ37942f/58 15xf/uEZM2aU
+M2obajE3L2UCpxEpfG/lXq3c+dO94WQYOftmqfshHr16jkrVpsaqE+HXC+x lHmj9+2HdLq8
fl8/zn2Akgl6dry9PXuKZRdwPBzPPvusPf/8825CCxU4vPTSSz//3alTNmTI EHvttdfc/T59
+tiECROcj1jiNmfOHBszZozzpSp/dvbs2W457i3DQ5fjnrCOHTvWXn75ZWf1 KpCmDBX9n/ys
B+8x/VTzpiuvvDLXOlSRijry1a1b1yZNmmT333//Wf/X+1v9LO57EdonUu0E ZHXr/+u1yM+p
v5Voqy+HhFwiHqv51n7Nja6ouT9o0CAn/goET5061bZs2eLmtrJ9Zs2aZZ07 d3bPmzhxoo0f
P97NVbUA1jHN2ZLMx5SUFEtNTXXPlatv8uTJuRt9RPqdxFL3saD/lBVvv+/9 SNjjU0atCXtM
OcOaBPkxatQoJ1LqhiemTZtmI0aMsBdeeMHd1zJVKVZqOjR37lzr0aOHs3pC hTR0Er3yyitu
MqvoRAIhP7tK9SNBvc1Dl/pq6iSWLFni3DsS9Lz/tzTeS6igqZJPt4yMDPda 9u7d6/zkbdq0
cZsE03Kg/Kmoua95omPq7KlNNySymhe636tXL5ePL5TSuXHjRpeTP2XKFBs5 cqT7Wdz5qIuG
Vkvz5s1zz1u4cKENHz7cZs6cWaTvJJSDEVTsSZ0ZX+zjsjbDBe/efPNNe+yx x5yY6fbwww+7
xzw0iTVxxAMPPOCKfApClnS/fv1yrT3P4ogEz4rKy1133RXRNl+l+V4k3sq1 Vvqc3Ep+2wYt
UIJeQXN/2LBhzkJWlacENvS+3HOhz1NDLo3Rv3//3AtIceejhH/w4MG5z0tK SrIFCxYU+zsJ
PrTQT2bGFehH1PFw1KpVy2WhVK9e/axjskBDU/DkK1bucbgluTroFYRylktj 6S5f5+jRo92G
AXo9hf3fsngv4A/8MPfzzpVwc0fjeRlfxZ2PyhqLtMUw8zhaXS45k/bFCQss nCPxVAGTumPH
jm75puBQXtSDQ74+b+KpkEYuk+IiSyVccK1SpUoRj6N2q0899VSuCyeSvy3t 9wJ+sdCjY+67
15IznjdGccdXSqzcjfR7iWWXS1a8DX0qyYYOyf+m4+HQklA+OPVm9qxf+elE z549XQBTIqyb
fH96rLg8+OCDbgyNpaDOPffck3tM243J5yfS0tIsOTk57DiyZBRg0hdA44Wi x/Qe8lLa7wWK
T2m6p/w+9z2Xh8ZQGq/SIksyvtw2Cp7qYiD0Perbt29EryXcdwP8ZqFnxRf7 uHzACqg8/vjj
bvJpGzAFdcRzzz1nTz75ZK6fUf5vLwugOCi/V9H8J554wmWOKDtAecDi9ddf dwEcTWpVXD79
9NNhx9HfqSGX96UMRRkF2hhahDY5Ku33Aj6x0H0+95UNs2rVKmeJy0/u5bgX d3wZOrroqKhL
yQWK5ShzJhLCfTegjAyX7AhD0MrFDe1nMbhfBxs7cfpp6+f0gyF+xOGPP2p/ nbHSV29WVomC
Oe+88469/fbbvv1Q8p7rsiI0jU3nRmlvymCI1fQ5D035xYsX24ABA1xw++67 787N4Ij2ue/3
rJLymttY6EUkMzvenvrjH8Ier+Qjf5uKbiQq8gFKbKZPn84nf1ocFZxTT+zQ YFkQ0uf0OrUX
rFZmyoSKlblfUf1tIMoF/ZVXl0fNmwxN6YJfkIWs3Pa8jb2UyqZz5gXBtGzX RdETXM/lFJo+
593Pmz7nIT+sKlsl6IWNrwuEh9LgPD+vhF/NyjyUPidh9gQ93N/lh1YTipuo sGfgwIExM/ej
vYcRVJCgQ/SjNLb8dlwKQvqcSu+feeYZ69atm/Mx55d1AoCgQ9SgNLb8UjqD kD6n1YQ2j9Z4
rVq1QtAhJiCxNMA89NBD9tZbb531eBDS51QkpqwL+fnr16/PZAAsdIhu1ChK bVwlihLWLl26
uEBjENLnVEGsdgoSc4LkECsUO20Ryo5YONex1JSJuc+5jBZwuUCZQPocAIIO MQLpcwAIOgAA
IOgAAMGmSFkuefdWBAgKzH2IKUEnMg1BhbkP0QIuFwAABB0AABB0AABA0AEA AEEHAEDQAQAA
QQcAAAQdAAAQdAAABB0AABB0AABA0AEAAEEHAAAEHQAAQQcAAAQdAAAQdAAA QNABAILA/wPC
tzU3GBYgqQAAAABJRU5ErkJggg==
--------------010802000906090906080807--
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470138 is a reply to message #470134] Wed, 07 February 2007 15:43 Go to previous messageGo to next message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi again,

To be more precise, here's a java sample of what I want to do in eCore:

// main class Element, root for the others
public abstract class Element
{
private List<Element> composites = new ArrayList<Element>();
public List<Element> getComposites() {
return composites;
}
public void setComposites(List<Element> composites) {
this.composites = composites;
}
}

// class Component, a Element
public class Component extends Element { }

// class configuration containing Element that are only instanceof
Components
public class Configuration extends Element
{
public List<Component> getComponents() {
List<Component> result = new ArrayList<Component>();
for (Element composite : this.getComposites()) {
if (composite instanceof Component) result.add((Component)composite);
}
return result;
}
public void addComponent(Component c) {
this.getComposites().add(c);
}
}

This way the component list is clearly a subset of composites...
Thanks for your help !

Sylvain


Sylvain a écrit :
> Hi All,
>
> I've to create a metamodel with eCore. eCore is fine for my needs, but
> now I get into trouble: I've a composition that is a subset of another
> (see attached file). I've seen that there is a annotation named
> 'subsets' in UML.ecore. I would like to take advantage of the GenModel
> that use it, but I don't know how to use it ? I create a genmodel from
> my ecore model but I don't see where to make reference to UML.GenModel.
>
> Thanks for your help !
> Sylvain
>
> ------------------------------------------------------------ ------------
>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470145 is a reply to message #470138] Wed, 07 February 2007 22:08 Go to previous messageGo to next message
Tas Frangoullides is currently offline Tas FrangoullidesFriend
Messages: 195
Registered: July 2009
Senior Member
Hi Sylvain,

UML2 allows you to model subsetting through the subsettedProperty
attribute on Property.

If you define your model in UML2, and use this model as the source for
creating your genModel, you can get a genmodel that generates the code you
require. During the import process you will be presented with a dialog
that lets you choose to process property subsetting.

IF you already have your model defined in ecore you could create an
initial UML model by converting from ecore to UML (Convert to UML in the
Ecore Editor menu).

Hope that helps,

Tas.


Sylvain wrote:

> Hi again,

> To be more precise, here's a java sample of what I want to do in eCore:

> // main class Element, root for the others
> public abstract class Element
> {
> private List<Element> composites = new ArrayList<Element>();
> public List<Element> getComposites() {
> return composites;
> }
> public void setComposites(List<Element> composites) {
> this.composites = composites;
> }
> }

> // class Component, a Element
> public class Component extends Element { }

> // class configuration containing Element that are only instanceof
> Components
> public class Configuration extends Element
> {
> public List<Component> getComponents() {
> List<Component> result = new ArrayList<Component>();
> for (Element composite : this.getComposites()) {
> if (composite instanceof Component) result.add((Component)composite);
> }
> return result;
> }
> public void addComponent(Component c) {
> this.getComposites().add(c);
> }
> }

> This way the component list is clearly a subset of composites...
> Thanks for your help !

> Sylvain


> Sylvain a écrit :
>> Hi All,
>>
>> I've to create a metamodel with eCore. eCore is fine for my needs, but
>> now I get into trouble: I've a composition that is a subset of another
>> (see attached file). I've seen that there is a annotation named
>> 'subsets' in UML.ecore. I would like to take advantage of the GenModel
>> that use it, but I don't know how to use it ? I create a genmodel from
>> my ecore model but I don't see where to make reference to UML.GenModel.
>>
>> Thanks for your help !
>> Sylvain
>>
>> ------------------------------------------------------------ ------------
>>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470155 is a reply to message #470145] Thu, 08 February 2007 01:53 Go to previous messageGo to next message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
.... there are some draft documents that explain subsetting see the one under
"Extending UML doc"...

https://bugs.eclipse.org/bugs/show_bug.cgi?id=77413

Hopefully they will be of some use. Please add comments or suggestions for
other topics you would like to see covered.

Cheers,
- James.


"Tas Frangoullides" <tas.frangoullides@barclaysglobal.com> wrote in message
news:2d255c2527f5a7a6f37faad04fd62254$1@www.eclipse.org...
> Hi Sylvain,
>
> UML2 allows you to model subsetting through the subsettedProperty
> attribute on Property.
>
> If you define your model in UML2, and use this model as the source for
> creating your genModel, you can get a genmodel that generates the code you
> require. During the import process you will be presented with a dialog
> that lets you choose to process property subsetting.
>
> IF you already have your model defined in ecore you could create an
> initial UML model by converting from ecore to UML (Convert to UML in the
> Ecore Editor menu).
>
> Hope that helps,
>
> Tas.
>
>
> Sylvain wrote:
>
>> Hi again,
>
>> To be more precise, here's a java sample of what I want to do in eCore:
>
>> // main class Element, root for the others
>> public abstract class Element
>> {
>> private List<Element> composites = new ArrayList<Element>();
>> public List<Element> getComposites() {
>> return composites;
>> }
>> public void setComposites(List<Element> composites) {
>> this.composites = composites;
>> } }
>
>> // class Component, a Element
>> public class Component extends Element { }
>
>> // class configuration containing Element that are only instanceof
>> Components
>> public class Configuration extends Element
>> {
>> public List<Component> getComponents() {
>> List<Component> result = new ArrayList<Component>();
>> for (Element composite : this.getComposites()) {
>> if (composite instanceof Component) result.add((Component)composite);
>> }
>> return result;
>> }
>> public void addComponent(Component c) {
>> this.getComposites().add(c);
>> }
>> }
>
>> This way the component list is clearly a subset of composites...
>> Thanks for your help !
>
>> Sylvain
>
>
>> Sylvain a
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470161 is a reply to message #470138] Thu, 08 February 2007 13:54 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Sylvain,

Take a look at the implementation of PackageImpl#getNestedPackages() or
PackageImpl#getOwnedTypes(). There you'll see how a
DerivedSubsetEObjectEList can be used to implement a list that subsbets
another list by restricting its type, much the same as you are looking to
do. Currently, however, the UML2 code generator does not generate this code,
so you'll have to add it by hand.

Kenn

"Sylvain" <sylvain.maillard@univ-nantes.fr> wrote in message
news:eqcs2e$t55$1@utils.eclipse.org...
> Hi again,
>
> To be more precise, here's a java sample of what I want to do in eCore:
>
> // main class Element, root for the others
> public abstract class Element
> {
> private List<Element> composites = new ArrayList<Element>();
> public List<Element> getComposites() {
> return composites;
> }
> public void setComposites(List<Element> composites) {
> this.composites = composites;
> } }
>
> // class Component, a Element
> public class Component extends Element { }
>
> // class configuration containing Element that are only instanceof
> Components
> public class Configuration extends Element
> {
> public List<Component> getComponents() {
> List<Component> result = new ArrayList<Component>();
> for (Element composite : this.getComposites()) {
> if (composite instanceof Component) result.add((Component)composite);
> }
> return result;
> }
> public void addComponent(Component c) {
> this.getComposites().add(c);
> }
> }
>
> This way the component list is clearly a subset of composites...
> Thanks for your help !
>
> Sylvain
>
>
> Sylvain a
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470169 is a reply to message #470145] Thu, 08 February 2007 15:50 Go to previous messageGo to next message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi,

Ok I've try your solution to translate eCore to UML then create
genModel, it seems to work ;-) I have a eCore model with "subsets"
annotation, the converter generate a lots of UML elements form it and
finally I generated the java classes. I don't need all UML stuffs, just
"subsets"... Is there really no way to bypass the UML conversion step ?

BTW thanks for your useful help ;-)

Sylvain

Tas Frangoullides a écrit :
> Hi Sylvain,
>
> UML2 allows you to model subsetting through the subsettedProperty
> attribute on Property.
>
> If you define your model in UML2, and use this model as the source for
> creating your genModel, you can get a genmodel that generates the code
> you require. During the import process you will be presented with a
> dialog that lets you choose to process property subsetting.
>
> IF you already have your model defined in ecore you could create an
> initial UML model by converting from ecore to UML (Convert to UML in the
> Ecore Editor menu).
>
> Hope that helps,
>
> Tas.
>
>
> Sylvain wrote:
>
>> Hi again,
>
>> To be more precise, here's a java sample of what I want to do in eCore:
>
>> // main class Element, root for the others
>> public abstract class Element
>> {
>> private List<Element> composites = new ArrayList<Element>();
>> public List<Element> getComposites() {
>> return composites;
>> }
>> public void setComposites(List<Element> composites) {
>> this.composites = composites;
>> }
>> }
>
>> // class Component, a Element
>> public class Component extends Element { }
>
>> // class configuration containing Element that are only instanceof
>> Components
>> public class Configuration extends Element
>> {
>> public List<Component> getComponents() {
>> List<Component> result = new ArrayList<Component>();
>> for (Element composite : this.getComposites()) {
>> if (composite instanceof Component)
>> result.add((Component)composite);
>> }
>> return result;
>> }
>> public void addComponent(Component c) {
>> this.getComposites().add(c);
>> }
>> }
>
>> This way the component list is clearly a subset of composites...
>> Thanks for your help !
>
>> Sylvain
>
>
>> Sylvain a écrit :
>>> Hi All,
>>>
>>> I've to create a metamodel with eCore. eCore is fine for my needs,
>>> but now I get into trouble: I've a composition that is a subset of
>>> another (see attached file). I've seen that there is a annotation
>>> named 'subsets' in UML.ecore. I would like to take advantage of the
>>> GenModel that use it, but I don't know how to use it ? I create a
>>> genmodel from my ecore model but I don't see where to make reference
>>> to UML.GenModel.
>>>
>>> Thanks for your help !
>>> Sylvain
>>>
>>> ------------------------------------------------------------ ------------
>>>
>
>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470205 is a reply to message #470161] Thu, 08 February 2007 15:59 Go to previous messageGo to next message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi Kenn,

I will try this, in order to keep a full eCore model...

Sylvain

Kenn Hussey a écrit :
> Sylvain,
>
> Take a look at the implementation of PackageImpl#getNestedPackages() or
> PackageImpl#getOwnedTypes(). There you'll see how a
> DerivedSubsetEObjectEList can be used to implement a list that subsbets
> another list by restricting its type, much the same as you are looking to
> do. Currently, however, the UML2 code generator does not generate this code,
> so you'll have to add it by hand.
>
> Kenn
>
> "Sylvain" <sylvain.maillard@univ-nantes.fr> wrote in message
> news:eqcs2e$t55$1@utils.eclipse.org...
>> Hi again,
>>
>> To be more precise, here's a java sample of what I want to do in eCore:
>>
>> // main class Element, root for the others
>> public abstract class Element
>> {
>> private List<Element> composites = new ArrayList<Element>();
>> public List<Element> getComposites() {
>> return composites;
>> }
>> public void setComposites(List<Element> composites) {
>> this.composites = composites;
>> } }
>>
>> // class Component, a Element
>> public class Component extends Element { }
>>
>> // class configuration containing Element that are only instanceof
>> Components
>> public class Configuration extends Element
>> {
>> public List<Component> getComponents() {
>> List<Component> result = new ArrayList<Component>();
>> for (Element composite : this.getComposites()) {
>> if (composite instanceof Component) result.add((Component)composite);
>> }
>> return result;
>> }
>> public void addComponent(Component c) {
>> this.getComposites().add(c);
>> }
>> }
>>
>> This way the component list is clearly a subset of composites...
>> Thanks for your help !
>>
>> Sylvain
>>
>>
>> Sylvain a écrit :
>>> Hi All,
>>>
>>> I've to create a metamodel with eCore. eCore is fine for my needs, but
>>> now I get into trouble: I've a composition that is a subset of another
>>> (see attached file). I've seen that there is a annotation named 'subsets'
>>> in UML.ecore. I would like to take advantage of the GenModel that use it,
>>> but I don't know how to use it ? I create a genmodel from my ecore model
>>> but I don't see where to make reference to UML.GenModel.
>>>
>>> Thanks for your help !
>>> Sylvain
>>>
>>> ------------------------------------------------------------ ------------
>>>
>
>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #470228 is a reply to message #470205] Fri, 09 February 2007 11:17 Go to previous message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi Kenn,

Your solution works well, but everything gets harder when I had a
relation one-to-one between my component and my configuration that is
another subset of the main "composite" relation: this relation give a
class attribute after code generation, but in fact i wanted that this
attribute is the only elements in my "composite" collection.

I think I will find a workaround to this problem: my composite become a
"derived" relation and I will implements the "getComposites()" by hand.

Sylvain

Sylvain a écrit :
> Hi Kenn,
>
> I will try this, in order to keep a full eCore model...
>
> Sylvain
>
> Kenn Hussey a écrit :
>> Sylvain,
>>
>> Take a look at the implementation of PackageImpl#getNestedPackages()
>> or PackageImpl#getOwnedTypes(). There you'll see how a
>> DerivedSubsetEObjectEList can be used to implement a list that
>> subsbets another list by restricting its type, much the same as you
>> are looking to do. Currently, however, the UML2 code generator does
>> not generate this code, so you'll have to add it by hand.
>>
>> Kenn
>>
>> "Sylvain" <sylvain.maillard@univ-nantes.fr> wrote in message
>> news:eqcs2e$t55$1@utils.eclipse.org...
>>> Hi again,
>>>
>>> To be more precise, here's a java sample of what I want to do in eCore:
>>>
>>> // main class Element, root for the others
>>> public abstract class Element
>>> {
>>> private List<Element> composites = new ArrayList<Element>();
>>> public List<Element> getComposites() {
>>> return composites;
>>> }
>>> public void setComposites(List<Element> composites) {
>>> this.composites = composites;
>>> } }
>>>
>>> // class Component, a Element
>>> public class Component extends Element { }
>>>
>>> // class configuration containing Element that are only instanceof
>>> Components
>>> public class Configuration extends Element
>>> {
>>> public List<Component> getComponents() {
>>> List<Component> result = new ArrayList<Component>();
>>> for (Element composite : this.getComposites()) {
>>> if (composite instanceof Component) result.add((Component)composite);
>>> }
>>> return result;
>>> }
>>> public void addComponent(Component c) {
>>> this.getComposites().add(c);
>>> }
>>> }
>>>
>>> This way the component list is clearly a subset of composites...
>>> Thanks for your help !
>>>
>>> Sylvain
>>>
>>>
>>> Sylvain a écrit :
>>>> Hi All,
>>>>
>>>> I've to create a metamodel with eCore. eCore is fine for my needs,
>>>> but now I get into trouble: I've a composition that is a subset of
>>>> another (see attached file). I've seen that there is a annotation
>>>> named 'subsets' in UML.ecore. I would like to take advantage of the
>>>> GenModel that use it, but I don't know how to use it ? I create a
>>>> genmodel from my ecore model but I don't see where to make reference
>>>> to UML.GenModel.
>>>>
>>>> Thanks for your help !
>>>> Sylvain
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>
>>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #583053 is a reply to message #470134] Wed, 07 February 2007 15:43 Go to previous message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi again,

To be more precise, here's a java sample of what I want to do in eCore:

// main class Element, root for the others
public abstract class Element
{
private List<Element> composites = new ArrayList<Element>();
public List<Element> getComposites() {
return composites;
}
public void setComposites(List<Element> composites) {
this.composites = composites;
}
}

// class Component, a Element
public class Component extends Element { }

// class configuration containing Element that are only instanceof
Components
public class Configuration extends Element
{
public List<Component> getComponents() {
List<Component> result = new ArrayList<Component>();
for (Element composite : this.getComposites()) {
if (composite instanceof Component) result.add((Component)composite);
}
return result;
}
public void addComponent(Component c) {
this.getComposites().add(c);
}
}

This way the component list is clearly a subset of composites...
Thanks for your help !

Sylvain


Sylvain a écrit :
> Hi All,
>
> I've to create a metamodel with eCore. eCore is fine for my needs, but
> now I get into trouble: I've a composition that is a subset of another
> (see attached file). I've seen that there is a annotation named
> 'subsets' in UML.ecore. I would like to take advantage of the GenModel
> that use it, but I don't know how to use it ? I create a genmodel from
> my ecore model but I don't see where to make reference to UML.GenModel.
>
> Thanks for your help !
> Sylvain
>
> ------------------------------------------------------------ ------------
>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #583105 is a reply to message #470138] Wed, 07 February 2007 22:08 Go to previous message
Tas Frangoullides is currently offline Tas FrangoullidesFriend
Messages: 195
Registered: July 2009
Senior Member
Hi Sylvain,

UML2 allows you to model subsetting through the subsettedProperty
attribute on Property.

If you define your model in UML2, and use this model as the source for
creating your genModel, you can get a genmodel that generates the code you
require. During the import process you will be presented with a dialog
that lets you choose to process property subsetting.

IF you already have your model defined in ecore you could create an
initial UML model by converting from ecore to UML (Convert to UML in the
Ecore Editor menu).

Hope that helps,

Tas.


Sylvain wrote:

> Hi again,

> To be more precise, here's a java sample of what I want to do in eCore:

> // main class Element, root for the others
> public abstract class Element
> {
> private List<Element> composites = new ArrayList<Element>();
> public List<Element> getComposites() {
> return composites;
> }
> public void setComposites(List<Element> composites) {
> this.composites = composites;
> }
> }

> // class Component, a Element
> public class Component extends Element { }

> // class configuration containing Element that are only instanceof
> Components
> public class Configuration extends Element
> {
> public List<Component> getComponents() {
> List<Component> result = new ArrayList<Component>();
> for (Element composite : this.getComposites()) {
> if (composite instanceof Component) result.add((Component)composite);
> }
> return result;
> }
> public void addComponent(Component c) {
> this.getComposites().add(c);
> }
> }

> This way the component list is clearly a subset of composites...
> Thanks for your help !

> Sylvain


> Sylvain a écrit :
>> Hi All,
>>
>> I've to create a metamodel with eCore. eCore is fine for my needs, but
>> now I get into trouble: I've a composition that is a subset of another
>> (see attached file). I've seen that there is a annotation named
>> 'subsets' in UML.ecore. I would like to take advantage of the GenModel
>> that use it, but I don't know how to use it ? I create a genmodel from
>> my ecore model but I don't see where to make reference to UML.GenModel.
>>
>> Thanks for your help !
>> Sylvain
>>
>> ------------------------------------------------------------ ------------
>>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #583171 is a reply to message #470145] Thu, 08 February 2007 01:53 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
.... there are some draft documents that explain subsetting see the one under
"Extending UML doc"...

https://bugs.eclipse.org/bugs/show_bug.cgi?id=77413

Hopefully they will be of some use. Please add comments or suggestions for
other topics you would like to see covered.

Cheers,
- James.


"Tas Frangoullides" <tas.frangoullides@barclaysglobal.com> wrote in message
news:2d255c2527f5a7a6f37faad04fd62254$1@www.eclipse.org...
> Hi Sylvain,
>
> UML2 allows you to model subsetting through the subsettedProperty
> attribute on Property.
>
> If you define your model in UML2, and use this model as the source for
> creating your genModel, you can get a genmodel that generates the code you
> require. During the import process you will be presented with a dialog
> that lets you choose to process property subsetting.
>
> IF you already have your model defined in ecore you could create an
> initial UML model by converting from ecore to UML (Convert to UML in the
> Ecore Editor menu).
>
> Hope that helps,
>
> Tas.
>
>
> Sylvain wrote:
>
>> Hi again,
>
>> To be more precise, here's a java sample of what I want to do in eCore:
>
>> // main class Element, root for the others
>> public abstract class Element
>> {
>> private List<Element> composites = new ArrayList<Element>();
>> public List<Element> getComposites() {
>> return composites;
>> }
>> public void setComposites(List<Element> composites) {
>> this.composites = composites;
>> } }
>
>> // class Component, a Element
>> public class Component extends Element { }
>
>> // class configuration containing Element that are only instanceof
>> Components
>> public class Configuration extends Element
>> {
>> public List<Component> getComponents() {
>> List<Component> result = new ArrayList<Component>();
>> for (Element composite : this.getComposites()) {
>> if (composite instanceof Component) result.add((Component)composite);
>> }
>> return result;
>> }
>> public void addComponent(Component c) {
>> this.getComposites().add(c);
>> }
>> }
>
>> This way the component list is clearly a subset of composites...
>> Thanks for your help !
>
>> Sylvain
>
>
>> Sylvain a
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #583211 is a reply to message #470138] Thu, 08 February 2007 13:54 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Sylvain,

Take a look at the implementation of PackageImpl#getNestedPackages() or
PackageImpl#getOwnedTypes(). There you'll see how a
DerivedSubsetEObjectEList can be used to implement a list that subsbets
another list by restricting its type, much the same as you are looking to
do. Currently, however, the UML2 code generator does not generate this code,
so you'll have to add it by hand.

Kenn

"Sylvain" <sylvain.maillard@univ-nantes.fr> wrote in message
news:eqcs2e$t55$1@utils.eclipse.org...
> Hi again,
>
> To be more precise, here's a java sample of what I want to do in eCore:
>
> // main class Element, root for the others
> public abstract class Element
> {
> private List<Element> composites = new ArrayList<Element>();
> public List<Element> getComposites() {
> return composites;
> }
> public void setComposites(List<Element> composites) {
> this.composites = composites;
> } }
>
> // class Component, a Element
> public class Component extends Element { }
>
> // class configuration containing Element that are only instanceof
> Components
> public class Configuration extends Element
> {
> public List<Component> getComponents() {
> List<Component> result = new ArrayList<Component>();
> for (Element composite : this.getComposites()) {
> if (composite instanceof Component) result.add((Component)composite);
> }
> return result;
> }
> public void addComponent(Component c) {
> this.getComposites().add(c);
> }
> }
>
> This way the component list is clearly a subset of composites...
> Thanks for your help !
>
> Sylvain
>
>
> Sylvain a
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #583268 is a reply to message #470145] Thu, 08 February 2007 15:50 Go to previous message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi,

Ok I've try your solution to translate eCore to UML then create
genModel, it seems to work ;-) I have a eCore model with "subsets"
annotation, the converter generate a lots of UML elements form it and
finally I generated the java classes. I don't need all UML stuffs, just
"subsets"... Is there really no way to bypass the UML conversion step ?

BTW thanks for your useful help ;-)

Sylvain

Tas Frangoullides a écrit :
> Hi Sylvain,
>
> UML2 allows you to model subsetting through the subsettedProperty
> attribute on Property.
>
> If you define your model in UML2, and use this model as the source for
> creating your genModel, you can get a genmodel that generates the code
> you require. During the import process you will be presented with a
> dialog that lets you choose to process property subsetting.
>
> IF you already have your model defined in ecore you could create an
> initial UML model by converting from ecore to UML (Convert to UML in the
> Ecore Editor menu).
>
> Hope that helps,
>
> Tas.
>
>
> Sylvain wrote:
>
>> Hi again,
>
>> To be more precise, here's a java sample of what I want to do in eCore:
>
>> // main class Element, root for the others
>> public abstract class Element
>> {
>> private List<Element> composites = new ArrayList<Element>();
>> public List<Element> getComposites() {
>> return composites;
>> }
>> public void setComposites(List<Element> composites) {
>> this.composites = composites;
>> }
>> }
>
>> // class Component, a Element
>> public class Component extends Element { }
>
>> // class configuration containing Element that are only instanceof
>> Components
>> public class Configuration extends Element
>> {
>> public List<Component> getComponents() {
>> List<Component> result = new ArrayList<Component>();
>> for (Element composite : this.getComposites()) {
>> if (composite instanceof Component)
>> result.add((Component)composite);
>> }
>> return result;
>> }
>> public void addComponent(Component c) {
>> this.getComposites().add(c);
>> }
>> }
>
>> This way the component list is clearly a subset of composites...
>> Thanks for your help !
>
>> Sylvain
>
>
>> Sylvain a écrit :
>>> Hi All,
>>>
>>> I've to create a metamodel with eCore. eCore is fine for my needs,
>>> but now I get into trouble: I've a composition that is a subset of
>>> another (see attached file). I've seen that there is a annotation
>>> named 'subsets' in UML.ecore. I would like to take advantage of the
>>> GenModel that use it, but I don't know how to use it ? I create a
>>> genmodel from my ecore model but I don't see where to make reference
>>> to UML.GenModel.
>>>
>>> Thanks for your help !
>>> Sylvain
>>>
>>> ------------------------------------------------------------ ------------
>>>
>
>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #583279 is a reply to message #470161] Thu, 08 February 2007 15:59 Go to previous message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi Kenn,

I will try this, in order to keep a full eCore model...

Sylvain

Kenn Hussey a écrit :
> Sylvain,
>
> Take a look at the implementation of PackageImpl#getNestedPackages() or
> PackageImpl#getOwnedTypes(). There you'll see how a
> DerivedSubsetEObjectEList can be used to implement a list that subsbets
> another list by restricting its type, much the same as you are looking to
> do. Currently, however, the UML2 code generator does not generate this code,
> so you'll have to add it by hand.
>
> Kenn
>
> "Sylvain" <sylvain.maillard@univ-nantes.fr> wrote in message
> news:eqcs2e$t55$1@utils.eclipse.org...
>> Hi again,
>>
>> To be more precise, here's a java sample of what I want to do in eCore:
>>
>> // main class Element, root for the others
>> public abstract class Element
>> {
>> private List<Element> composites = new ArrayList<Element>();
>> public List<Element> getComposites() {
>> return composites;
>> }
>> public void setComposites(List<Element> composites) {
>> this.composites = composites;
>> } }
>>
>> // class Component, a Element
>> public class Component extends Element { }
>>
>> // class configuration containing Element that are only instanceof
>> Components
>> public class Configuration extends Element
>> {
>> public List<Component> getComponents() {
>> List<Component> result = new ArrayList<Component>();
>> for (Element composite : this.getComposites()) {
>> if (composite instanceof Component) result.add((Component)composite);
>> }
>> return result;
>> }
>> public void addComponent(Component c) {
>> this.getComposites().add(c);
>> }
>> }
>>
>> This way the component list is clearly a subset of composites...
>> Thanks for your help !
>>
>> Sylvain
>>
>>
>> Sylvain a écrit :
>>> Hi All,
>>>
>>> I've to create a metamodel with eCore. eCore is fine for my needs, but
>>> now I get into trouble: I've a composition that is a subset of another
>>> (see attached file). I've seen that there is a annotation named 'subsets'
>>> in UML.ecore. I would like to take advantage of the GenModel that use it,
>>> but I don't know how to use it ? I create a genmodel from my ecore model
>>> but I don't see where to make reference to UML.GenModel.
>>>
>>> Thanks for your help !
>>> Sylvain
>>>
>>> ------------------------------------------------------------ ------------
>>>
>
>
Re: Using UML2 GenModel with a simple eCore model to handle 'subsets' [message #586737 is a reply to message #470205] Fri, 09 February 2007 11:17 Go to previous message
Sylvain is currently offline SylvainFriend
Messages: 40
Registered: July 2009
Member
Hi Kenn,

Your solution works well, but everything gets harder when I had a
relation one-to-one between my component and my configuration that is
another subset of the main "composite" relation: this relation give a
class attribute after code generation, but in fact i wanted that this
attribute is the only elements in my "composite" collection.

I think I will find a workaround to this problem: my composite become a
"derived" relation and I will implements the "getComposites()" by hand.

Sylvain

Sylvain a écrit :
> Hi Kenn,
>
> I will try this, in order to keep a full eCore model...
>
> Sylvain
>
> Kenn Hussey a écrit :
>> Sylvain,
>>
>> Take a look at the implementation of PackageImpl#getNestedPackages()
>> or PackageImpl#getOwnedTypes(). There you'll see how a
>> DerivedSubsetEObjectEList can be used to implement a list that
>> subsbets another list by restricting its type, much the same as you
>> are looking to do. Currently, however, the UML2 code generator does
>> not generate this code, so you'll have to add it by hand.
>>
>> Kenn
>>
>> "Sylvain" <sylvain.maillard@univ-nantes.fr> wrote in message
>> news:eqcs2e$t55$1@utils.eclipse.org...
>>> Hi again,
>>>
>>> To be more precise, here's a java sample of what I want to do in eCore:
>>>
>>> // main class Element, root for the others
>>> public abstract class Element
>>> {
>>> private List<Element> composites = new ArrayList<Element>();
>>> public List<Element> getComposites() {
>>> return composites;
>>> }
>>> public void setComposites(List<Element> composites) {
>>> this.composites = composites;
>>> } }
>>>
>>> // class Component, a Element
>>> public class Component extends Element { }
>>>
>>> // class configuration containing Element that are only instanceof
>>> Components
>>> public class Configuration extends Element
>>> {
>>> public List<Component> getComponents() {
>>> List<Component> result = new ArrayList<Component>();
>>> for (Element composite : this.getComposites()) {
>>> if (composite instanceof Component) result.add((Component)composite);
>>> }
>>> return result;
>>> }
>>> public void addComponent(Component c) {
>>> this.getComposites().add(c);
>>> }
>>> }
>>>
>>> This way the component list is clearly a subset of composites...
>>> Thanks for your help !
>>>
>>> Sylvain
>>>
>>>
>>> Sylvain a écrit :
>>>> Hi All,
>>>>
>>>> I've to create a metamodel with eCore. eCore is fine for my needs,
>>>> but now I get into trouble: I've a composition that is a subset of
>>>> another (see attached file). I've seen that there is a annotation
>>>> named 'subsets' in UML.ecore. I would like to take advantage of the
>>>> GenModel that use it, but I don't know how to use it ? I create a
>>>> genmodel from my ecore model but I don't see where to make reference
>>>> to UML.GenModel.
>>>>
>>>> Thanks for your help !
>>>> Sylvain
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>
>>
Previous Topic:Replacing UML2::NamedElement::isDistinguishableFrom with new operation i a profile?
Next Topic:Profile with enumeration in same file as model -> ClassCastException
Goto Forum:
  


Current Time: Fri Apr 19 15:49:41 GMT 2024

Powered by FUDForum. Page generated in 0.03031 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top