comp.lang.ada
 help / color / mirror / Atom feed
* Ada95 and UML
@ 2001-04-11 14:35 Joe Simon
  2001-04-11 15:54 ` Ted Dennison
                   ` (3 more replies)
  0 siblings, 4 replies; 27+ messages in thread
From: Joe Simon @ 2001-04-11 14:35 UTC (permalink / raw)



Howdie.

we are currently working on defining standards for doing OO development
using UML with Ada 95 as the target implementation language. We are looking
at the broad scope and we will then concentrate on real-time embedded and
safettyy critical projects (i.e. are there any UML type constructs that we
want to avoid for RT - Safety Critical).

I am attempting to acertain what the implications are in using UML with
Ada95 (The UML development tool we are using as of now is Telelogic Tau, it
generates each object as a separate package with only one type, making it
difficult to use Ada the way we are used to).

Any thoughts on this subject would be greatly appreciated.

Thanks,

Joe Simon

Lockheed Martin Systems Integration
Owego, NY
jb.simon@lmco.com





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

* Re: Ada95 and UML
  2001-04-11 14:35 Ada95 and UML Joe Simon
@ 2001-04-11 15:54 ` Ted Dennison
  2001-04-11 16:15   ` Marin David Condic
  2001-04-11 17:16   ` Pat Rogers
  2001-04-11 16:06 ` Pat Rogers
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 27+ messages in thread
From: Ted Dennison @ 2001-04-11 15:54 UTC (permalink / raw)


In article <9b1q2v$s6j4@cui1.lmms.lmco.com>, Joe Simon says...
>I am attempting to acertain what the implications are in using UML with
>Ada95 (The UML development tool we are using as of now is Telelogic Tau, it
>generates each object as a separate package with only one type, making it
>difficult to use Ada the way we are used to).

If you think that's fun, try the reverse-engineering. It likes to make a single
class out of each enumeration value. :-) 

Actually though, "1 class = (1 tagged type and 1 package)" is pretty much the
model for Ada. You can combine multiple tagged types in a single package, but
they should be *very* closely related if you do this (as their implementations
can break each other's encapsulation).

We used that tool about 3 product name changes and 2 owners ago. I hope you have
better luck with it than we did. Perhaps its much improved by now. I wouldn't
know. We couldn't get the previous version to install (even with our best
engineers talking to their tech support).

My suggestion would be to not bother with its code generation; just use it as a
drafting tool.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: Ada95 and UML
  2001-04-11 14:35 Ada95 and UML Joe Simon
  2001-04-11 15:54 ` Ted Dennison
@ 2001-04-11 16:06 ` Pat Rogers
  2001-04-12 10:24   ` John Robinson
  2001-04-12  7:20 ` Martin Dowie
  2001-04-13  6:49 ` Simon Wright
  3 siblings, 1 reply; 27+ messages in thread
From: Pat Rogers @ 2001-04-11 16:06 UTC (permalink / raw)


"Joe Simon" <jb.simon@lmco.com> wrote in message
news:9b1q2v$s6j4@cui1.lmms.lmco.com...
> we are currently working on defining standards for doing OO development
> using UML with Ada 95 as the target implementation language. We are
looking
> at the broad scope and we will then concentrate on real-time embedded and
> safettyy critical projects (i.e. are there any UML type constructs that we
> want to avoid for RT - Safety Critical).

That will be interesting.  Are you going to make the conclusions public?

> I am attempting to acertain what the implications are in using UML with
> Ada95 (The UML development tool we are using as of now is Telelogic Tau,
it
> generates each object as a separate package with only one type, making it
> difficult to use Ada the way we are used to).

There's no "rule" per se, but that is what I would consider the normal
default.  Certainly one will have ancillary types in the same package, but
they would be in support of the "primary" abstraction represented by the UML
object.  Occasionally one will want to have multiple tagged types in the
same package -- that is indeed an advantage over class-oriented languages
:-) -- but more typically not.  Somethimes that will happen because they are
directly related as one abstraction, and sometimes simply because one is
derived from another in the same package.

Ada is founded on the concept of Abstract Data Types, including the OOP
facilities.  A design that places multiple *unrelated* tagged types in the
same package is contrary to that concept.

> Any thoughts on this subject would be greatly appreciated.

Just IMHO.

---
Patrick Rogers                       Consulting and Training in:
http://www.classwide.com        Real-Time/OO Languages
progers@classwide.com          Hard Deadline Schedulability Analysis
(281)648-3165                          Software Fault Tolerance





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

* Re: Ada95 and UML
  2001-04-11 15:54 ` Ted Dennison
@ 2001-04-11 16:15   ` Marin David Condic
  2001-04-11 17:16   ` Pat Rogers
  1 sibling, 0 replies; 27+ messages in thread
From: Marin David Condic @ 2001-04-11 16:15 UTC (permalink / raw)


As drafting tools go for UML, etc., I found Visual Thought to be fairly
useful & the price was certainly right. Try:

http://www.confluent.com/

