comp.lang.ada
 help / color / mirror / Atom feed
* re: re: ada95 and uml
@ 2001-05-02 22:36 "Riehle, Richard"
  2001-05-03  8:18 ` Robert C. Leif, Ph.D.
  0 siblings, 1 reply; 2+ messages in thread
From: "Riehle, Richard" @ 2001-05-02 22:36 UTC (permalink / raw)




Robert Palasek <bobpalasek@home.com <mailto:bobpalasek@home.com>> wrote:


"Riehle, Richard" wrote:

>> From my study of UML and my knowledge of Ada, I have concluded there is a
>> substantial linguistic
>> discontinuity.   Ada has a rich model of program development that cannot
be
>> completely represented
>> with UML.   Translating from UML to Ada or Ada to UML is guaranteed to
lose
>> something in the
>> translation.


>I know a little about each, but am not an expert yet with either.
>
>But I don't understand the idea that you are supposed to be
>able to generate one from the other.  That seems wrong and
>misguided to me. 
>
> A model is an abstraction that carries some proper subset of
>salient points of the thing being modeled.  For it to
>be useful, the model has to leave other stuff out.  
>If it doesn't leave anything out, it's just an
>alternate representation.

Richard Riehle replies:

When I refer to "linguistic continuity" I am suggesting that the same
linguistic model should
be used for the entire life-cycle of a software product.   This is, of
course, an unrealized ideal
at this stage of software engineering practice.   That is, we have few
models in which the 
requirements effort produces output that is linguistically consistent with
the analysis, which
is in-turn linguistic consistent with the design tools, which is in-turn
linguistically consistent 
with the implementation tools.    On most projects, there is a slight
discontinuity between
the modeling notations and the implementation language.    

As an extreme example, suppose I decided to create a software application in
Smalltalk but
used, as my modeling lanuage, a structured analysis toolset.   The
discontinuity would be
stark.  In fact, it would be so stark that an observer might question my
judgement if not my
sanity.   

This discontinuity is quite evident when trying to match the current Ada
standard to UML.  Those
who seek to cross the chasm nearly always find themselves compromising
either the modeling 
tool, UML, or the possibilities of Ada.    I call this "linguistic
/continuity/discontinuity," a phrase I 
adapted from my reading of Bertrand Meyer's "Object_Oriented Software
Construction" in which 
he uses the term, "linguistic modular units."   To me, "linguistic
continuity" is somewhat more 
descriptive, even somewhat more general in describing the problem we face.


UML seems to have been designed with C++ in mind.   I realize the designers
of UML have a larger
view of the programming world, but their employer has an interest in selling
products to the largest
developer market possible.  That would be C++, at this point.   Little
vestigial C++ constructs are
noticeable throughout the UML.  Even the methods in a class box are written
with parentheses, 
just as we would write a C/C++ function with no parameters.   To be fair,
there are also Ada-like 
constructs.  These constructs are particularly evident when defining
constraints.  

The discontinuity between Ada and UML is not so much syntactic as
architectural.    Even with the
addition of stereotypes, one is hard-pressed to model some of the more
important architectural
constructs of Ada.   Rational's technology support people have offerred
suggestions, but most of
those have proven to provide solutions somewhat short of what we might like.
It is somewhat like
the notion of expressibility versus expressivness.  In many cases we can
find some way to express
an Ada idea in UML, but it such expression may be clumsy and fit badly
within the larger design.

Lest this be interpreted as a criticism of UML or its authors, let me be
clear.   UML is an excellent
design for modeling class-oriented designs.   It was intelligently done by
intelligent people.   One
cannot expect that a modeling language can offer linguistic continuity with
every programming
language.   Ada is different enough that it deserves its own modeling tools,
perhaps derived from
UML.   At this point, the Ada marketplace is not large enough to warrant the
investment.   Consequently,
we will have to live with the linguistic discontinuity between UML and Ada
until someone finds the time
and money to make things better.    

Richard Riehle



-- 
Posted from monterey.nps.navy.mil [131.120.18.26] 
via Mailgate.ORG Server - http://www.Mailgate.ORG



^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: re: ada95 and uml
  2001-05-02 22:36 re: ada95 and uml "Riehle, Richard"
@ 2001-05-03  8:18 ` Robert C. Leif, Ph.D.
  0 siblings, 0 replies; 2+ messages in thread
From: Robert C. Leif, Ph.D. @ 2001-05-03  8:18 UTC (permalink / raw)
  To: comp.lang.ada

