views:

30

answers:

1

I am asking if it is necessary or useful to have semantic variances in UML. Would it not be more useful when it was more formal and therefore verifiable or even used for rapid prototyping. What is the benefit of the variance? Can you give some examples?

+1  A: 

I would prefer to get rid of the semantic variation points of the UML. A typical example that causes confusion when I model diagrams is the multiple classification semantic variation point. When modeling generalizations in a class diagram, you can choose to assume that the diagram admits multiple classification (an object can be instance of two or more classes not related by a subtype relationship) or not.

Usually designers with a background programming implicitly assume that this is not possible while at the conceptual level many of us tend to implicitly assume that this is possible. You can imagine the result.

Jordi Cabot
Good example of semantic variation point, which would be actually quite hard to remove, either choice would be bad for some UML users (although single class inheritance is IMHO Java sickness...), maybe we need some sort of compromise like single class inheritance plus traits (and some good semantics for them). This is one of examples where IMHO UML is not OO enough, it makes too much assumptions (about target language being C++...). Other examples of that might be the challenge of modeling for dynamic languages.
Gabriel Ščerbák