Class UML 2.3::Class
Description:
Class has derived association that indicates how it may be extended through
one or more stereotypes. Stereotype is the only kind of metaclass that
cannot be extended by stereotypes.
Direct Superclasses: EncapsulatedClassifier,
BehavioredClassifierDirect Subclasses: Stereotype,
Node,
Component,
Behavior,
AssociationClassClass Precedence List: Class,
EncapsulatedClassifier,
StructuredClassifier,
BehavioredClassifier,
Classifier,
TemplateableElement,
Type,
PackageableElement,
ParameterableElement,
Namespace,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
isActive : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
part :
Property (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedTrigger :
Trigger (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=79362%3ADB5AD2541B8384667758D4583455D471)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: CMOF_14_3_18() : Boolean;
Description: 14.3 [18] Class must not be active
see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/class-is-active
Expression: not isActive
Signature: CMOF_14_3_15() : Boolean;
Description: 14.3 [15] Only one member attribute of a Class may have isId=true.
see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/class-has-more-than-one-id
Expression: self->closure(general)->union(self)->attribute->asSet()->select(p:Property | p.isID)->size() < 2
Signature: CMOF_14_3_10a() : Boolean;
Description: 14.3 [10] The following properties must be empty
Class::nestedClassifier
Property::qualifier
see also: https://sites.google.com/site/metamodelingantipatterns/catalog/mof/class-has-nested-classifier
Expression: nestedClassifier->isEmpty()
Signature: passive_class() : Boolean;
Description: A passive class may not own receptions.
Expression: not self.isActive implies self.ownedReception.isEmpty()
Operations:
Signature: inherit(inhs : NamedElement; ) : NamedElement;
Description: The inherit operation is overridden to exclude redefined properties.
The OCL used here is not normative.Editor's notes: reject not excluding
Expression: result = inhs->reject(inh |
ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))
Original: result = inhs->excluding(inh |
ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))
Send questions or comments to
[email protected].