Software Disclaimer

Abstract Class UML 2.3::BehavioralFeature

Description:

A behavioral feature owns zero or more parameter sets.

Direct Superclasses: Namespace, Feature

Direct Subclasses: Reception, Operation

Class Precedence List: BehavioralFeature, Namespace, Feature, RedefinableElement, NamedElement, Element

Properties:

concurrency : CallConcurrencyKind (1 1); -- source BehavioralFeature
isAbstract : Boolean (1 1); -- source BehavioralFeature
method : Behavior (0 *); -- source BehavioralFeature
ownedParameter : Parameter (0 *); -- source BehavioralFeature
ownedParameterSet : ParameterSet (0 *); -- source BehavioralFeature
raisedException : Type (0 *); -- source BehavioralFeature
elementImport : ElementImport (0 *); -- source Namespace
importedMember : PackageableElement (0 *); -- source Namespace
member : NamedElement (0 *); -- source Namespace
ownedMember : NamedElement (0 *); -- source Namespace

A collection of NamedElements owned by the Namespace.
{composite, readonly}
Derived union with sources: (ownedRule, ownedParameterSet, ownedParameter)
Subsets: Element.ownedElement, Namespace.member
Opposite: NamedElement.namespace

ownedRule : Constraint (0 *); -- source Namespace
packageImport : PackageImport (0 *); -- source Namespace
featuringClassifier : Classifier (0 *); -- source Feature
isStatic : Boolean (1 1); -- source Feature
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
visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

Signature: CMOF_14_3_17() : Boolean;
Description: 14.3 [17] BehavioralFeature must be sequential https://sites.google.com/site/metamodelingantipatterns/catalog/mof/behavioral-feature-is-not-sequential
Expression: concurrency = CallConcurrencyKind::sequential

Operations:

Signature: isDistinguishableFrom(n : NamedElement; ns : Namespace; ) : Boolean;
Description: The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.
Expression: result = if n.oclIsKindOf(BehavioralFeature) then if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty() then Set{}->including(self)->including(n)->isUnique(bf | bf.ownedParameter->collect(type)) else true endif else true endif



Send questions or comments to [email protected].