comp.lang.ada
 help / color / mirror / Atom feed
From: sjw <simon.j.wright@mac.com>
Subject: Re: Users of the BON notation among Ada users ?
Date: Mon, 12 Jan 2009 14:49:04 -0800 (PST)
Date: 2009-01-12T14:49:04-08:00	[thread overview]
Message-ID: <c69ab4c0-268b-4bff-8ab7-c0a13c7ee597@r36g2000prf.googlegroups.com> (raw)
In-Reply-To: 0e67d712-c126-478f-b1bc-d2d22ae66952@w1g2000prm.googlegroups.com

On Jan 12, 6:25 pm, Britt Snodgrass <britt.snodgr...@gmail.com> wrote:

> I have used UML to develop an Ada design, in the context of the
> Rhapsody UML modeling tool from Telelogic.  While this tool is very
> good in most respects, UML models are awkward to use with Ada due to
> terminology differences and the fact that many Ada semantic concepts
> can't be easily expressed within the limits of UML 2.x.  Trying to
> generate good Ada code by tweaking a UML model is a rather inefficient
> way to work.

Seems to me that this approach is a bit backwards.

You can create a UML profile aimed at Ada, as Artisan do, so that you
can say just about anything you want to in the UML about the Ada code
you want. But, if you want to write Ada, why not write Ada?

Use UML (a semantically constrained subset) to state analysis-level
properties of your problem domain (see eg http://coldframe.sourceforge.net/coldframe/analysis.html).
Then use manual or automatic translation according to a set of
translation rules (http://coldframe.sourceforge.net/coldframe/
translation-rules.html) to generate your Ada.

The clever Ada part comes in three places: (a) working out the
translation mappings (when the model says _this_, generate Ada like
_that_), (b) writing the standard runtime components, and (c)
realising when you need to implement something by hand.

On our project, we tend not to look at generated Ada specs (in fact,
most of us haven't had a lot of practice in writing them): we look at
the model instead.

For a much more complete approach, see eg http://www.mentor.com/products/sm/uml_suite/index.cfm
or http://www.kc.com/xuml.php

Of course, BON might be just as good a starting point.

> I think UML has some good features, and is useful to support the
> design of an integrated system, including hardware and ASIC aspects.
> To better support Ada software, UML needs a *standard* Ada specific
> "profile" to customise the terminology and extend the semantics (i.e.
> an "AdaML" variant of UML along the lines of the "SysML" variant that
> was developed to support whole system design).

Difficult enough to get an agreement about a non-language-specific
profile of 'executable UML'.

Of the 26 stereotypes and 37 tags in ColdFrame, there are some
(protected, for a type, for example) where the mapping to Ada is easy.
In all cases, though, one could conceive of a mapping to language X if
push came to shove.



  parent reply	other threads:[~2009-01-12 22:49 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-09 15:38 Users of the BON notation among Ada users ? Hibou57 (Yannick Duchêne)
2009-01-10 18:06 ` Martyn Pike
2009-01-13  9:09   ` Hibou57 (Yannick Duchêne)
2009-01-12 17:50 ` Nicholas Collin Paul Gloucester
2009-01-13  9:11   ` Hibou57 (Yannick Duchêne)
2009-01-12 18:25 ` Britt Snodgrass
2009-01-12 18:34   ` Martyn Pike
2009-01-12 22:44     ` Martin
2009-01-13  7:50     ` Jean-Pierre Rosen
2009-01-13  9:10       ` Matteo Bordin
2009-01-13  9:44       ` Hibou57 (Yannick Duchêne)
2009-01-13 17:21         ` Jean-Pierre Rosen
2009-01-13 20:22           ` Jeffrey R. Carter
2009-01-14  9:05             ` Jean-Pierre Rosen
2009-01-14 18:49               ` Jeffrey R. Carter
2009-01-16 16:24       ` Nicholas Collin Paul Gloucester
2009-01-19  9:10         ` Jean-Pierre Rosen
2009-01-12 22:49   ` sjw [this message]
2009-01-12 22:52   ` Martin
2009-01-13  9:31     ` Hibou57 (Yannick Duchêne)
2009-01-13  9:48       ` hesobreira
2009-01-13 16:23       ` Martin
2009-01-13 17:17         ` Hibou57 (Yannick Duchêne)
2009-01-13  9:19   ` Hibou57 (Yannick Duchêne)
2009-01-12 23:01 ` sjw
2009-01-13  9:38   ` Hibou57 (Yannick Duchêne)
2009-01-13 12:10   ` Georg Bauhaus
2009-01-13 17:14     ` Hibou57 (Yannick Duchêne)
2009-01-19 12:22   ` Brian Drummond
2009-01-20 18:44     ` Hibou57 (Yannick Duchêne)
2009-01-21 13:23       ` Brian Drummond
replies disabled

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