Of course, often the decision is made and you're stuck with whatever you've
got. I was not 100% thrilled with UML in general and I didn't like it for
Ada specifically because there didn't seem to be any good way of describing
all the things one might possibly do in Ada - like describe tasks, or
describe packages that weren't OOD. But it is currently all the rage.....

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Ted Dennison" <dennison@telepath.com> wrote in message
news:V6%A6.3207$FY5.219754@www.newsranger.com...
> My suggestion would be to not bother with its code generation; just use it
as a
> drafting tool.
>






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

* Re: Ada95 and UML
  2001-04-11 15:54 ` Ted Dennison
  2001-04-11 16:15   ` Marin David Condic
@ 2001-04-11 17:16   ` Pat Rogers
  1 sibling, 0 replies; 27+ messages in thread
From: Pat Rogers @ 2001-04-11 17:16 UTC (permalink / raw)


"Ted Dennison" <dennison@telepath.com> wrote in message
news:V6%A6.3207$FY5.219754@www.newsranger.com...
> In article <9b1q2v$s6j4@cui1.lmms.lmco.com>, Joe Simon says...
> >I am attempting to acertain what the implications are in using UML with
> >Ada95 (The UML development tool we are using as of now is Telelogic Tau,
it
> >generates each object as a separate package with only one type, making it
> >difficult to use Ada the way we are used to).
<snip>
> We used that tool about 3 product name changes and 2 owners ago. I hope
you have
> better luck with it than we did. Perhaps its much improved by now. I
wouldn't
> know. We couldn't get the previous version to install (even with our best
> engineers talking to their tech support).
>
> My suggestion would be to not bother with its code generation; just use it
as a
> drafting tool.

Let me suggest having a look at UMLStudio.  It does generate Ada 95 code
from the diagrams and is quite tailorable (e.g., I wrote their generation
code myself), but doesn't support reverse engineering for Ada (unlike the
other languages supported).  The cost is very reasonable for such things and
free downloadable trial versions are available.  See www.pragsoft.com for
downloads/details.  If more people ask for Ada reverse engineering they will
have reason to consider it.

PS: I'm not related in any way, other than as a user.

---
Patrick Rogers                       Consulting and Training in:
http://www.classwide.com        Real-Time/OO Languages
progers@classwide.com          Hard Deadline Schedulability Analysis
(281)648-3165                          Software Fault Tolerance





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

* Re: Ada95 and UML
  2001-04-11 14:35 Ada95 and UML Joe Simon
  2001-04-11 15:54 ` Ted Dennison
  2001-04-11 16:06 ` Pat Rogers
@ 2001-04-12  7:20 ` Martin Dowie
  2001-04-12 10:50   ` Peter Amey
  2001-04-13  6:49 ` Simon Wright
  3 siblings, 1 reply; 27+ messages in thread
From: Martin Dowie @ 2001-04-12  7:20 UTC (permalink / raw)


v4 of Artisan's Real-Time Studio Pro (out in a couple of months) are
supporting
Ada code generation from UML in 4 flavours:

1. Ada83
2. SPARK Ada83
3. Ada95
4. SPARK Ada95(? didn't now this was out yet...presumably supporting
    Ravenscar)

Also, alledgeldy these will be "easily" configurable... always raises a
smile :-)
I believe they are using a scripting language (VB Scripts?) do do this. They
knock Telelogic for 6 in terms of cost too.

They also include Real-Time extensions to the UML (presumably based on
their knowledge of what the working group are discussing).

p.s. I don't work for them even if that was a pretty good advert for them!


Joe Simon <jb.simon@lmco.com> wrote in message
news:9b1q2v$s6j4@cui1.lmms.lmco.com...
>
> Howdie.
>
> we are currently working on defining standards for doing OO development
> using UML with Ada 95 as the target implementation language. We are
looking
> at the broad scope and we will then concentrate on real-time embedded and
> safettyy critical projects (i.e. are there any UML type constructs that we
> want to avoid for RT - Safety Critical).
>
> I am attempting to acertain what the implications are in using UML with
> Ada95 (The UML development tool we are using as of now is Telelogic Tau,
it
> generates each object as a separate package with only one type, making it
> difficult to use Ada the way we are used to).
>
> Any thoughts on this subject would be greatly appreciated.
>
> Thanks,
>
> Joe Simon
>
> Lockheed Martin Systems Integration
> Owego, NY
> jb.simon@lmco.com
>
>





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

* Re: Ada95 and UML
  2001-04-11 16:06 ` Pat Rogers
@ 2001-04-12 10:24   ` John Robinson
  2001-04-12 17:46     ` Dirk Craeynest
  0 siblings, 1 reply; 27+ messages in thread
From: John Robinson @ 2001-04-12 10:24 UTC (permalink / raw)


In article <ji%A6.9$bU3.618@nnrp1.sbc.net>, Pat Rogers
<progers@classwide.com> writes

<snip>

>> generates each object as a separate package with only one type, making it
>> difficult to use Ada the way we are used to).
>
>There's no "rule" per se, but that is what I would consider the normal
>default.  Certainly one will have ancillary types in the same package, but
>they would be in support of the "primary" abstraction represented by the UML
>object.  

I'd make a quick comment to lend further support to that style of UML-
Ada95 mapping, even though I for one have been dragged over the coals
for saying this on this newsgroup in the past.

<snip>

I'd also make a shameless plug for two conferences which may be of
interest to anyone following this thread:

"UML for Real-Time Systems Development"
28th June, Newbury, UK
see www.Adaxia.com for more details, or send me an email to request a
draft programme.

I understand that Ada UK is organising a one-day event on Reliable OOP
(using Ada obviously) in October (see www.Adauk.org.uk for more detail
when available).
-- 
John Robinson

www.JohnRobinsonAndAssociates.com
www.Adaxia.com

  



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

* Re: Ada95 and UML
  2001-04-12  7:20 ` Martin Dowie
