OntoUML / ontouml-models

The OntoUML/UFO Catalog is a collaborative, structured and open-source catalog of OntoUML and UFO ontology models.
https://w3id.org/ontouml-models/
Other
46 stars 44 forks source link

How to interpret generalization sets? #7

Closed claudenirmf closed 3 years ago

claudenirmf commented 3 years ago

Should we create generalization sets on every set of generalizations shared a single connection to the general class even if not clearly stated in the model? What constraints should be assumed as default? Overlapping and incomplete?

Consider the example below of Agent being specialized into Service Provider and Target Customer:

Screen Shot 2021-11-06 at 18 20 11
pedropaulofb commented 3 years ago

Hi!

IMHO:

Should we create generalization sets on every set of generalizations shared

a single connection to the general class even if not clearly stated in the model?

Yes.

What constraints should be assumed as default? Overlapping and incomplete?

Yes.

Kind regards - Cordiali saluti - Atenciosamente, Pedro Paulo Favato Barcelos

Em sáb., 6 de nov. de 2021 às 18:21, Claudenir Fonseca < @.***> escreveu:

Should we create generalization sets on every set of generalizations shared a single connection to the general class even if not clearly stated in the model? What constraints should be assumed as default? Overlapping and incomplete?

Consider the example below of Agent being specialized into Service Provider and Target Customer:

[image: Screen Shot 2021-11-06 at 18 20 11] https://user-images.githubusercontent.com/12445213/140618258-6501f669-3f08-4855-8873-aab7cb34f0cf.png

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/unibz-core/ontouml-models/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACB5Y3YMSTE5JOPGMWVYDALUKVPZDANCNFSM5HPZ5JDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

tgoprince commented 3 years ago

In the UML specification it is said that:

When two or more lines are drawn to the same arrowhead and labeled by a single GeneralizationSet name, i.e., “shared target” style as illustrated in Figure 9.16, the specific Classifiers are part of the same GeneralizationSet.

uml-gs

With either of the notation forms above, if there are no labels on the Generalization arrows it cannot be determined from the diagram whether there are any GeneralizationSets in the mode

Thus, I think we should not infer generalization sets in the situation mentioned by @claudenirmf.

claudenirmf commented 3 years ago

I think there is a broader, yet related, issue regarding hidden model information. As you can see in this comment I made on a recent PR, even though authors may not be explicit about cardinality constraints or association direction, the serialization will assume some default value at least.

In other words, the way we document models may change the author's original intent.

My suggestion in this regard is that you include in the diagrams all information that may be hidden in the original source. The reasoning is "if it is unavoidable that we risk changing the original's conceptualization, we should at the very least be as clear as possible about it".

The drawback is that we lose the information about what modelers are leaving out of their models, which is also a very interesting information to have.

We may move this discussion to a new issue, but my opinion it may be better to simply rename this one.

tgoprince commented 3 years ago

GS examples

tgoprince commented 3 years ago

We decided to only assume the existence of generalization sets if there is a label or its constraints are visible.

If only the label is shown, we MUST assume that it is incomplete and overlapping.