Hi Matthieu.

My $0.02 on the subject:

1) Constant operations: why not use the boolean value
   specified in the UML 1.4 spec, p. 81:

     isQuery

     Specifies whether an execution of the Feature
     leaves the state of the system unchanged. True
     indicates that the state is unchanged; false
     indicates that side-effects may occur.


2) Final operations: why not use the boolean value specified
   on p. 102:

     isLeaf

     If true, then the implementation of the
     operation may not be overriden by a descendant
     class. If false, then the implementation of the
     operation may be overridden by a descendant
     class (but it need not be overridden).


3) Virtual operations: this one's a bit trickier.  My
   personal preference (being a stickler for UML
   conformance) would be to use a stereotype or a tagged
   value to represent the virtual nature of an Operation.
   However, this presents 2 new problems:

     1) stereotypes can't currently be applied to
        attributes or operations in Dia; and

     2) tagged values are nowhere to be seen in
        Dia.

   I am interested in rectifying this situation
   and can probably whip up the code for stereotypes
   and tagged values in a few days, if you're
   interested.  However it may not be ideal for
   Dia2code; extra logic would be required to search
   for the specific tagged value or stereotype that
   denotes virtual-ness.

   The miscellaneous advantages of having tagged
   values and stereotypes for attributes & operations
   would include all the pre-defined ones listed in the
   UML spec:

     Standard Element   Applies To   Usage
     ---------------------------------------------
     <<create>>         Operation    constructors
     <<destroy>>        Operation    destructors
     persistence        Attribute    "transitory" or
                                     "persistent" (for
                                     example, for
                                     use with an EJB)
     semantics          Operation    specifies the
                                     meaning of the
                                     Operation (sort
                                     of a comment)

   Also the following would probably be useful for
   programs like Dia2Code:

     <<primaryKey>>     Attribute    for DBs
     <<unique>>         Attribute    "   "
     <<cdata>>          Attribute    for XML schemas
                                     and DTDs

Anyway that's my rather long-winded $0.02.

Cheers,

Johann


[EMAIL PROTECTED] wrote:
> Message: 1
> Date: Mon, 28 Jan 2002 00:53:18 +0100
> From: Matthieu Sozeau <[EMAIL PROTECTED]>
> To: Dia mailing list <[EMAIL PROTECTED]>
> Subject: [PATCH] adding constant to the operations properties
> Organization: /home
> Reply-To: [EMAIL PROTECTED]
> 
> This is a little patch to add the constant property to an UML class operation. 
>Although that's not standard UML, i find it usefull for C++ code output and for 
>clarity of the interfaces :). I will add such support to dia2code now.
> I was wondering if I could add the final and virtual properties to methods 
>(operations) in the UML module. Perhaps most of users don't want it, so I'm just 
>asking (at lease I'll add it for me).
> 
> Note: The patch must be applied in objects/UML as you certainly deduced.

<SNIP/>
_______________________________________________
Dia-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/dia-list

Reply via email to