comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm-host.bauhaus@maps.futureapps.de>
Subject: Re: Ada and UML
Date: Thu, 02 Sep 2010 09:50:12 +0200
Date: 2010-09-02T09:50:14+02:00	[thread overview]
Message-ID: <4c7f5735$0$6766$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <op.vidqx0p4ule2fv@garhos>

On 9/2/10 2:43 AM, Yannick Duchêne (Hibou57) wrote:
> Le Wed, 01 Sep 2010 10:20:30 +0200, Matteo Bordin <matteo.bordin@gmail.com> a écrit:

>> or you leave semantic variation points to permit model transformation
>> (code generators) to inject platform-specific semantics following a
>> precise pattern.
> Look like the question I asked in a prior post : how is the source generator driven ?

It depends on the tools.  Start from this question: What drives
your own design decisions when writing this or that source code?

In order to have a name, let's call this source of design
decisions a Shape_O_Mind.

How can you picture the decisions of Shape_O_Mind?

How does Shape_O_Mind operate?

What "tools" does Shape_O_Mind use in order to produce source
text?


Some UML tools come with source templates. UML constructs will
be mapped  to source with the help of these templates.

Some UML tools include a programming language with which to
generate source from the models.

Some UML tools tie source to models, allowing round trip
engineering. They read source, too, and assign model elements
to source code. Not sure if the programmer can always control
this assignment of meaning during this reverse engineering done
by the tool.

Some tools allow the addition of model elements, such as
elements representing subprograms.

The capabilities are not mutually exclusive.

Likely all of these tools permit writing source code
"into" the model entities; the generators will insert this source.
They will not touch it during reverse engineering.

Some UML tools may push integration further to be seamless: you use
one IDE and then a UML model is just another view of your program's
source text.


Other benefits of UML tools that, I think, are not
readily available with just Ada source text:

- model checking

- "specifictation tracking"

When tackling complex relations in some program,
Shape_O_Mind has to rely on our limited capacity for
following indirections, conditionals, etc.

The relation between the set of compilation units
corresponding to problem domain entities isn't an
immediate one either.


Some higher level model elements will *not* depend on the
programming language, or on the computer used to execute
the program. How do you express this in source?

Pictures can help ("worth a thousand words"...).
Assume three Ada packages Pj, each featuring a type Tj,
such that an object of type Tj needs to know about an object
of type T(j+1).

+----+      +----+      +----+
| T1 | <>-> | T2 | <>-> | T3 |
+ ---+      +--- +      +----+

Shape_O_Mind will have little difficulty understanding the  basic
relation or objects, once <> is know to mean aggregation;
a programmer reading source will have to analyze each Pj to find out.


Technical drawings are popular among engineers.
They seem to work.  Why, then, should they not be used
for software systems, too?

Software Through Pictures(TM) is a telling name...



Georg



  reply	other threads:[~2010-09-02  7:50 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-31 10:12 Ada and UML Yannick Duchêne (Hibou57)
2010-08-31 11:05 ` Yannick Duchêne (Hibou57)
2010-08-31 11:54   ` Yannick Duchêne (Hibou57)
2010-08-31 16:34     ` Matteo Bordin
2010-08-31 21:20       ` nobody
2010-09-02  0:19         ` Yannick Duchêne (Hibou57)
2010-09-02  6:14           ` Simon Wright
2010-09-02 20:33           ` nobody
2010-08-31 23:14       ` Yannick Duchêne (Hibou57)
2010-08-31 23:31         ` Yannick Duchêne (Hibou57)
2010-09-01  8:20         ` Matteo Bordin
2010-09-01 18:44           ` Simon Wright
2010-09-01 21:56             ` Simon Wright
2010-09-02  1:18             ` Yannick Duchêne (Hibou57)
2010-09-02 10:25               ` Brian Drummond
2010-09-02  0:43           ` Yannick Duchêne (Hibou57)
2010-09-02  7:50             ` Georg Bauhaus [this message]
2010-09-02 23:05               ` Yannick Duchêne (Hibou57)
2010-09-03  4:19                 ` Yannick Duchêne (Hibou57)
2010-09-03  6:54                   ` Matteo Bordin
2010-09-03 10:20                     ` Yannick Duchêne (Hibou57)
2010-09-03 11:33                       ` sjw
2010-09-03 13:18                   ` Hibou57 (Yannick Duchêne)
2010-09-03 16:14                     ` Matteo Bordin
2010-09-04 14:51                       ` Yannick Duchêne (Hibou57)
2010-09-06  9:21                         ` Matteo Bordin
2010-09-07 18:25                         ` Yannick Duchêne (Hibou57)
2010-09-03 16:16                     ` Matteo Bordin
2010-09-03 19:39                       ` Simon Wright
2010-08-31 18:25 ` Martin Krischik
2010-09-01  8:40   ` sjw
2010-09-02  0:22   ` Yannick Duchêne (Hibou57)
2010-09-02  4:48     ` J-P. Rosen
2010-09-02 10:34       ` Brian Drummond
2010-09-02 13:00         ` Robert A Duff
2010-09-02 13:24           ` Yannick Duchêne (Hibou57)
2010-09-10 20:13 ` Yannick Duchêne (Hibou57)
  -- strict thread matches above, loose matches on Subject: below --
2001-08-04  9:55 Paul Foster
2001-07-10 10:54 Death by analogy Part 2 (was Re: is ada dead?) Robert C. Leif, Ph.D.
2001-07-10 16:58 ` Al Christians
2001-07-10 18:39   ` Michael P. Card
2001-07-10 20:39     ` Al Christians
2001-07-10 21:11       ` Michael P. Card
2001-07-11  5:25         ` Ada and UML raj
2001-07-11  9:40           ` David C. Hoos, Sr.
2001-07-13 19:00           ` Nick Williams
2001-07-13 19:46             ` Ted Dennison
2001-07-17  8:25               ` David Humphris
2001-07-16  0:56             ` Ken Garlington
2001-07-17 18:59               ` Simon Wright
2001-07-23 14:38                 ` John Kern
2001-08-04  6:29                   ` Simon Wright
replies disabled

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