@ 2001-04-12 10:50   ` Peter Amey
  2001-04-12 11:22     ` Martin Dowie
  0 siblings, 1 reply; 27+ messages in thread
From: Peter Amey @ 2001-04-12 10:50 UTC (permalink / raw)




Martin Dowie wrote:
> 
> v4 of Artisan's Real-Time Studio Pro (out in a couple of months) are
> supporting
> Ada code generation from UML in 4 flavours:
> 
> 1. Ada83
> 2. SPARK Ada83
> 3. Ada95
> 4. SPARK Ada95(? didn't now this was out yet...presumably supporting
>     Ravenscar)
> 

SPARK 95 has been out for years!  It differs from SPARK 83 primarily in
support for child packages which map extremely well on to the kind of
hierarchical state refinement that works so well in SPARK.  We are
indeed working very hard on SPARK Ravenscar and hope to be able to
announce something soon along these lines.

As far as the original question is concerned I would be very careful
with UML -> Ada generation for critical applications using the kinds of
defaults the tools will come set with.  These tend to create objects on
the heap and return a pointer to them in a very cavalier fashion which
can make code verification extremely difficult.  We have had some
success tailoring tools such as Rose to produce abstract data type,
object-based code rather than fully-fledged OOP.  The limitations on how
much of UML can be used are more than offset by the improved ease of
verification.  

Peter



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

* Re: Ada95 and UML
  2001-04-12 10:50   ` Peter Amey
@ 2001-04-12 11:22     ` Martin Dowie
  0 siblings, 0 replies; 27+ messages in thread
From: Martin Dowie @ 2001-04-12 11:22 UTC (permalink / raw)


oops, sorry, I was indeed getting confused with the inclusion of
the Ravenscar Profile!

Peter Amey <pna@praxis-cs.co.uk> wrote in message
news:3AD58870.96EB100F@praxis-cs.co.uk...
>
>
> Martin Dowie wrote:
> >
> > v4 of Artisan's Real-Time Studio Pro (out in a couple of months) are
> > supporting
> > Ada code generation from UML in 4 flavours:
> >
> > 1. Ada83
> > 2. SPARK Ada83
> > 3. Ada95
> > 4. SPARK Ada95(? didn't now this was out yet...presumably supporting
> >     Ravenscar)
> >
>
> SPARK 95 has been out for years!  It differs from SPARK 83 primarily in
> support for child packages which map extremely well on to the kind of
> hierarchical state refinement that works so well in SPARK.  We are
> indeed working very hard on SPARK Ravenscar and hope to be able to
> announce something soon along these lines.
>
> As far as the original question is concerned I would be very careful
> with UML -> Ada generation for critical applications using the kinds of
> defaults the tools will come set with.  These tend to create objects on
> the heap and return a pointer to them in a very cavalier fashion which
> can make code verification extremely difficult.  We have had some
> success tailoring tools such as Rose to produce abstract data type,
> object-based code rather than fully-fledged OOP.  The limitations on how
> much of UML can be used are more than offset by the improved ease of
> verification.
>
> Peter





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

* Re: Ada95 and UML
  2001-04-12 10:24   ` John Robinson
@ 2001-04-12 17:46     ` Dirk Craeynest
  0 siblings, 0 replies; 27+ messages in thread
From: Dirk Craeynest @ 2001-04-12 17:46 UTC (permalink / raw)


In article <2tPXCfA5JY16EwcC@jr-and-assoc.demon.co.uk>,
John Robinson  <john@jr-and-assoc.demon.co.uk> wrote:
>I understand that Ada UK is organising a one-day event on Reliable OOP
>(using Ada obviously) in October (see www.Adauk.org.uk for more detail
>when available).

Or see
  "Conference announcements for the international Ada community"
at 
  http://www.cs.kuleuven.ac.be/~dirk/ada-belgium/events/
and select the second entry added on 2001/04/11 for more detail now. ;-)

Dirk (Dirk.Craeynest@cs.kuleuven.ac.be for Ada-Belgium e-mail)

--
Dirk Craeynest            | Email Dirk.Craeynest@offis.be | Ada-Belgium
Offis nv/sa - Aubay Group | Phone +32(2)725.40.25         | Ada-Europe
Weiveldlaan 41/32         |       +32(2)729.97.36 (work)  | ACM SIGAda
B-1930 Zaventem, Belgium  | Fax   +32(2)725.40.12         | Team Ada

