Re: Syntax changes in UML 2.0
- From: "H. S. Lahman" <h.lahman@xxxxxxxxxxx>
- Date: Thu, 28 Jul 2005 20:46:34 GMT
Responding to Kaeppler...
I was wondering what was the reason to change the syntax for components in UML2? I don't see any real improvements and even think the old one (which is now deprecated) was more expressive (you could separate a component from e.g. a class by its shape, now you have to look at the stereotype).
The immediate reason was probably the need to describe application partitioning at a level higher than Class. Previously the <<subsystem>> stereotype was applied to Package. But a Package is about organizing model elements rather than modeling a problem space. A subsystem needs to have problem space semantics so it had to be made a stereotype of something else (Component <- Class).
As it happens, I agree with you that the v2 definition of Component is not a very good one. IMO the problem is that OMG is trying to make UML a general purpose modeling language rather than an OOA/D modeling language. The only way to do that is by abstracting the semantics to the point where it simply defines model element syntax.
This is basically what they are doing with Component. The reason Component is derived from Class (and Subsystem is derived from Component) is to allow it to have attributes and operations. That's fine at the syntax level, but it is not so helpful in explaining why one would want a Component rather than a Class. One can define Component as a composition of elements. But what sorts of elements? Under what conditions? Etc. IOW, it gets tough to say what a Component /is/ without bringing in a particular semantic modeling context.
As a result UML v2 is full of situations where the new "generic" semantics just doesn't make sense in a particular context like OOA/D. Subsystem is an example. No matter how pasteurized the definitions of Class, Component, and Subsystem are, there is simply no way that a Subsystem can be derived from a Class in an OOA/D context because a Class is a logically indivisible set in the problem space while Subsystems contain heterogeneous sets.
************* There is nothing wrong with me that could not be cured by a capful of Drano.
H. S. Lahman hsl@xxxxxxxxxxxxxxxxx Pathfinder Solutions -- Put MDA to Work http://www.pathfindermda.com blog: http://pathfinderpeople.blogs.com/hslahman (888)OOA-PATH
.
- References:
- Syntax changes in UML 2.0
- From: Matthias Kaeppler
- Syntax changes in UML 2.0
- Prev by Date: Re: Use cases question
- Next by Date: Re: Use Case -
- Previous by thread: Re: Syntax changes in UML 2.0
- Next by thread: Use Case -
- Index(es):
Relevant Pages
|