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=107098%3A3239A76D0CBE42245D52A75C52C7738F)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
isActive : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/right-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
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=107098%3A3239A76D0CBE42245D52A75C52C7738F)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/right-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier The set of InterfaceRealizations owned by the BehavioredClassifier. Interface
realizations reference the Interfaces of which the BehavioredClassifier
is an implementation.
{
composite}
Subsets: Element.ownedElement, NamedElement.clientDependency
Opposite: InterfaceRealization.implementingClassifier
![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedTrigger :
Trigger (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/right-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
representation :
CollaborationUse (0 1); -- source
Classifier References a collaboration use which indicates the collaboration that represents
this classifier.
Subsets: Classifier.collaborationUse
![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/right-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
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=107098%3A3239A76D0CBE42245D52A75C52C7738F)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/right-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
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=107098%3A3239A76D0CBE42245D52A75C52C7738F)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=107098%3A3239A76D0CBE42245D52A75C52C7738F)
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].