Class UML 2.4.1::FunctionBehavior
Description:
A function behavior is an opaque behavior that does not access or modify
any objects or other external data.
Direct Superclasses: OpaqueBehaviorDirect Subclasses: Class Precedence List: FunctionBehavior,
OpaqueBehavior,
Behavior,
Class,
EncapsulatedClassifier,
StructuredClassifier,
BehavioredClassifier,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
RedefinableElement,
NamedElement,
TemplateableElement,
ElementProperties:
body : String (0 *); -- source
OpaqueBehavior language : String (0 *); -- source
OpaqueBehavior context :
BehavioredClassifier (0 1); -- source
Behavior isReentrant : Boolean (1 1); -- source
Behavior ownedParameter :
Parameter (0 *); -- source
BehaviorReferences a list of parameters to the behavior which describes the order
and type of arguments that can be given when the behavior is invoked and
of the values which will be returned when the behavior completes its execution.
{
composite,
ordered}
Subsets: Namespace.ownedMember
ownedParameterSet :
ParameterSet (0 *); -- source
Behavior postcondition :
Constraint (0 *); -- source
Behavior precondition :
Constraint (0 *); -- source
Behavior redefinedBehavior :
Behavior (0 *); -- source
Behavior specification :
BehavioralFeature (0 1); -- source
Behavior extension :
Extension (0 *); -- source
Class isAbstract : Boolean (1 1); -- source
Class isActive : Boolean (1 1); -- source
Class nestedClassifier :
Classifier (0 *); -- source
Class ownedAttribute :
Property (0 *); -- source
Class ownedOperation :
Operation (0 *); -- source
Class ownedReception :
Reception (0 *); -- source
Class superClass :
Class (0 *); -- source
Class ownedPort :
Port (0 *); -- source
EncapsulatedClassifier ownedConnector :
Connector (0 *); -- source
StructuredClassifierReferences the connectors owned by the classifier.
{
composite}
Subsets: Classifier.feature, Namespace.ownedMember
part :
Property (0 *); -- source
StructuredClassifierReferences the properties specifying instances that the classifier owns
by composition. This association is derived, selecting those owned properties
where isComposite is true.
{
readonly,
derived}
The spec does not provide a function to compute this derived property! role :
ConnectableElement (0 *); -- source
StructuredClassifier classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier attribute :
Property (0 *); -- source
Classifier collaborationUse :
CollaborationUse (0 *); -- source
Classifier feature :
Feature (0 *); -- source
Classifier generalization :
Generalization (0 *); -- source
Classifier inheritedMember :
NamedElement (0 *); -- source
Classifier isFinalSpecialization : Boolean (1 1); -- source
Classifier ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier ownedUseCase :
UseCase (0 *); -- source
Classifier powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier redefinedClassifier :
Classifier (0 *); -- source
Classifier representation :
CollaborationUse (0 1); -- source
Classifier substitution :
Substitution (0 *); -- source
Classifier templateParameter :
ClassifierTemplateParameter (0 1); -- source
ClassifierThe template parameter that exposes this element as a formal parameter.
Redefines: ParameterableElement.templateParameter
Opposite: ClassifierTemplateParameter.parameteredElement
useCase :
UseCase (0 *); -- source
Classifier elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
Namespace member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace package :
Package (0 1); -- source
Type visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement isLeaf : Boolean (1 1); -- source
RedefinableElement redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement redefinitionContext :
Classifier (0 *); -- source
RedefinableElement clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElement templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: types_of_parameters() : Boolean;
Description: The types of parameters are all data types, which may not nest anything
but other datatypes.
The OCL used here is not normative.Editor's notes: Is this an operator or a constraint?
Expression: true
Original: def: hasAllDataTypeAttributes(d : DataType) : Boolean = d.ownedAttribute->forAll(a | a.type.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(a.type)) self.ownedParameters->forAll(p | p.type.notEmpty() and p.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(p))
Signature: one_output_parameter() : Boolean;
Description: A function behavior has at least one output parameter.
Expression: self.ownedParameters-> select(p | p.direction=#out or p.direction=#inout or p.direction=#return)->size() >= 1
Operations:
No additional operations.
Send questions or comments to
[email protected].