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=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
isActive : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/right-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
part :
Property (0 *); -- source
StructuredClassifier References the properties specifying instances that the classifier owns
by composition. This association is derived, selecting those owned properties
where isComposite is true.
{
readonly,
derived}
The spec does not provide a function to compute this derived property!![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedTrigger :
Trigger (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/right-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
feature :
Feature (0 *); -- source
Classifier Specifies each feature defined in the classifier.
{
readonly}
Derived union with sources: (attribute, ownedConnector, ownedReception, ownedOperation, ownedAttribute)
Subsets: Namespace.member
Opposite: Feature.featuringClassifier
![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/right-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
elementImport :
ElementImport (0 *); -- source
Namespace References the ElementImports owned by the Namespace.
{
composite}
Subsets: Element.ownedElement
Opposite: ElementImport.importingNamespace
![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/right-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
namespace :
Namespace (0 1); -- source
NamedElement Specifies the namespace that owns the NamedElement.
{
readonly}
Derived union with sources: (package)
Subsets: Element.owner
Opposite: Namespace.ownedMember
![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/right-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
ownedElement :
Element (0 *); -- source
Element The Elements owned by this element.
{
composite,
readonly}
Derived union with sources: (ownedComment, nameExpression, packageImport, ownedRule, ownedMember, elementImport, templateBinding, substitution, ownedUseCase, ownedTemplateSignature, generalization, collaborationUse, ownedTrigger, ownedBehavior, interfaceRealization, ownedConnector, ownedReception, ownedOperation, ownedAttribute, nestedClassifier)
Opposite: Element.owner
![](/se-interop/image/down-arrow.png?hunchentoot-session=91377%3A84A62BF34AA22158F60C5BC66BF06A87)
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].