+-------------/ E-mail: ada-belgium-board@cs.kuleuven.ac.be
|Ada-Belgium /     WWW: http://www.cs.kuleuven.ac.be/~dirk/ada-belgium/
|on Internet/      FTP: ftp://ftp.cs.kuleuven.ac.be/pub/Ada-Belgium
+----------/ Mail-list: ada-belgium-info-request@cs.kuleuven.ac.be

*** Intl. Conference on Reliable Software Technologies - Ada-Europe'2001
*** May 14-18, 2001, Leuven, Belgium **** http://www.ada-europe.org/ ***



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

* Re: Ada95 and UML
  2001-04-11 14:35 Ada95 and UML Joe Simon
                   ` (2 preceding siblings ...)
  2001-04-12  7:20 ` Martin Dowie
@ 2001-04-13  6:49 ` Simon Wright
  3 siblings, 0 replies; 27+ messages in thread
From: Simon Wright @ 2001-04-13  6:49 UTC (permalink / raw)


"Joe Simon" <jb.simon@lmco.com> writes:

> we are currently working on defining standards for doing OO
> development using UML with Ada 95 as the target implementation
> language. We are looking at the broad scope and we will then
> concentrate on real-time embedded and safettyy critical projects
> (i.e. are there any UML type constructs that we want to avoid for RT
> - Safety Critical).
> 
> I am attempting to acertain what the implications are in using UML
> with Ada95 (The UML development tool we are using as of now is
> Telelogic Tau, it generates each object as a separate package with
> only one type, making it difficult to use Ada the way we are used
> to).

You may be interested in an open-source framework code generator
backend (at the moment, Rational Rose is the only supported front end)
that I'm working on at http://www.pushface.org/coldframe/.

One point that concerns me about closed generators is that you only
get configurability along the axes that the vendor has thought
of. Seems to me you need a pretty fully-fledged programming
environment, in general. On the other hand, you might not want your
software architects having to learn XSLT ..

I certainly believe that you must constrain the UML subset you're
going to use. If for no other reason than that you need to define the
translation rules, and that means you have to have a precise
understanding of the semantics of the model. At the recent Ada UK
technology update day, a speaker made the point that if neither system
designers nor implementers understand what a statechart construct is
supposed to mean it's unlikely that the implementation will match the
intent ..



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

* re: ada95 and uml
@ 2001-04-19 18:25 "Riehle, Richard"
  2001-04-21  1:58 ` Robert C. Leif, Ph.D.
                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: "Riehle, Richard" @ 2001-04-19 18:25 UTC (permalink / raw)


Joe Simon wrote:

Howdie. we are currently working on defining standards for doing OO
development using UML with Ada 95 as the target implementation language. We
are looking at the broad scope and we will then concentrate on real-time
embedded and safettyy critical projects (i.e. are there any UML type
constructs that we want to avoid for RT - Safety Critical). I am attempting
to acertain what the implications are in using UML with Ada95 (The UML
development tool we are using as of now is Telelogic Tau, it generates each
object as a separate package with only one type, making it difficult to use
Ada the way we are used to). Any thoughts on this subject would be greatly
appreciated. 
There is an interesting concept in software engineering called linguistic
continiuity. The idea
is that, the language we use for creating a software product should be
consistent through the
entire life-cycle of the process.   For example, if one used a structured
design CASE tool to 
model software that would be coded in an object-oriented programming
language, we would
say this is linguistically discontinuous.   Ideally, one can benefit from
linguistic continuity through
the entire lifecyle of a software product.   Each time we introduce a new
linguistic model, we
disrupt the communication,  require a translation capability, and lose
something in the translation.

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.

What we need is a modeling language for Ada that fills the requirement of
linguistic
continuity.   This is not only a problem with Ada.   Eiffel also maps poorly
to UML.  The Eiffel 
community has risen to the challenge and created a modeling language that
maps well to Eiffel.    

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] 27+ messages in thread

* RE: ada95 and uml
  2001-04-19 18:25 ada95 and uml "Riehle, Richard"
@ 2001-04-21  1:58 ` Robert C. Leif, Ph.D.
  2001-04-21 11:39   ` Simon Wright
  2001-04-23  3:45 ` Robert Palasek
  2001-05-11 13:10 ` Mark T
  2 siblings, 1 reply; 27+ messages in thread
From: Robert C. Leif, Ph.D. @ 2001-04-21  1:58 UTC (permalink / raw)
  To: comp.lang.ada

From: Bob Leif
To: Richard Riehle et al.
Could we collaborate with the Eiffel community and perhaps with groups
concerned with other Pascal descendants? I might note that with a stretch
this could include XML.

-----Original Message-----
From: comp.lang.ada-admin@ada.eu.org
[mailto:comp.lang.ada-admin@ada.eu.org]On Behalf Of "Riehle, Richard"
Sent: Thursday, April 19, 2001 11:26 AM
To: comp.lang.ada@ada.eu.org
Subject: re: ada95 and uml


Joe Simon wrote:

