MML & MMT issues
Thomas  Kühne  (18/1/01)


From: "Thomas Kuehne" <kuehne@informatik.uni-kl.de>
To: "Andy Evans" <andye@cs.york.ac.uk>; "Tony Clark" <anclark@dcs.kcl.ac.uk>
Sent: Friday, January 19, 2001 11:36 AM
Subject: [Fwd: MML & MMT issues]
 

Hi Stuart,

I wish you a very satisfying 2001!

Colin and I are about to finish a paper which in part touches upon the issues you are discussing in the feasibility study in rearchitecting UML and the corresponding responses.  You are welcome to read the paper once it is finished which should be real soon now.

I have a few questions with regard to the feasibility study and later on a suggestion.

If you piece together the diagrams at pages 36, 38, and 57 of the feasibility study version 1.0 document, then it seems that ModelElement already receives feature "name : String" by virtue of inheriting from Object which in turn inherits from InstanceElement (the latter providing the feature). Why does ModelElement define "name : String " again? Am I missing something here?

At p. 59 the relationship from |  :Class name="Class" | to | :Attribute name="attributes" | is labelled "of".
I think that is an error and should be labelled "attributes".
Is that right, or am I on the wrong track?
Why can an attribute have multiple types? Is that you way to express a e.g., Set type for an Attribute?

At p. 38 you write "... a class Person can be viewed as an instance (or meta-instance) of the MML class Class".
Is it instance or meta-instance?
As far as I understand your concept of meta-instance, which also appears as a label on relationships) it is an "instance-of" relationship you would like to model. In other words, something, e.g. "DOG" is really an instance of "Object" but you would like to model an instance-of relationship to "Class". This *desired* instance-of relationship you label "meta-instance", right?
By the same token the *real* classifier of "DOG" is "Object" but its meta-classifier is "Class", right?

Apparently, the above is related to the multiple "of" problem raised by P. Sammut in one of the responses
(I have not yet covered all responses and need to read Paul's contribution another time).

With regard to the above problem, have you seen the UPM ad/2000-05-05.pdf document by IBM et al.?
They use the notion of a powertype (which is not at all well explained in the literature, do you know about it at all?).
This notion may be of use to you:
What if every class (e.g., Dog) had class "Class" as its powertype?
That would mean that there is automatically a class "Object"  (at the same level as Dog) " which is the root of all classes such as Dog.
In the UPM they have e.g., Role as the superclass for all role classes and the corresponding powertype RoleKind.
This implies that any instance of RoleKind is represented as a subclass of Role.

Substituting RoleKind with Class and Role with Object (a different Object compared to your Object subclass of Instance) would gain that any instance of Class would be automatically a subclass of Object achieving the scenario Colin and I described in our UML'2000 strict profiles paper. In that case, instances of e.g. Dog would be instances of class Dog but also (indirect) instances of Object, which is what you seem to aim at. Is that idea helpful in any way?

In a way your "metainstance" and the "powertype" relation have a similar goal in mind (pointing at the desired classifier), or do they not?

I would be very interested to learn what the current state of affairs is w.r.t. the feasibility study and its responses.
What are the latest insights on the matter, for example?

Kind Regards,

    Thomas

P.S.: What version of JDK is assumed by MMT? I tried it with an older one and it complains about "javax.swing" because it assumes these components at "sun.com.swing". Changing all that did not help, though, because things like gestures in the drag&drop package are missing in my older version.

P.P.S: You could add a hint for Win95/98 users who receive "ran out of environment space " (I think the wording is different) when running your batch files. In my case the "set mmtHome=..." commands caused errors because there was no space left to define new environment variables.
Adding "shell=COMMAND.COM /e:8192 /p" to my CONFIG.SYS file cured the problem (environment space is boosted up to 8k).
Also you could point out that an jdk with a properly installed swing library is assumed.


previous message

back to MMF page