Class UML 2.5::Class
Description:
A Class classifies a set of objects and specifies the features that characterize
the structure and behavior of those objects. A Class may have an internal
structure and Ports.
Direct Superclasses: BehavioredClassifier,
EncapsulatedClassifierDirect Subclasses: Stereotype,
Node,
Component,
Behavior,
AssociationClassClass Precedence List: Class,
BehavioredClassifier,
EncapsulatedClassifier,
StructuredClassifier,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
TemplateableElement,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/right-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
isActive : Boolean (1 1); -- source
ClassDetermines whether an object specified by this Class is active or not.
If true, then the owning Class is referred to as an active Class. If false,
then such a Class is referred to as a passive Class.
Default value: FALSE
![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
part :
Property (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/right-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
feature :
Feature (0 *); -- source
ClassifierSpecifies each Feature directly defined in the classifier. Note that there
may be members of the Classifier that are of the type Feature but are not
included, e.g., inherited features.
{
readonly}
Derived union with sources: (attribute, ownedConnector, ownedReception, ownedOperation, ownedAttribute)
Subsets: Namespace.member
Opposite: Feature.featuringClassifier
![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
visibility :
VisibilityKind (0 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=103792%3A4785AB8229B45FBF2A0BB3DEB3D650DB)
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()
Operations:
Signature: superClass.1() : Class;
Description: Derivation for Class::/superClass : Class
Expression: result = (self.general()->select(oclIsKindOf(Class))->collect(oclAsType(Class))->asSet())
Signature: extension.1() : Extension;
Description: Derivation for Class::/extension : Extension
Expression: result = (Extension.allInstances()->select(ext | let endTypes : Sequence(Classifier) = ext.memberEnd->collect(type.oclAsType(Classifier)) in endTypes->includes(self) or endTypes.allParents()->includes(self) ))
Send questions or comments to
[email protected].