[gme-users] RE: [udm-users] MetaGME / UDM UML Connection issue

Akos Ledeczi akos.ledeczi at vanderbilt.edu
Wed Apr 20 17:18:14 CDT 2005


That's an oversight aka bug. BTW, option 2 is not legal UML... Akos


Matthew J. Emerson wrote:

> Actually, it looks like style 2 below screws up the code generated by 
> the BONExtender, not just the UDM framework. Why isn’t it disallowed 
> by constraint in MetaGME?
>
> --Matt
>
> ------------------------------------------------------------------------
>
> *From:* Matthew J. Emerson
> *Sent:* Wednesday, April 20, 2005 10:24 AM
> *To:* udm-users; gme-users
> *Subject:* [udm-users] MetaGME / UDM UML Connection issue
>
> I’m having an issue with connections in these two metamodeling languages.
>
> In MetaGME, if you need multiple classes to be associated through the 
> same kind of connection, there are two ways to specify it. The first 
> is to use inheritance to group together those types which play the src 
> role and those types which play the dst role (*style 1*):
>
> The other way to do it is to reuse the association class (*style 2*):
>
> Both of these are perfectly legal in MetaGME and result in the same 
> GME paradigm. However, the second style is not legal in UDM-style UML. 
> Here’s the UML generated with MetaGME2UML:
>
> Notice the duplicated role names. The UDM code generator apparently 
> counts on the role names being unique to avoid namespace collisions. 
> It’s possible to change the role names by hand to be unique, but I 
> would probably run into another problem because MetaGME2UML writes 
> changes into the ‘General Preferences’ field of each Connection:
>
> I suspect that the role names in the MetaGME metamodel must correspond 
> to the role names in the UML metamodel in order to use the MGA backend 
> with UDM. I haven’t looked at the UDM source code, but I doubt it’s 
> set up to search for multiple sName / dName pairs for each Connection 
> in the GME registry.
>
> Not knowing this, I’ve built a large, complicated metamodel which uses 
> style 2 about 15 times. I thought everything was peachy until I 
> decided I wanted to do something with UDM…and I ran into this gotcha. 
> Somehow this discrepancy between the MetaGME and UDM UML needs to be 
> addressed, but it’s not obvious which language should change: MetaGME 
> or UDM UML. Should we limit the expressiveness of MetaGME using a 
> constraint so people don’t run into trouble with UDM, or should UDM 
> step up and support everything which can be expressed in MetaGME?
>
> Maybe it would be best to change the MetaGME2UML interpreter to be 
> more intelligent about how it handles connections so that neither UDM 
> nor MetaGME has to change. Somehow that interpreter should recognize 
> the use of style 2 and converts it automatically to style 1. This 
> would be really easy if MetaGME2UML were a GReAT transformation.
>
> Matt Emerson
>
> ISIS-Vanderbilt University
>
>------------------------------------------------------------------------
>
>_______________________________________________
>gme-users mailing list
>gme-users at list.isis.vanderbilt.edu
>http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>  
>



More information about the gme-users mailing list