Class UML 2.3::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,
TemplateableElement,
Type,
PackageableElement,
ParameterableElement,
Namespace,
RedefinableElement,
NamedElement,
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
Behavior ownedParameterSet :
ParameterSet (0 *); -- source
Behavior The ParameterSets owned by this Behavior.
{
composite}
Subsets: Namespace.ownedMember
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 Determines whether an object specified by this class is active or not.
If true, then the owning class is referred to as an active class. If false,
then such a class is referred to as a passive class.
Default value: FALSE
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
StructuredClassifier part :
Property (0 *); -- source
StructuredClassifier role :
ConnectableElement (0 *); -- source
StructuredClassifier classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier ownedTrigger :
Trigger (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
Classifier The template parameter that exposes this element as a formal parameter.
Redefines: ParameterableElement.templateParameter
Opposite: ClassifierTemplateParameter.parameteredElement
useCase :
UseCase (0 *); -- source
Classifier templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement package :
Package (0 1); -- source
Type visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
Namespace References the PackageableElements that are members of this Namespace as
a result of either PackageImports or ElementImports.
{
readonly,
derived}
Subsets: Namespace.member
member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace 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 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.ownedParameter->
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].