Conventions on uml:Generalization Connectors

Title: uml:Generalization connects two classes or two connectors

Identifier: rule:generalization-btw-classes-or-connectors

Statement: uml:Generalization connectors connect a uml:Class element to its superclass uml:Class element, or a uml:Connector to its super-property uml:Connector.

Description:

The uml:Generalization connector signifies either:

  • a class-subClass relation and is transformed into rdfs:subClassOf relation standing between source and target classes, or

  • a property-subProperty relation and is transformed into rdfs:subPropertyOf relation standing between source and target properties

Title: uml:Generalization connector with no name

Identifier: rule:generalization-name

Statement: uml:Generalization connectors shall have no name or a target role specified.

Description:

The uml:Generalization connectors must have no name (see the General convention on connector names) nor source/target roles specified in the UML model.

Title: uml:Generalization connector with no multiplicity

Identifier: rule:generalization-multiplicity

Statement: uml:Generalization connectors shall have no target or source multiplicity specified.

Description:

The multiplicity must not be specified neither at the target nor at the source end of the uml:Generalization connector.

Title: Proxy classes

Identifier: rule:generalization-proxy-classes

Statement: For classes defined in external models proxy uml:Class elements should be defined.

Description:

In case a model class should inherit a class from an external model then proxies must be created for those classes. For example, if Buyer specialises an org:Organization, then a proxy for org:Organization must be created in the org package.

Title: Disjoint subclasses

Identifier: rule:generalization-disjoint-subclasses

Statement: Subclasses of the same class, represented by multiple uml:Generalization connectors pointing to the same superclass, are assumed disjoint by default. Exceptions may exist and can be encoded.

Description:

In this specification, the subclasses are assumed disjoint by default, unless otherwise specified in the transformations script, or explicitly marked on the generalisation relation with <<non-disjoint>> stereotype. For the converse case the <<disjoint>> stereotype shall be used.

Title: Equivalent classes

Identifier: rule:generalization-equivalent-classes

Statement: Equivalent classes can be represented by using stereotypes on the uml:Generalization connectors.

Description:

In case two classes are equivalent, then the \(<<equivalent>>\) or \(<<complete>>\) stereotype should be used as a marker.

Title: Connector generalization and allowed targets for involved connector ends

Identifier: rule:generalization-btw-connectors-and-allowed-targets

Statement: Ends of the same side (either source or target) of two connectors connected with a generalization relation can be attached to the same class or two different ones connected with a generalization relation.

Description: For a pair of connectors with a generalization relation linking them, each of the sides of their ends can be attached to the following:

  • same class or

  • two classes connected with a generalization relation

Title: Connector generalization and required class generalization for involved distinct connector targets

Identifier: rule:generalization-btw-connectors-and-class-generalization-for-distinct-connector-targets

Statement: uml:Class elements linked to the same side ends of two connectors having generalization relation between them must also be connected with a generalization connector.

Description:

In case the ends of the same side (either source or target) of two connectors connected with a generalization relation refer to two different classes (see rule [rule:generalization-btw-connectors-and-allowed-targets]), these classes must be also linked with a generalization relation.

Title: Connector generalization and direction and roles of related connectors

Identifier: rule:generalization-connectors-direction-and-roles

Statement: The connectors linked by the generalization connector must have the same direction and roles defined

Description: Unidirectional connectors linked with a generalization connector must have the same direction. In addition, role names have to be provided for the proper ends. The second requirement applies also to bidirectional connectors.

Title: Direction of connector generalization and linked classes generalization relations is the same.

Identifier: rule:direction-of-generalization-btw-connectors-and-classes-match

Statement: Direction of a generalization relation between connectors follows the direction of generalization relation between the relevant classes (if the latter one exists).

Description:

In case the ends (either source or target) of two connectors are associated with different classes (see rules [rule:generalization-btw-connectors-and-allowed-targets], [rule:generalization-btw-connectors-and-class-generalization-for-distinct-connector-targets]), the directions of the connector generalization and class generalization relations must match.

This applies to target connector ends (for unidirectional connectors) or to the both sides of connector ends (for bidirectional connectors).