Howdie. we are currently working on defining standards for doing OO
development using UML with Ada 95 as the target implementation language. We
are looking at the broad scope and we will then concentrate on real-time
embedded and safettyy critical projects (i.e. are there any UML type
constructs that we want to avoid for RT - Safety Critical). I am attempting
to acertain what the implications are in using UML with Ada95 (The UML
development tool we are using as of now is Telelogic Tau, it generates each
object as a separate package with only one type, making it difficult to use
Ada the way we are used to). Any thoughts on this subject would be greatly
appreciated.
There is an interesting concept in software engineering called linguistic
continiuity. The idea
is that, the language we use for creating a software product should be
consistent through the
entire life-cycle of the process.   For example, if one used a structured
design CASE tool to
model software that would be coded in an object-oriented programming
language, we would
say this is linguistically discontinuous.   Ideally, one can benefit from
linguistic continuity through
the entire lifecyle of a software product.   Each time we introduce a new
linguistic model, we
disrupt the communication,  require a translation capability, and lose
something in the translation.

>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.

What we need is a modeling language for Ada that fills the requirement of
linguistic
continuity.   This is not only a problem with Ada.   Eiffel also maps poorly
to UML.  The Eiffel
community has risen to the challenge and created a modeling language that
maps well to Eiffel.

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] 27+ messages in thread

* Re: ada95 and uml
  2001-04-21  1:58 ` Robert C. Leif, Ph.D.
@ 2001-04-21 11:39   ` Simon Wright
  2001-04-23 12:43     ` Marc A. Criley
  0 siblings, 1 reply; 27+ messages in thread
From: Simon Wright @ 2001-04-21 11:39 UTC (permalink / raw)


"Robert C. Leif, Ph.D." <rleif@rleif.com> writes:

> Could we collaborate with the Eiffel community and perhaps with
> groups concerned with other Pascal descendants? I might note that
> with a stretch this could include XML.

Not sure quite what XML has to do with it!

Any tool might benefit from using XMI (I didn't look too closely at
it, because of course any CDIF thing like this has to have a lot of
"formatting" baggage as well as the interesting semantic stuff).

http://www-4.ibm.com/software/ad/standards/xmi.html
http://www.oasis-open.org/cover/xmi.html



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

* Re: ada95 and uml
  2001-04-19 18:25 ada95 and uml "Riehle, Richard"
  2001-04-21  1:58 ` Robert C. Leif, Ph.D.
@ 2001-04-23  3:45 ` Robert Palasek
  2001-04-23  5:50   ` Simon Wright
  2001-04-23 12:03   ` Martin Dowie
  2001-05-11 13:10 ` Mark T
  2 siblings, 2 replies; 27+ messages in thread
From: Robert Palasek @ 2001-04-23  3:45 UTC (permalink / raw)


"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.



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

* Re: ada95 and uml
  2001-04-23  3:45 ` Robert Palasek
@ 2001-04-23  5:50   ` Simon Wright
  2001-04-24 13:53     ` Robert Palasek
                       ` (2 more replies)
  2001-04-23 12:03   ` Martin Dowie
  1 sibling, 3 replies; 27+ messages in thread
From: Simon Wright @ 2001-04-23  5:50 UTC (permalink / raw)


Robert Palasek <bobpalasek@home.com> writes:

> "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.

True; model + translation rules -> code. This is possible provided
your model is expressed with the precision required by the translation
rules[1].

This has been a principle of Shlaer-Mellor Recursive design for a
while now (unfortunately the book hasn't come out).

You can get a commercial UML->Ada generator now from Aonix that does
this (for code frameworks only). I'm sure there are others, perhaps
not for Ada!

What you can't reasonably expect to do is to take the result of such a
code-generation, change it, and round-trip back to the model. No great
loss (IMO).

[1] As a simple example, you might have to specify role names for each
end of an association.



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

* Re: ada95 and uml
  2001-04-23  3:45 ` Robert Palasek
  2001-04-23  5:50   ` Simon Wright
@ 2001-04-23 12:03   ` Martin Dowie
  2001-04-23 12:36     ` Ken Garlington
  1 sibling, 1 reply; 27+ messages in thread
From: Martin Dowie @ 2001-04-23 12:03 UTC (permalink / raw)


You mean you don't find useful the way an Ada programs
abstracts a real world problem and the compiler/binder/linker
automatically produces machine instructions?

;-)

"A picture tell a thousand words" and if those words are
Ada, C or French, I don't care, so long as it works and either
a) I never have to look at the output, or,
b) if I do then there is a tool to help me (preferably at the
   same level as I originally input my model, be it UML or Ada).

> 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.





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

* Re: ada95 and uml
  2001-04-23 12:03   ` Martin Dowie
@ 2001-04-23 12:36     ` Ken Garlington
  2001-04-23 13:34       ` Martin Dowie
  0 siblings, 1 reply; 27+ messages in thread
From: Ken Garlington @ 2001-04-23 12:36 UTC (permalink / raw)


"Martin Dowie" <martin.dowie@nospam.baesystems.com> wrote in message
news:3ae417f2$1@pull.gecm.com...
: You mean you don't find useful the way an Ada programs
: abstracts a real world problem and the compiler/binder/linker
: automatically produces machine instructions?

