Book a Demo

Author Topic: Model transformations and Name Uniqueness  (Read 2758 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Model transformations and Name Uniqueness
« on: May 18, 2005, 07:11:35 am »
This topic was spawned from the following thread:

http://www.sparxsystems.com.au/cgi-
bin/yabb/YaBB.pl?board=general;action=display;num=1115988682


The relevant quotation is (bruce (sargassso) is speaking
here...):

Quote
I know what I mean here, but I'm having trouble expressing it, probably the same trouble I have with reading the UML metamodels.  Its essentially a philosophical comment.  Class "Fred" is an object (thing) that exists in the world.  In fact,
if it is implemented on many PC's there are many Fred's.  In fact, even if its only on one PC there are probably at least two Fred's - the source code and the runnable code.  Backing even further out, there are possibly (probably) another set of Fred's in the EA model used to design it.  Depending on your (the
observer's) point of view, only one of these Fred's is the real Fred, the others are all abstractions.  If you are the executing O/S the only Fred that's real is the runnable code, all others are abstractions of little or no importance.  If you  are a coder the real Fred is the source code file open in your editor, the runnable is an artifact produced through voluntary acts controlled by you.  Etc etc.  IMO the UML is supposed to be able
to represent all these real Fred's. But, I don't believe that changing one of those Fred's in a model ,( say to make a defect more consistent  :))can change all the Fred's in the world.


Many years ago now, I had occasion to give a talk at a data quality conference in Sydney Australia entitled: From Conceptual Model to Physical Model.  The central thesis of the talk was that there are essentially three kinds of models:  Conceptual, Logical and Physical.  I gave specific meanings to each of these - since the term Logical Model is much abused both in the literature and the industry.  Recall this was many years before the formalism of MDA, and UML had only just come out.

With respect to bruce's quote.  Person - the object in the world exists in the Conceptual Model.  Person exists ONLY once.  The objective of the Conceptual Model is to model the domain.

The Logical Model starts the process of transforming to physicality by allowing that there might be more than one person:
"PublicPerson" - holding those features of (Conceptual)Person that are accessible to all users, and
"PrivatePerson" - holding those features of Person that are available only to certain users.

The Physical Model completed the process by defining:
"PrivatePersonInEnvironmentA" versus "PublicPersonINEnvironmentB"
etc.

Only certain types of transforms were allowed between each model so that from the physical model one could "look back" and recognise the original conceptual model element.

In modern terms, I guess the Conceptual and Logical Models were PIMs (Platform Independent Model) and the Physical Model was a PSM (Platform Specific Model).

Hopefully, you can see that some of bruce's issues are resolved by dispersing the "Fred"s into the specific models.  I solved the naming problem (n my example) by formally qualifying the name.

Now here's where EA comes in.  With the new transformation templates, it should be possible to accommodate the various models I outlined (in addition to other models you might require).  These days, I'd probably talk about multiple physical models transformed from the Logical Model.

Now, back to bruce's problem.  It seems to me, that according to the UML specifications there can be many Freds in the model - so long as there isn't more than one Fred in a particular namespace.  Since a UML package is a namespace, you only need to put each Fred in a separate package.  As I understand EA's transformation process (and having tried some trivial experimentation) it automatically transforms into another package, so even if you don't qualify the names (as I did) you preserve name uniqueness automatically.

Anybody tried them out and can confirm my conjectures?

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

thomaskilian

  • Guest
Re: Model transformations and Name Uniqueness
« Reply #1 on: May 20, 2005, 01:46:32 am »
Hi Paolo (and Bruce),
I'm off for the next 2 weeks. Hopefully I'll have some contribution when I'm back again.

mikewhit

  • EA User
  • **
  • Posts: 608
  • Karma: +0/-0
  • Accessing ....
    • View Profile
Re: Model transformations and Name Uniqueness
« Reply #2 on: May 20, 2005, 05:03:23 am »
... take a hard-hat and safety-harness ...

thomaskilian

  • Guest
Re: Model transformations and Name Uniqueness
« Reply #3 on: May 20, 2005, 05:17:23 am »
No ladders around, for sure ;)