Hi Chad, concerning =================================== >By the way: >The attribute "hibernateCascade" was already present in the UML Metamodel. It was and is completely derived >from other information, so in my opinion it is bad UML modeling style to model it as an attribute (even a >frozen attribute, which makes no sense for a calculated value) It's a typical method. This bad modeling >style is found at several places in the meta models. On the other hand, the new >"hibernateAggregationCascade" has the character of an attribute, it reflects only a property defined in XML >and makes it accessible to VSL. > Can you explain how its bad modeling style? An attribute can be calculated and not be bad modeling style, can you explain where you're getting your opinion from? UML allows you the freedom to express things the w!
ay you want, and we don't think calcuated attributes are bad. =================================== Well, there are many sources. If I take simply "The UML Language Reference Manual", 2nd ed (covers UML 2.0), an attribute is described on page 187 like this: "Semantics: An attribute is a named element within a classifier that describes the values that instances of the classifier may hold. Every instance of the classifier or one of its descandants has a slot holding a value of the given type. ..." (static attributes are described at the following page) The semantics of a operation is described like this: "An operation specifies a transformation on the state of the target object .... or a query that returns a value to the caller of the operation....An operation specifies the result of a behavior... A method is a procedure that implements an operation. It has an algorithm or procedure description." A query is described as follows: "An operat!
ion that returns a value but does not alter the state of the system; a
n operation without side effects." In the light of this definitions, "getHibernateCascade" was and is a typical query method. It has an algorithm to calculate the returned value and has no side effects. In "The UML Language Reference Manual", there is a notion of a derived attribute (which has a specific notation!), it's not described at the attribute description but at the definition of "derived element": "A element that can be computed from other elements and is included for clarity or for design purposes even though it adds no semantic information." "getHibernateCascade" was and is not a derived attribute, because: - it consists only of new semantic information, namely how the return value is calculated - it is not an instance value (the definition of attribute together with the definition of derived element results in that a derived attribute described instance values which are derived). I could cite many other sources for the distinction betw!
een attribute and operation/method. I know, sometimes it is not possible to make a clear distinction, but in most of the cases. Klaus >>UML allows you the freedom to express things the way you want" No, UML has semantics defined. There is possibility for interpretation, but in the limits of the UML semantic. Some special aspects may throw special light on the constructs, e.g. metamodelling, but the basic semantics are clear.
-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
Andromda-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/andromda-devel
|