Sure... one of the best parts of an Ada "model" is that it leaves out
non-salient information from a programmer's perspective: the specific
instructions needed for a given processor, the specific locations in memory
which program elements occupy....

What, you don't write all your Ada programs as machine code insertions?

:)





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

* Re: ada95 and uml
  2001-04-21 11:39   ` Simon Wright
@ 2001-04-23 12:43     ` Marc A. Criley
  0 siblings, 0 replies; 27+ messages in thread
From: Marc A. Criley @ 2001-04-23 12:43 UTC (permalink / raw)


Simon Wright wrote:
> 
> "Robert C. Leif, Ph.D." <rleif@rleif.com> writes:
> 
> > Could we collaborate with the Eiffel community and perhaps with
> > groups concerned with other Pascal descendants? I might note that
> > with a stretch this could include XML.
> 
> Not sure quite what XML has to do with it!

Bob Leif has an XML fixation.
(Just as Ted Dennison has an OpenToken fixation, and I have a JGNAT
fixation.  We try to work our pet obsession in whenever and wherever we
can.  Why?  Because it makes sense, dammit!  :-) :-)

Marc A. Criley



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

* Re: ada95 and uml
  2001-04-23 12:36     ` Ken Garlington
@ 2001-04-23 13:34       ` Martin Dowie
  0 siblings, 0 replies; 27+ messages in thread
From: Martin Dowie @ 2001-04-23 13:34 UTC (permalink / raw)


10 years+ now, and I've never inserted machine code yet. I'm
beginning to expect (hope?) I never will :-)

Ken Garlington <Ken.Garlington@computer.org> wrote in message
news:zlVE6.398$Jn1.154216577@newssvr10-int.news.prodigy.com...
> "Martin Dowie" <martin.dowie@nospam.baesystems.com> wrote in message
> news:3ae417f2$1@pull.gecm.com...
> : You mean you don't find useful the way an Ada programs
> : abstracts a real world problem and the compiler/binder/linker
> : automatically produces machine instructions?
>
> Sure... one of the best parts of an Ada "model" is that it leaves out
> non-salient information from a programmer's perspective: the specific
> instructions needed for a given processor, the specific locations in
memory
> which program elements occupy....
>
> What, you don't write all your Ada programs as machine code insertions?
>
> :)
>
>





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

* Re: ada95 and uml
  2001-04-23  5:50   ` Simon Wright
@ 2001-04-24 13:53     ` Robert Palasek
  2001-04-25  3:54       ` Ada95 and UML Robert C. Leif, Ph.D.
  2001-04-25 13:16     ` ada95 and uml Ken Garlington
  2001-05-06 22:03     ` Peter Dencker
  2 siblings, 1 reply; 27+ messages in thread
From: Robert Palasek @ 2001-04-24 13:53 UTC (permalink / raw)


bobpalasek wrote:
 
> > 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.
> 

Simon writes:
> True; model + translation rules -> code. This is possible provided
> your model is expressed with the precision required by the translation
> rules[1].

What Simon writes is true of any formal rewriting system.  
As stated, it maybe too general to be useful.  

Let us suppose, however, that in this context "model" is limited to 
UML, and "code" stands for Ada.

  In this hypothetical situation, it should be possible to 
go from the model to an executable, and not very many people 
at all need to be concerned with the intermediate representation.  
Assembly language or machine code is fine. No need to bother 
anyone with Ada.  Keep it simple.

  But my conceit misses the point of using modeling as 
an abstraction to help understand the problem and/or the
solution.  The model is deliberately more simple than the final
design and implementation.  That is the nature of modeling.
To require the model to carry all the details seems misguided,
sophomoric, to me.



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

* RE: Ada95 and UML
  2001-04-24 13:53     ` Robert Palasek
@ 2001-04-25  3:54       ` Robert C. Leif, Ph.D.
  2001-04-26 19:46         ` Simon Wright
  0 siblings, 1 reply; 27+ messages in thread
From: Robert C. Leif, Ph.D. @ 2001-04-25  3:54 UTC (permalink / raw)
  To: comp.lang.ada

From: Bob Leif
To: Robert Palasek et al.

The first question to ask is, what would be useful for the Ada community?
Ada specifications include a significant and very useful part of a model.
I believe that the Ada paradigm is correct--Leave the details to the body
and probably the private parts. Therefore I believe that the private part of
the specification should be omitted from a model. Since a graphical method
of describing the software appears to be useful, it makes sense to create or
preferably extend an already existing technology.

As some of you know, I suffer from an XML fixation. Actually, I view XML as
a very good means to improve Ada's use. XML has the common features with Ada
of enumerated types and ranges. Therefore the same graphical tool could be
employed to model and perhaps generate Ada specifications and/or XML
schemas. Or any one of the three could be used to generate part or all of
the other two.

This would permit one to storyboard a project. The screens including forms
could be created with commercial XML tools. The appropriate schemas would
then be created. DTDs should be translated into schemas, which are much
easier to understand.

-----Original Message-----
From: comp.lang.ada-admin@ada.eu.org
[mailto:comp.lang.ada-admin@ada.eu.org]On Behalf Of Robert Palasek
Sent: Tuesday, April 24, 2001 6:53 AM
To: comp.lang.ada@ada.eu.org
Subject: Re: ada95 and uml


