Book a Demo

Author Topic: Property Strings at Association Ends  (Read 14334 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #15 on: August 25, 2005, 07:01:16 am »
Property Strings can be made to appear by putting the text in the Constraint field of the appropriate AssociationEnd.

HTH,
Paolo

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

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Property Strings at Association Ends
« Reply #16 on: August 25, 2005, 07:58:41 am »
I think the notation question is moot (except for use as a work-a-round).  Given this excerpt from the EA Help file, I don't think property strings belong in the tagged value control.
Quote
Tagged values are a convenient way of adding additional information to an element outside that directly supported by UML. The UML provides the Tagged Value element for just this purpose.  
Property Strings are directly supported in the UML.  It goes on to say that tagged values are most often used by code generators and other tools.  From this I assume that tagged values are not meant for display in diagrams.

The UML spec does provide presentation descriptions for property strings;  IMHO t'would be helpfull if EA were to support it as well as the property string element.  The concepts of subset, redefinition, and union are important components of specalization.  I would also suggest the same for GeneralizationSets and the more generalized concept of PowerTypes.
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #17 on: August 25, 2005, 03:35:23 pm »
Quote
I think the notation question is moot (except for use as a work-a-round).  Given this excerpt from the EA Help file, I don't think property strings belong in the tagged value control.
Property Strings are directly supported in the UML.  It goes on to say that tagged values are most often used by code generators and other tools.  From this I assume that tagged values are not meant for display in diagrams.

The UML spec does provide presentation descriptions for property strings;  IMHO t'would be helpful if EA were to support it as well as the property string element.  The concepts of subset, redefinition, and union are important components of specalization.  I would also suggest the same for GeneralizationSets and the more generalized concept of PowerTypes.
Well, you got the nudge-nudge-wink-wink in my last post...

GeneralizationSets and PowerTypes were also the subject of one of my earliest posts.  In my view they are very powerful constructs that make models more "natural".  Shouldn't be too hard to implement, I would have thought...

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

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Property Strings at Association Ends
« Reply #18 on: August 25, 2005, 03:39:58 pm »
Seriously (for a change)

I still don't understand what a derived association is.  Could someone provide a world example.

please

bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #19 on: August 25, 2005, 03:54:29 pm »
Quote
Seriously (for a change)

I still don't understand what a derived association is.  Could someone provide a world example.

please

bruce
OK... When considering models, one can look at a set of elements and their relationships and make an assertion about them.  Each relationship is either Canonical or Derived.  That is, between any three nodes (say classes A B C) there may be three relations A-B B-C A-C.  It may well be that A-C  is the transitive closure of A-B-C thus A-B and B-C are Canonical and A-C is Derived.  If you think in terms of ORM functional notation it's more obvious.

Two examples: the grandparent_of(x) ::= parent_of(parent_of(x)).  manager_of_worker(x) ::= manager_of_unit(organisational_unit_worked_for(x)).  grandparrent_of and manager_of_worker are both derived associations.

This allows you to show whatever information is meaningful for a diagram.  It's great for showing information at different levels of detail - so long as you can clearly show which associations are Canonical and which aren't.  For my models, I use a "/" at the front of the name to indicate "IsDerived" and use the database to adorn these lines differently.

HTH,
Paolo
« Last Edit: August 25, 2005, 03:55:18 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Property Strings at Association Ends
« Reply #20 on: August 25, 2005, 04:09:34 pm »
Far out and solid! Right on baby.  ;D
I have always "seen" these without actually drawing them.  Now I know what they are .....

bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #21 on: August 25, 2005, 04:30:07 pm »
Quote
Far out and solid! Right on baby.  ;D
I have always "seen" these without actually drawing them.  Now I know what they are .....

bruce
For my next trick...

If you put the formal definition of the derivation somewhere, you can have a checkable model...  In your refactoring, did you accidentally delete one arc of the transitive closure (3 diagrams away) so that you no longer have the canonical relations to support the derivation? Or, it's more usual use is that multiplicities multiply along the path so you can confirm that not only is the pathing right, but that the multiplicities at both ends are correct.  Both are required for "functional identity".  The test for derivation.

Finally, you can pick two classes and ask for the canonical and derived associations.  If there aren't any derived associations, you can ask the model to "infer" them and then confirm later...

Paolo
« Last Edit: August 25, 2005, 04:30:41 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

JohnWSaundersIII

  • EA User
  • **
  • Posts: 50
  • Karma: +0/-0
    • View Profile
Re: Property Strings at Association Ends
« Reply #22 on: August 25, 2005, 05:21:25 pm »
Quote
For my models, I use a "/" at the front of the name to indicate "IsDerived" and use the database to adorn these lines differently.

and

Quote
If there aren't any derived associations, you can ask the model to "infer" them and then confirm later...


Can you please elaborate on these?
John Saunders

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Property Strings at Association Ends
« Reply #23 on: August 25, 2005, 05:54:26 pm »
Let me try another example of derived associations. Consider these classes:
  • A composite class Car
  • A class Engine
  • A class Wheels
and these associations:
  • A car Has_a Engine (Composition)
  • A car Has_a wheels (Composition)
  • An Engine Powers the Wheels (association)
Constraints on the Powers association, written in OCL, specify that the Engine and Wheels, related by the Powers association are in the same Car.  

When the car is instantiated, I would postulate that the Powers association is derived from the global Powers association in Car and the OCL constraints on Powers.
Verbal Use Cases aren't worth the paper they are written upon.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Property Strings at Association Ends
« Reply #24 on: August 25, 2005, 06:19:59 pm »
Quote
[size=13][SNIP][/size](sub-quotes lost by board... :()
Can you please elaborate on these?
John,

The first is accomplished by a simple update query on the t_Connector table.  If the first character of the name is "/" (in my case) set LineColor to xxxxx.  Reload the form and voila!

The second would be done by automation.  I haven't got there yet for EA, but I've done it in the past for my own conceptual modeling tool (Not UML).  Its a combinatorial explosion, and you want to make sure you have the shorter/st path/s.  The point being, you can usually get anywhere from anywhere else.  The issue is: Is it meaningful for you to want to get from there to here? If so, the model should be able to tell you how to do it.

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