From: Bob Leif
To: Richard Riehle et al.
One possible solution is to transform or more likely add to the Object
Management Group UML technology by transforming their DTD into a schema. I
must confess that I find the OMG web site to be confusing. XMLSpy was able
to almost completely translate one of their DTDs. Unfortunately, the result
had errors, for instance, duplicating the name attribute. I strongly prefer
schemas because they are much more readable than DTDs.

-----Original Message-----
From: comp.lang.ada-admin@ada.eu.org
[mailto:comp.lang.ada-admin@ada.eu.org]On Behalf Of "Riehle, Richard"
Sent: Wednesday, May 02, 2001 3:36 PM
To: comp.lang.ada@ada.eu.org
Subject: re: re: ada95 and uml




Robert Palasek <bobpalasek@home.com <mailto:bobpalasek@home.com>> wrote:


"Riehle, Richard" wrote:

>> From my study of UML and my knowledge of Ada, I have concluded there is a
>> substantial linguistic
>> discontinuity.   Ada has a rich model of program development that cannot
be
>> completely represented
>> with UML.   Translating from UML to Ada or Ada to UML is guaranteed to
lose
>> something in the
>> translation.


>I know a little about each, but am not an expert yet with either.
>
>But I don't understand the idea that you are supposed to be
>able to generate one from the other.  That seems wrong and
>misguided to me.
>
> A model is an abstraction that carries some proper subset of
>salient points of the thing being modeled.  For it to
>be useful, the model has to leave other stuff out.
>If it doesn't leave anything out, it's just an
>alternate representation.

Richard Riehle replies:

When I refer to "linguistic continuity" I am suggesting that the same
linguistic model should
be used for the entire life-cycle of a software product.   This is, of
course, an unrealized ideal
at this stage of software engineering practice.   That is, we have few
models in which the
requirements effort produces output that is linguistically consistent with
the analysis, which
is in-turn linguistic consistent with the design tools, which is in-turn
linguistically consistent
with the implementation tools.    On most projects, there is a slight
discontinuity between
the modeling notations and the implementation language.

As an extreme example, suppose I decided to create a software application in
Smalltalk but
used, as my modeling lanuage, a structured analysis toolset.   The
discontinuity would be
stark.  In fact, it would be so stark that an observer might question my
judgement if not my
sanity.

This discontinuity is quite evident when trying to match the current Ada
standard to UML.  Those
who seek to cross the chasm nearly always find themselves compromising
either the modeling
tool, UML, or the possibilities of Ada.    I call this "linguistic
/continuity/discontinuity," a phrase I
adapted from my reading of Bertrand Meyer's "Object_Oriented Software
Construction" in which
he uses the term, "linguistic modular units."   To me, "linguistic
continuity" is somewhat more
descriptive, even somewhat more general in describing the problem we face.


UML seems to have been designed with C++ in mind.   I realize the designers
of UML have a larger
view of the programming world, but their employer has an interest in selling
products to the largest
developer market possible.  That would be C++, at this point.   Little
vestigial C++ constructs are
noticeable throughout the UML.  Even the methods in a class box are written
with parentheses,
just as we would write a C/C++ function with no parameters.   To be fair,
there are also Ada-like
constructs.  These constructs are particularly evident when defining
constraints.

The discontinuity between Ada and UML is not so much syntactic as
architectural.    Even with the
addition of stereotypes, one is hard-pressed to model some of the more
important architectural
constructs of Ada.   Rational's technology support people have offerred
suggestions, but most of
those have proven to provide solutions somewhat short of what we might like.
It is somewhat like
the notion of expressibility versus expressivness.  In many cases we can
find some way to express
an Ada idea in UML, but it such expression may be clumsy and fit badly
within the larger design.

Lest this be interpreted as a criticism of UML or its authors, let me be
clear.   UML is an excellent
design for modeling class-oriented designs.   It was intelligently done by
intelligent people.   One
cannot expect that a modeling language can offer linguistic continuity with
every programming
language.   Ada is different enough that it deserves its own modeling tools,
perhaps derived from
UML.   At this point, the Ada marketplace is not large enough to warrant the
investment.   Consequently,
we will have to live with the linguistic discontinuity between UML and Ada
until someone finds the time
and money to make things better.

Richard Riehle



--
Posted from monterey.nps.navy.mil [131.120.18.26]
via Mailgate.ORG Server - http://www.Mailgate.ORG





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-05-03  8:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-02 22:36 re: ada95 and uml "Riehle, Richard"
2001-05-03  8:18 ` Robert C. Leif, Ph.D.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox