Previous | Table of Contents | Next |
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 |
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]
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]
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 |
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]
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]
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 |
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 |