bobpalasek wrote:

> > 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.
>

Simon writes:
> True; model + translation rules -> code. This is possible provided
> your model is expressed with the precision required by the translation
> rules[1].

What Simon writes is true of any formal rewriting system.
As stated, it maybe too general to be useful.

Let us suppose, however, that in this context "model" is limited to
UML, and "code" stands for Ada.

  In this hypothetical situation, it should be possible to
go from the model to an executable, and not very many people
at all need to be concerned with the intermediate representation.
Assembly language or machine code is fine. No need to bother
anyone with Ada.  Keep it simple.

  But my conceit misses the point of using modeling as
an abstraction to help understand the problem and/or the
solution.  The model is deliberately more simple than the final
design and implementation.  That is the nature of modeling.
To require the model to carry all the details seems misguided,
sophomoric, to me.





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

* Re: ada95 and uml
  2001-04-23  5:50   ` Simon Wright
  2001-04-24 13:53     ` Robert Palasek
@ 2001-04-25 13:16     ` Ken Garlington
  2001-04-25 13:48       ` Ted Dennison
  2001-05-06 22:03     ` Peter Dencker
  2 siblings, 1 reply; 27+ messages in thread
From: Ken Garlington @ 2001-04-25 13:16 UTC (permalink / raw)


"Simon Wright" <simon@pushface.org> wrote in message
news:x7vsnj0go62.fsf@smaug.pushface.org...

: What you can't reasonably expect to do is to take the result of such a
: code-generation, change it, and round-trip back to the model. No great
: loss (IMO).

There aren't tools for doing round-trip engineering between UML and Ada?

http://www.rational.com/products/rose/prodinfo.jsp





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

* Re: ada95 and uml
  2001-04-25 13:16     ` ada95 and uml Ken Garlington
@ 2001-04-25 13:48       ` Ted Dennison
  0 siblings, 0 replies; 27+ messages in thread
From: Ted Dennison @ 2001-04-25 13:48 UTC (permalink / raw)


In article <R6AF6.2579$jM4.541386796@newssvr16.news.prodigy.com>, Ken Garlington
says...
>
>"Simon Wright" <simon@pushface.org> wrote in message
>news:x7vsnj0go62.fsf@smaug.pushface.org...
>
>: What you can't reasonably expect to do is to take the result of such a
>: code-generation, change it, and round-trip back to the model. No great
>: loss (IMO).
>
>There aren't tools for doing round-trip engineering between UML and Ada?

I've used one. It sucked. Going out to Ada wasn't too bad, but going back into
UML was a disaster. As an example, it made a UML class out of every single
enumeration value!

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: Ada95 and UML
  2001-04-25  3:54       ` Ada95 and UML Robert C. Leif, Ph.D.
@ 2001-04-26 19:46         ` Simon Wright
  0 siblings, 0 replies; 27+ messages in thread
From: Simon Wright @ 2001-04-26 19:46 UTC (permalink / raw)


"Robert C. Leif, Ph.D." <rleif@rleif.com> writes:

> Simon writes:
> > True; model + translation rules -> code. This is possible provided
> > your model is expressed with the precision required by the translation
> > rules[1].
> 
> What Simon writes is true of any formal rewriting system.
> As stated, it maybe too general to be useful.
> 
> Let us suppose, however, that in this context "model" is limited to
> UML, and "code" stands for Ada.
> 
>   In this hypothetical situation, it should be possible to
> go from the model to an executable, and not very many people
> at all need to be concerned with the intermediate representation.
> Assembly language or machine code is fine. No need to bother
> anyone with Ada.  Keep it simple.
> 
>   But my conceit misses the point of using modeling as
> an abstraction to help understand the problem and/or the
> solution.  The model is deliberately more simple than the final
> design and implementation.  That is the nature of modeling.
> To require the model to carry all the details seems misguided,
> sophomoric, to me.

I think we may be slightly at cross purposes here.

So far the scheme I've been working on is a means of converting a UML
model into a code skeleton, rather like what you can get from Aonix in
StP.

The point is that the model can and should contain all the
problem-domain concepts, relations, policies etc[2] but shouldn't
contain stuff about the implementation[0]; the translation engine (be
it machine or human) which converts that representation into code is
governed by rules designed by the software architect.

The same translation rules can convert a model of a different problem
domain into (skeleton[1]) code for the same runtime, or different
translation rules can convert the same model into code for a different
runtime.

This isn't so far from the way that different compilers can generate
different code for different architectures from the same source (eg,
parallelizing Fortran compilers for vector processors).

My feeling is that in many cases the Ada constructs that you might
want to implement the model have no place in the model itself. I could
never get excited about Raymond Buhr's notation, for example -- one
might as well have just written the Ada!

-S

[0] Often you need 'guidance' information .. but rules like 'implement
the container for this class using an Array rather than a Map if the
Identifier is an integral or enumerated type with a range of less than
256 values' are perfectly feasible, provided you have enough control
over the translation infrastructure.

[1] Work is under way on a Precise Action Specification sceme for OMG,
to become part of UML eventually -- so that the intellectual effort of
fully understanding a problem domain, actions and all, can be reused
at minimal cost.

[2] I can't see why you would _want_ to have a model of the problem
domain which was too vague to generate code from! You need to abstract
away the implementation detail, sure, but why fuzz over problem
detail? You need to be very sure about what the model actually means,
can't do that if you leave stuff out and don't have a set of rules to
tell you _precisely_ what the semantics of modelling constructs are.


(rant off!)




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

* Re: ada95 and uml
  2001-04-23  5:50   ` Simon Wright
  2001-04-24 13:53     ` Robert Palasek
  2001-04-25 13:16     ` ada95 and uml Ken Garlington
