-
Notifications
You must be signed in to change notification settings - Fork 8
OntoUML Syntax Constraints
This document lists the constraints that are considered (either implemented or under development) in the verification service, as well as the related sources.
Constraints over Endurant Types apply to UML classes whose instances are endurants, i.e., classes decorated as «kind», «relatorKind», «modeKind», «qualityKind» or their specializations/generalizations. The main souce for the constraints below is available here.
- Every class representing an endurant type must be decorated with exactly one stereotype from the set {«kind», «relatorKind», «modeKind», «qualityKind», «subkind», «role», «phase», «category», «mixin», «roleMixin», «phaseMixin»}. Semi-rigid sortals are excluded from the profile.
- Every class representing an endurant sortal that is not a kind (including «subkind», «role», «phase») specializes a class decorated with a stereotype from the set {«kind», «relatorKind», «modeKind», «qualityKind»}.
- A class representing a kind cannot specialize another kind.
- A class cannot specialize more than one kind.
- A class representing a rigid type {«kind», «relatorKind», «modeKind», «qualityKind», «subkind», «category»} cannot specialize a class representing an antirigid type {«role», «phase», «roleMixin», «phaseMixin»}.
- A class representing a semi-rigid type {«mixin»} cannot specialize a class representing an anti-rigid type {«role», «phase», «roleMixin», «phaseMixin»}.
- A class representing a non-sortal {«category», «mixin», «roleMixin», «phaseMixin»} cannot specialize a class representing a sortal one {«kind», «relatorKind», «modeKind», «qualityKind», «subkind», «role» «phase»}.
- Given a non-sortal N, there must be a sortal S that specializes N, or specializes a non-sortal supertype common to both N and S.
Constraints over Relation Types apply to UML associations whose instances are endurants, i.e., classes decorated as «kind», «relatorKind», «modeKind», «qualityKind» or their specializations/generalizations. The main souce for the constraints below is available here.
- Associations decorated as «material» must have a derivation association towards a class decorated as «modeKind», for one-sided relations, and «relatorKind», for others.
- Classes decorated as «modeKind» and connected, through derivation, to some «material» relation must have a «characterization» relation towards one of the relata and an «external dependence» relation towards the other.
- Classes decorated as «relatorKind» and connected, through derivation, to some «material» relation must have a «mediation» relation towards each relata.
- Classes decorated «modeKind» and connected, through part-of relation, to some «relatorKind» must have a «characterization» relation towards one of the classes mediated (i.e., «mediation») by the relator.
- Classes decorated «modeKind» and connected, through part-of relation, to some «relatorKind» must have a «external dependence» relation towards at least one of the classes mediated (i.e., «mediation») by the relator.
- Associations decorated as «comparative» must have a derivation association towards a class decorated as «quality».
- Classes decorated as «qualityKind» and connected, through derivation, to some «comparative» relation must have a «characterization» relation towards a class specialized by the relata or the relata themselves.
https://ontology.com.br/ontouml/spec/#relationships
Constraints over Relation Types apply to UML associations whose instances are endurants, i.e., classes decorated as «kind», «relatorKind», «modeKind», «qualityKind» or their specializations/generalizations. The main souce for the constraints below is available here. OBS: the incorporation of parthood relations and related endurant stereotypes (i.e., «collectiveKind» and «quantityKind») into the new version of OntoUML is still under development, therefore parthood relations are only considered for the scope of traditional OntoUML, i.e., between substantials.