Class UML 2.3::AssociationClass
Description:
A model element that has both association and class properties. An AssociationClass
can be seen as an association that also has class properties, or as a class
that also has association properties. It not only connects a set of classifiers
but also defines a set of features that belong to the relationship itself
and not to any of the classifiers.
Direct Superclasses: Class,
AssociationDirect Subclasses: Class Precedence List: AssociationClass,
Class,
EncapsulatedClassifier,
StructuredClassifier,
BehavioredClassifier,
Association,
Classifier,
TemplateableElement,
Type,
PackageableElement,
ParameterableElement,
Namespace,
RedefinableElement,
NamedElement,
Relationship,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
isActive : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
part :
Property (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedTrigger :
Trigger (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
endType :
Type (1 *); -- source
Association![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
isDerived : Boolean (1 1); -- source
Association![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
memberEnd :
Property (2 *); -- source
Association![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
navigableOwnedEnd :
Property (0 *); -- source
Association![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedEnd :
Property (0 *); -- source
Association![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
relatedElement :
Element (1 *); -- source
Relationship![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=147182%3A85D360DF19C98A482086F9A3F4EB4285)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: disjoint_attributes_ends() : Boolean;
Description: The owned attributes and owned ends of an AssociationClass are disjoint
Expression: ownedAttribute->intersection(ownedEnd)->isEmpty()
Signature: cannot_be_defined() : Boolean;
Description: An AssociationClass cannot be defined between itself and something else.
The OCL used here is not normative.Editor's notes: (1) allParents not allparents,(2) -> not > (3) Need a forAll to deal with collection of Boolean???
Expression: self.endType->excludes(self) and self.endType->collect(et|et.allParents()->excludes(self))->forAll(x|x)
Original: self.endType->excludes(self) and self.endType->collect(et|et.allparents()->excludes(self))
Operations:
No additional operations.
Send questions or comments to
[email protected].