Randall wrote:
> > UML is a language for modeling systems. The diagrammatic portion,
> > as popular as it is, is really not the essence of UML.
> (01)
Ian wrote:
> > I'm afraid I've got to disagree with you. When you look at how
> > UML is actually *used* all you can really say about it is that
> > it's a notation. The diagrams *are* the essence of UML because UML
> > is used for so many different purposes (e.g. data modelling,
> > software modelling, system modelling, military architecture,
> > services, ontologies, etc.) there is little in the way of common
> > semantic across the various uses of the language. For particular
> > uses of it (e.g. UPMS, MODAF M3, SysML, etc.), there may be
> > formal semantics, and even some ontological commitments (e.g.
> > SysML and MODAF M3 commit to physical entities in the real world),
> > but for UML in general, you'd be struggling to find a common thread.
> (02)
John wrote:
> I agree with Ian on this point. Any notation can be used in an open-
> ended number of ways, and it's essential to distinguish the notation
> from the way it is being used. That is one of the main themes of the
> note below.
> (03)
This is true, but it misses Randall's point. It more important to
distinguish the specified semantics of the notation from the way it is
being used. (04)
The UML standard defines a "metamodel" of all the modeling concepts in
the language, and a UML "model" is a collection of those concepts -- a
population of the metamodel. A UML "model" is _not_ a collection of
diagrams. UML also defines a graphical representation for some of the
modeling concepts. (Most of the others may be represented by additional
text juxtposed to the labels on the graphical elements.) A UML tool
maintains a UML model, and it supports diagrams that are graphical
_views_ of the model. A UML tool exports and imports UML models via a
standard XML exchange form; there is as yet no standard exchange form
for the graphical views. If you move models between tools, as I often
do, you are keenly aware of the difference between the model and the
diagrams. The essence of UML is the model. (05)
As Ian says, UML is _used_ both as defined and with implicit mappings to
implementation concepts that are only vaguely related to the model
elements that are the UML meaning of the symbols. For example, a
diagram that intends a UML class box to be interpreted as an XML element
definition, without actually placing any "stereotype" markup on the
class, is a specialized (and marginally valid) interpretation of the
notational element that cannot be gleaned from the UML standard. That
people routinely do this has nothing to do with UML-the-standard. Many
people make bad UML diagrams and give them interpretations that are not
supported by the standard. Such folk represent different speech
communities that use the same set of signs with different meanings. If
you use UML as Visio, it is not UML and it is not the fault of the
specification. As Doug Schenck (one of the authors of EXPRESS) once
said, "a Pepsi bottle can be used as a hammer, but that isn't the intent
of its specification." (06)
That said, OMG has canonized the idea of "UML Profiles", which are
essentially alternative uses of UML diagram elements to represent marked
up model elements with interpretations specified outside of UML itself.
This is an "extension" capability defined in the UML specification and
supported by UML tools. It gives rise to instantly supported languages
with a standard export form (XMI), allowing for the creation of
standards whose specification contains the implementation (much like XML
schemas). As Ian points out, there is a SOA profile, a DODAF/MODAF
profile, an OWL profile, and several others. It is to everyone's
advantage to associate these things with UML and with UML tools, but
they are _different_ languages; they are not UML. In the same way, ORM
is not Visio, even though one of the most common supporting
implementations is the Visio profile. (07)
If we are going to talk about what UML is, then you have to get past
what your next door neighbor thinks it is, or what he uses it for, and
look at the content of the standard itself, or at authoritative
writeups. OMG is very much in the business of capturing modeling
concepts and representations of them. UML is a specification of one set
of each. OMG has also standardized others, in some cases by extending
the UML graphics using features of the UML standard. Other communities
have internally adopted their own, and in some cases confused them with UML. (08)
UML tool vendors are in the business of making as many of those as
possible easy to do with their tools, so as to expand their market.
They don't care if you use UML class boxes to represent XML elements or
hog pens, as long as you buy their tool to make the drawings. But that
is a different mindset. They are selling a model management tool and a
drawing tool in the same box. The only interpretations they make of
your model are the required consistencies with the rules of the
metamodel (which is the conceptual schema for their internal database of
model elements). They are happy if you want to call it UML and even
happier if you brand your drawing with their tool's name. (09)
(I will leave to John and Randall the discussion of human-computer
interface factors. That is not my thing.) (010)
-Ed (011)
P.S. Lest there be any doubt, I am the NIST voting representative to
the OMG, and model specification is why we are members. UML is a
critical part of our knowledge engineering programs, and part of the
text of the standard was written by our experts. It ain't perfect by
any means, but it has become an important tool. (012)
P.P.S. On the other side of the "use of a notation" coin, at one of the
Ontolog Summits Natasha Noy commented that many published OWL models are
just UML models written in OWL -- all the classes and properties are
primitive. (013)
--
Edward J. Barkmeyer Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263 Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263 FAX: +1 301-975-4694 (014)
"The opinions expressed above do not reflect consensus of NIST,
and have not been reviewed by any Government authority." (015)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (016)
|