New level of abstraction

Posted by Thomas Mercer-Hursh on 26-Oct-2006 16:44

I have been poking around on the Sparx website to see if I can find some automated way of converting a class with the stereotype, i.e., one that one might have created automatically from a .df, into a regular class so that one can combine it with the associated classes which are not persisted in the database. While I haven't found that yet, I did run into the definition for an additional level of abstraction in the typical MDA transformation hierarchy. As some of you remember, the standard trio is:

CIM - Computational Independent Model

PIM - Platform Independent Model

PSM - Platform Specific Model.

Paolo Cantoni and Jim Shaw came up with an additional level which is further abstracted than the CIM, i.e., a place for models which apply regardless of the specific domain. This includes things like Collection and Container, i.e., the sorts of things that one would put in a framework. What did they call this abstraction layer? Why, Domain Independent Model, of course, .... DIM!

All Replies

Posted by Phillip Magnay on 26-Oct-2006 17:08

Paolo Cantoni and Jim Shaw came up with an additional

level which is further abstracted than the CIM, i.e.,

a place for models which apply regardless of the

specific domain. This includes things like

Collection and Container, i.e., the sorts of things

that one would put in a framework. What did they

call this abstraction layer? Why, Domain Independent

Model, of course, .... DIM!

Jokes aside, it seems to me that a such a Domain Independent Model could not really be considered an additional abstraction of the CIM (unless I'm missing something, and I don't have a lot to go on by your post). If you're referring to things like Collection, Containers, and such, then I don't think we're really talking about things that are above a computation independent level. However, I do see the notion that there is a domain-independent aspect of each of the conventional MDA levels. That is, in the CIM, PIM, and PSM levels, there could be elements which may be considered to be domain-independent in addition to elements which are certainly domain-specific.

I'll have to give this some further thought. Can you send the link to what you found? Or did you make this up?

Posted by Thomas Mercer-Hursh on 26-Oct-2006 17:17

The post where I found it mentioned was here http://www.sparxsystems.com.au/cgi-bin/yabb/YaBB.pl?board=UMLPRO;action=display;num=1151750696;start=0#0

I don't know that I would think it was as important a distinction as the other three, but it has a certain appeal to me (other than the humor) because I have thought for a long time that a given model needs a framework against which it can be generated. The CIM is a model of a particular domain, but it is likely that one will have framework entities which underly any CIM and are independent of the domain. Isn't that a higher level of abstraction? Seems like it to me.

This thread is closed