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=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
isActive : Boolean (1 1); -- source
Class![](/se-interop/image/right-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
nestedClassifier :
Classifier (0 *); -- source
ClassThe Classifiers owned by the Class that are not ownedBehaviors.
{
composite,
ordered}
Subsets: Namespace.ownedMember
![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
part :
Property (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/right-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
importedMember :
PackageableElement (0 *); -- source
NamespaceReferences the PackageableElements that are members of this Namespace as
a result of either PackageImports or ElementImports.
{
readonly,
derived}
Subsets: Namespace.member
![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
visibility :
VisibilityKind (0 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=108266%3A20B0807FE178F4BF14E92DD08E8BE59F)
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].