Previous Table of Contents Next


4.4.2 Behavioral Classes


4.4.2.1 Argument

   Argument is an expression describing how to determine an actual value passed in a CallAction.

   In the metamodel an Argument is a composite part of a CallAction and contains a meta-attribute, value, of type Expression. It states how the actual argument is determined when the owning CallAction is executed.

   Superclasses

   ModelElement

   Attributes

   value

An expression determining the actual Argument instance when executed.

type:

multiplicity:

Expression
exactly one

   References

   callAction


defined by:

multiplicity:

inverse:

CallArguments::action

zero or one
CallAction::actualArgument

4.4.2.2 BehavioralFeature Abstract

   A behavioral feature refers to a dynamic feature of a model element, such as an operation or method. In the metamodel BehavioralFeature specifies a behavioral aspect of a Classifier. All different kinds of behavioral aspects of a Classifier, such as Operation and Method, are subclasses of BehavioralFeature.

   BehavioralFeature is an abstract metaclass.

   Superclasses

   Feature

   Contained Elements

   Parameter

   Attributes

   isQuery

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

type:

multiplicity:

Boolean
exactly one

   References

   parameter

An ordered list of Parameters for the BehavioralFeature. To call the BehavioralFeature, the caller must supply a list of values compatible with the types of the Parameters.

class:

defined by:

multiplicity:

inverse:

Parameter
BehavioralFeatureParameter::parameter
zero or more; ordered
Parameter::behavioralFeature

   Constraints

   All Parameters should have a unique name. [C-4-1]

   The type of the Parameters should be included in the Namespace of the Classifier. [C-4-2]

4.4.2.3 CallAction

   A call action is an action resulting in an invocation of an operation.

   The purpose of a CallAction is to identify the actual Arguments used in a specific invocation of an Operation.

   Superclasses

   ModelElement

   References

   operation

The Operation that will be invoked when the CallAction is executed.

class:

defined by:

multiplicity:

Operation
CalledOperation::operation
exactly one

   actualArgument

The Argument(s) supplied to the CallAction.

class:

defined by:

multiplicity:

inverse:

Argument
CallArguments::actualArgument
zero or more; ordered
Argument::callAction

   Constraints

   The number of arguments must be the same as the number of the Operation. [C-4-3]

4.4.2.4 Event

   Event is a specification of an observable occurrence. The occurrence that generates an event instance is assumed to take place at an instant in time.

   Superclasses

   ModelElement

   Contained Elements

   Parameter

   References

   parameter

References the set of ordered Parameter instances that comprise the signature of the Event.

class:

defined by:

multiplicity:

inverse:

Parameter
EventParameter::parameter
zero or more; ordered
Parameter::event

4.4.2.5 Interface

   Interface is a named set of operations that specify the behavior of an element.

   In the metamodel, an Interface contains a set of Operations that together define a service offered by a Classifier realizing the Interface. A Classifier may offer several services, which means that it may realize several Interfaces, and several Classifiers may realize the same Interface.

   Superclasses

   Classifier

   Constraints

   An Interface can only contain Operations. [C-4-4]

   An Interface cannot contain any ModelElements. [C-4-5]

   All Features defined in an Interface are public. [C-4-6]

4.4.2.6 Method

   Method is the implementation of an Operation. It specifies the algorithm or procedure that effects the results of an Operation.

   Superclasses

   BehavioralFeature

   Attributes

   body

A specification of the Method in some appropriate form (such as a programming language). The exact form of a Method’s specification and knowledge of the language in which it is described is outside the scope of the CWM.

type:

multiplicity:

ProcedureExpression
exactly one

   References

   specification

References the Operation that the Method implements.

class:

defined by:

multiplicity:

inverse:

Operation
OperationMethod::specification
exactly one
Operation::method

   Constraints

   If the realized Operation is a query, then so is the Method. [C-4-7]

   The signature of the Method should be the same as the signature of the realized Operation. [C-4-8]

   The visibility of the Method should be the same as for the realized Operation. [C-4-9]

   The realized Operation must be a feature (possibly inherited) of the same Classifier as the Method. [C-4-10]

   If the realized Operation has been overridden one or more times in the ancestors of the owner of the Method, then the Method must realize the latest overriding (that is, all other Operations with the same signature must be owned by ancestors of the owner of the realized Operation). [C-4-11]

   There may be at most one Method for a given Classifier (as owner of the Method) and Operation (as specification of the Method) pair. [C-4-12]

4.4.2.7 Operation

   Operation is a service that can be requested from an object to effect behavior. An Operation has a signature, which describes the parameters that are possible (including possible return values).

   In the metamodel, an Operation is a BehavioralFeature that can be applied to instances of the Classifier that contains the Operation.

   Operation is the specification, while Method is the implementation.

   Superclasses

   BehavioralFeature

   Attributes

   isAbstract

If true, then the Operation does not have an implementation, and one must be supplied by a descendant. If false, the Operation must have an implementation in the class or inherited from an ancestor.

type:

multiplicity:

Boolean
exactly one

   References

   method

References the set of Method instances defined for the Operation.

class:

defined by:

multiplicity:

inverse:

Method
OperationMethod::method
zero or more
Method::specification

4.4.2.8 Parameter

   Parameters are used in the specification of operations, methods, and events. A Parameter may include a name, type, and direction of communication.

   Superclasses

   ModelElement

   Attributes

   defaultValue

An Expression whose evaluation yields a value to be used when no argument is supplied for the Parameter.

type:

multiplicity:

Expression
zero or one

   kind

Specifies what kind of a Parameter is required.

type:

multiplicity:

ParameterDirectionKind
exactly one

   References

   behavioralFeature

References the BehavioralFeature instance for which the Parameter instance describes a parameter.

class:

defined by:

multiplicity:

inverse:

BehavioralFeature
BehavioralFeatureParameter::behavioralFeature
zero or one
BehavioralFeature::parameter

   event

References the Event instance for which the Parameter instance describes a parameter.

class:

defined by:

multiplicity:

inverse:

Event
EventParameter::event
zero or one
Event::parameter

   type

Designates a Classifier to which an argument value must conform.

class:

defined by:

multiplicity:

Classifier
ParameterType::type
exactly one