Standard tab. The Bounds: field does
allow editing, but the changes have no effect.

Source

Standard tab. This contains a declaration for the
operation.

Constraints

Standard tab. There are no standard constraints defined
for Operation within the UML
metamodel.

Tagged Values

Standard tab. In the UML metamodel,
Operation has the following standard tagged values
defined.

semantics. The value is a
specification of the semantics of the operation.

derived (from the superclass,
ModelElement). Values
true, meaning the operation is
redundant???it can be formally derived from other elements,
or false meaning it cannot.

Note

Derived operations still have their value in
analysis to introduce useful names or concepts, and in
design to avoid re-computation.

Note

The UML Element metaclass from
which all other artifacts are derived includes the tagged
element documentation which is handled by
the documentation tab under
ArgoUML

Checklist

Standard tab for an Operation.

18.7.2. Operation Property Toolbar

Go up

Navigate up through the package structure.

New
operation

This creates a new operation within the owning class of
the current operation, navigating immediately to the
properties tab for that operation.

Tip

This is a very convenient way to add a number of
operations, one after the other, to a class.

New
parameter

This creates a new parameter for the operation,
navigating immediately to the properties tab for that
parameter.

New raised
signal

This creates a new raised signal for the operation,
navigating immediately to the properties tab for that raised
signal.

New
Datatype

This creates a new Datatype (see Section 16.3, “Datatype”) in the namespace of the owner of
the operation, navigating immediately to the properties tab
for that datatype.

New
Stereotype

This creates a new Stereotype (see Section 16.5, “Stereotype”) for the selected operation,
navigating immediately to the properties tab for that
stereotype.

Delete

This deletes the operation from the model

Warning

This is a deletion from the model
not just the diagram. If desired the
whole operation compartment can be hidden on the diagram
using the presentation tab (see Section 18.7.2, “Operation Property Toolbar”) or the
button 2 pop up menu for the class on the
diagram.

18.7.3. Property Fields For Operation

Name

Text box. The name of the operation. The name of an
operation has a leading lower case letter, with words
separated by “bumpy caps”.

Note

The ArgoUML critics will complain about operation
names that do not have an initial lower case letter.

Tip

If you wish to follow the Java convention of
constructors having the same name as the class, you will
violate this rule. Silence the critic by setting the
stereotype create for the constructor
operation.

Stereotype

Drop down selector. There are two UML standard
stereotypes for Operation (from the parent
metaclass, BehavioralFeature),
create and
destroy.

Tip

You should use create as the
stereotype for constructors, and destroy
for destructors (which are called “finalize”
methods under Java).

Navigate Stereotype

icon. If a stereotype has
been selected, clicking button 1 will navigate to the
stereotype property panel (see Section 18.4, “Stereotype”).

Owner

Text box. Records the class which contains this
operation.

Button 1 double click on the entry will navigate to
the class.

Visibility

Radio box, with entries public,
private, protected and
package.

public. The operation is
available to any artifact that can see the owning
class.

private. The operation is
available only to the owning class (and any inner
classes).

protected. The operation is
available only to the owning class, or artifacts that are
subclasses of the owning class.

package. The operation is
available only artifacts contained in the same
package.

Modifiers

Check box, with entries abstract,
leaf, root,
query, and
static.

abstract. This operation has no
implementation with this class. The implementation must be
provided by a subclass.

Important

Any class with an abstract operation must itself
be declared abstract.

leaf. The implementation of this
operation must not be overridden by any subclass.

root. The declaration of this
operation must not override a declaration of the operation
from a superclass.

query. This indicates that the
operation must have no side effects (i.e. it must not
change the state of the system). It can only return a
value.

Caution

Operations for user defined datatypes must always
check this modifier.

static. There is only one
instance of this operation associated with the class (as
opposed to one for each instance of the class). This is
the OwnerScope attribute of a
Feature metaclass within UML. Any
operation declared static is shown underlined on the class
diagram.

Concurrency

Radio box, with entries guarded,
sequential, and
concurrent.

guarded. Multiple calls from
concurrent threads may occur simultaneously to one
instance (on any guarded operation), but only one is
allowed to commence. The others are blocked until the
performance of the first operation is complete.

Caution

It is up to the system designer to ensure that
deadlock cannot occur. It is the responsibility of the
operation to implement the blocking behavior (as opposed
to the system).

sequential. Only one call to an
instance (of the class with the operation) may be
outstanding at any one time. There is no protection, and
no guarantee of behavior if the system violates this
rule.

concurrent. Multiple calls to one
instance may execute at the same time. The operation is
responsible for ensuring correct behavior. This must be
managed even if there are other sequential or synchronized
(guarded) operations executing at the time.

Parameter

Text area, with entries for all the parameters of the
operation (see Section 18.8, “Parameter”). A new
operation is always created with one new parameter,
return to define the return type of the
operation.

Button 1 double click on any of the parameters
navigates to that parameter. Button 2 click brings up a
pop up menu with two entries.

Move Up. Only available where
there are two or more parameters, and the parameter
selected is not at the top. It is moved up one
position.

Move Down. Only available where
there are two or more parameters listed, and the parameter
selected is not at the bottom. It is moved down one
position.