@ 2001-05-06 22:03     ` Peter Dencker
  2 siblings, 0 replies; 27+ messages in thread
From: Peter Dencker @ 2001-05-06 22:03 UTC (permalink / raw)



"Simon Wright" <simon@pushface.org> schrieb im Newsbeitrag
news:x7vsnj0go62.fsf@smaug.pushface.org...
> Robert Palasek <bobpalasek@home.com> writes:
>
> > "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.

The idea of round-trip is carried forward by folks whose reverse engineering
tool is as good as its forward generating code generator. That must
obviously be an isomorphic mapping. Thus, the picture can't tell you more
than the code and vice versa. If that is all they want, fine.

> >
> >  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.
>
> True; model + translation rules -> code. This is possible provided
> your model is expressed with the precision required by the translation
> rules[1].
>
> This has been a principle of Shlaer-Mellor Recursive design for a
> while now (unfortunately the book hasn't come out).
>
> You can get a commercial UML->Ada generator now from Aonix that does
> this (for code frameworks only). I'm sure there are others, perhaps
> not for Ada!

Yes, indeed. You get StP/UML + ACD  and it does more than just code
frameworks only, e.g. generates all the automaton code for state transition
diagrams.

To get a first idea read http://www.aonix.com/content/downloads/stp/ACD1.pdf

It also tells you why round-trip does not help much if you see your design
as an abstraction over the final code.

>
> What you can't reasonably expect to do is to take the result of such a
> code-generation, change it, and round-trip back to the model. No great
> loss (IMO).
>
> [1] As a simple example, you might have to specify role names for each
> end of an association.





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

* Re: ada95 and uml
  2001-04-19 18:25 ada95 and uml "Riehle, Richard"
  2001-04-21  1:58 ` Robert C. Leif, Ph.D.
  2001-04-23  3:45 ` Robert Palasek
@ 2001-05-11 13:10 ` Mark T
  2 siblings, 0 replies; 27+ messages in thread
From: Mark T @ 2001-05-11 13:10 UTC (permalink / raw)



>
> 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.
>
> What we need is a modeling language for Ada that fills the requirement of
> linguistic
> continuity.   This is not only a problem with Ada.   Eiffel also maps
poorly
> to UML.  The Eiffel
> community has risen to the challenge and created a modeling language that
> maps well to Eiffel.

   UML (not most UML tools) is reasonably flexible and with proper
stereotyping and use of existing stereotypes like << utility>> one should be
able to create a reasonable mapping.  Also you may consider just using
higher order elements like <<subsystems>> for your modeling efforts. A
picture is still worth a thousand words especially when being introduced to
an existing complicated project for the first time.

I feel high level design should be as language independent as possible. If
UML needs more refinement so be it. Ada previously had a modeling notation
 Buhr I think it was called) but it didn't prove very popular and probably
doesn't need another.










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

end of thread, other threads:[~2001-05-11 13:10 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-04-19 18:25 ada95 and uml "Riehle, Richard"
2001-04-21  1:58 ` Robert C. Leif, Ph.D.
2001-04-21 11:39   ` Simon Wright
2001-04-23 12:43     ` Marc A. Criley
2001-04-23  3:45 ` Robert Palasek
2001-04-23  5:50   ` Simon Wright
2001-04-24 13:53     ` Robert Palasek
2001-04-25  3:54       ` Ada95 and UML Robert C. Leif, Ph.D.
2001-04-26 19:46         ` Simon Wright
2001-04-25 13:16     ` ada95 and uml Ken Garlington
2001-04-25 13:48       ` Ted Dennison
2001-05-06 22:03     ` Peter Dencker
2001-04-23 12:03   ` Martin Dowie
2001-04-23 12:36     ` Ken Garlington
2001-04-23 13:34       ` Martin Dowie
2001-05-11 13:10 ` Mark T
  -- strict thread matches above, loose matches on Subject: below --
2001-04-11 14:35 Ada95 and UML Joe Simon
2001-04-11 15:54 ` Ted Dennison
2001-04-11 16:15   ` Marin David Condic
2001-04-11 17:16   ` Pat Rogers
2001-04-11 16:06 ` Pat Rogers
2001-04-12 10:24   ` John Robinson
2001-04-12 17:46     ` Dirk Craeynest
2001-04-12  7:20 ` Martin Dowie
2001-04-12 10:50   ` Peter Amey
2001-04-12 11:22     ` Martin Dowie
2001-04-13  6:49 ` Simon Wright

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