Class UML 2.3::Stereotype
Description:
A stereotype defines how an existing metaclass may be extended, and enables
the use of platform or domain specific terminology or notation in place
of, or in addition to, the ones used for the extended metaclass.
Direct Superclasses: ClassDirect Subclasses: Class Precedence List: Stereotype,
Class,
EncapsulatedClassifier,
StructuredClassifier,
BehavioredClassifier,
Classifier,
TemplateableElement,
Type,
PackageableElement,
ParameterableElement,
Namespace,
RedefinableElement,
NamedElement,
ElementProperties:
icon :
Image (0 *); -- source
Stereotype profile :
Profile (0 1); -- source
Stereotype 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
StructuredClassifier References the connectors owned by the classifier.
{
composite}
Subsets: Classifier.feature, Namespace.ownedMember
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 References the collaboration uses owned by the classifier.
{
composite}
Subsets: Element.ownedElement
feature :
Feature (0 *); -- source
Classifier generalization :
Generalization (0 *); -- source
Classifier inheritedMember :
NamedElement (0 *); -- source
Classifier isFinalSpecialization : Boolean (1 1); -- source
Classifier If true, the Classifier cannot be specialized by generalization. Note that
this property is preserved through package merge operations; that is, the
capability to specialize a Classifier (i.e., isFinalSpecialization =false)
must be preserved in the resulting Classifier of a package merge operation
where a Classifier with isFinalSpecialization =false is merged with a matching
Classifier with isFinalSpecialization =true: the resulting Classifier will
have isFinalSpecialization =false.
Default value: FALSE
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier The optional template signature specifying the formal template parameters.
{
composite}
Subsets: Element.ownedElement
Redefines: TemplateableElement.ownedTemplateSignature
Opposite: RedefinableTemplateSignature.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 useCase :
UseCase (0 *); -- source
Classifier The set of use cases for which this Classifier is the subject.
Opposite: UseCase.subject
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 member :
NamedElement (0 *); -- source
Namespace A collection of NamedElements identifiable within the Namespace, either
by being owned or by being introduced by importing or inheritance.
{
readonly}
Derived union with sources: (ownedRule, ownedMember, importedMember, ownedUseCase, inheritedMember, feature, attribute, ownedTrigger, ownedBehavior, role, ownedConnector, ownedReception, ownedOperation, ownedAttribute, nestedClassifier)
ownedMember :
NamedElement (0 *); -- source
Namespace A collection of NamedElements owned by the Namespace.
{
composite,
readonly}
Derived union with sources: (ownedRule, ownedUseCase, ownedTrigger, ownedBehavior, ownedConnector, ownedReception, ownedOperation, ownedAttribute, nestedClassifier)
Subsets: Element.ownedElement, Namespace.member
Opposite: NamedElement.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 References the contexts that this element may be redefined from.
{
readonly}
Derived union with sources: ()
clientDependency :
Dependency (0 *); -- source
NamedElement Indicates the dependencies that reference the client.
Opposite: Dependency.client
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: name_not_clash() : Boolean;
Description: Stereotype names should not clash with keyword names for the extended model
element.
Expression: true
Signature: generalize() : Boolean;
Description: A Stereotype may only generalize or specialize another Stereotype.
Expression: generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype))
Operations:
Signature: profile.1() : Profile;
Description: A stereotype must be contained, directly or indirectly, in a profile.
Expression: result = self.containingProfile()
Signature: containingProfile() : Profile;
Description: The query containingProfile returns the closest profile directly or indirectly containing this stereotype.
The OCL used here is not normative.Editor's notes: This calls Package.containingProfile() which has a bug.
Expression: true
Original: result = self.namespace.oclAsType(Package).containingProfile()
Send questions or comments to
[email protected].