Software Disclaimer

Class UML 2.3::GeneralizationSet


A generalization set is a packageable element whose instances define collections of subsets of generalization relationships.

Direct Superclasses: PackageableElement

Direct Subclasses:

Class Precedence List: GeneralizationSet, PackageableElement, ParameterableElement, NamedElement, Element


generalization : Generalization (0 *); -- source GeneralizationSet
isCovering : Boolean (1 1); -- source GeneralizationSet
isDisjoint : Boolean (1 1); -- source GeneralizationSet

Indicates whether or not the set of specific Classifiers in a Generalization relationship have instance in common. If isDisjoint is true, the specific Classifiers for a particular GeneralizationSet have no members in common; that is, their intersection is empty. If isDisjoint is false, the specific Classifiers in a particular GeneralizationSet have one or more members in common; that is, their intersection is not empty. For example, Person could have two Generalization relationships, each with the different specific Classifier: Manager or Staff. This would be disjoint because every instance of Person must either be a Manager or Staff. In contrast, Person could have two Generalization relationships involving two specific (and non-covering) Classifiers: Sales Person and Manager. This GeneralizationSet would not be disjoint because there are instances of Person which can be a Sales Person and a Manager.
Default value: FALSE

powertype : Classifier (0 1); -- source GeneralizationSet
visibility : VisibilityKind (1 1); -- source PackageableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
templateParameter : TemplateParameter (0 1); -- source ParameterableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element


Signature: maps_to_generalization_set() : Boolean;
Description: The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.
Expression: true

Signature: generalization_same_classifier() : Boolean;
Description: Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.
Expression: generalization->collect(g | g.general)->asSet()->size() <= 1


No additional operations.

Send questions or comments to