Abstract Class UML 2.5::BehavioralFeature
Description:
A BehavioralFeature is a feature of a Classifier that specifies an aspect
of the behavior of its instances. A BehavioralFeature is implemented (realized)
by a Behavior. A BehavioralFeature specifies that a Classifier will respond
to a designated request by invoking its implementing method.
Direct Superclasses: Feature,
NamespaceDirect Subclasses: Reception,
OperationClass Precedence List: BehavioralFeature,
Feature,
RedefinableElement,
Namespace,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
concurrency :
CallConcurrencyKind (1 1); -- source
BehavioralFeature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
isAbstract : Boolean (1 1); -- source
BehavioralFeature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
method :
Behavior (0 *); -- source
BehavioralFeature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
ownedParameter :
Parameter (0 *); -- source
BehavioralFeature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
ownedParameterSet :
ParameterSet (0 *); -- source
BehavioralFeature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
raisedException :
Type (0 *); -- source
BehavioralFeature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
featuringClassifier :
Classifier (0 1); -- source
Feature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
isStatic : Boolean (1 1); -- source
Feature![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/right-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
ownedRule :
Constraint (0 *); -- source
NamespaceSpecifies a set of Constraints owned by this Namespace.
{
composite}
Subsets: Namespace.ownedMember
Opposite: Constraint.context
![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
name : String (0 1); -- source
NamedElement![](/se-interop/image/right-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
nameExpression :
StringExpression (0 1); -- source
NamedElementThe StringExpression used to define the name of this NamedElement.
{
composite}
Subsets: Element.ownedElement
![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=142802%3AB7560712683EDD2A698CFE96246B1BCF)
owner :
Element (0 1); -- source
ElementConstraints:
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: outputParameters() : Parameter;
Description: The ownedParameters with direction out, inout, or return.
Expression: result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))
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 must have different
signatures.
Expression: result = ((n.oclIsKindOf(BehavioralFeature) and ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()) implies Set{self}->including(n.oclAsType(BehavioralFeature))->isUnique(ownedParameter->collect(p| Tuple { name=p.name, type=p.type,effect=p.effect,direction=p.direction,isException=p.isException, isStream=p.isStream,isOrdered=p.isOrdered,isUnique=p.isUnique,lower=p.lower, upper=p.upper })) )
Signature: inputParameters() : Parameter;
Description: The ownedParameters with direction in and inout.
Expression: result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))
Send questions or comments to
[email protected].