comp.lang.ada
 help / color / mirror / Atom feed
* Free Ada UML tools Available /
@ 2002-05-23 18:42 Joe Simon
  2002-05-23 18:54 ` martin.m.dowie
                   ` (3 more replies)
  0 siblings, 4 replies; 34+ messages in thread
From: Joe Simon @ 2002-05-23 18:42 UTC (permalink / raw)




Hello.

Anybody know of any free tools that will allow me to model using UML and
generate Ada code.

I have used these tools for C++ and love them. I would like to find some
for Ada and play with them at home, generating code to use with gnat.

TIA

Joe Simon



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

* Re: Free Ada UML tools Available /
  2002-05-23 18:42 Free Ada UML tools Available / Joe Simon
@ 2002-05-23 18:54 ` martin.m.dowie
  2002-05-23 20:14   ` Pascal Obry
  2002-05-25  5:29   ` Adrian Hoe
  2002-05-23 20:16 ` Pascal Obry
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 34+ messages in thread
From: martin.m.dowie @ 2002-05-23 18:54 UTC (permalink / raw)


"Joe Simon" <jb.simon@lmco.nospammmmmm.com> wrote in message
news:3CED3807.5378EC9D@lmco.nospammmmmm.com...
> Anybody know of any free tools that will allow me to model using UML and
> generate Ada code.
>
> I have used these tools for C++ and love them. I would like to find some
> for Ada and play with them at home, generating code to use with gnat.

www.pragsoft.com

UML Studio





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

* Re: Free Ada UML tools Available /
  2002-05-23 18:54 ` martin.m.dowie
@ 2002-05-23 20:14   ` Pascal Obry
  2002-05-24  7:15     ` martin.m.dowie
  2002-05-25  5:29   ` Adrian Hoe
  1 sibling, 1 reply; 34+ messages in thread
From: Pascal Obry @ 2002-05-23 20:14 UTC (permalink / raw)



"martin.m.dowie" <martin.m.dowie@ntlworld.com> writes:

> "Joe Simon" <jb.simon@lmco.nospammmmmm.com> wrote in message
> news:3CED3807.5378EC9D@lmco.nospammmmmm.com...
> > Anybody know of any free tools that will allow me to model using UML and
> > generate Ada code.
> >
> > I have used these tools for C++ and love them. I would like to find some
> > for Ada and play with them at home, generating code to use with gnat.
> 
> www.pragsoft.com
> 
> UML Studio

Not free at all ! You can download a demo version which does not support more
than 5 objects...

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Free Ada UML tools Available /
  2002-05-23 18:42 Free Ada UML tools Available / Joe Simon
  2002-05-23 18:54 ` martin.m.dowie
@ 2002-05-23 20:16 ` Pascal Obry
  2002-05-23 21:57   ` Preben Randhol
  2002-05-23 21:56 ` Preben Randhol
  2002-05-24  5:37 ` Simon Wright
  3 siblings, 1 reply; 34+ messages in thread
From: Pascal Obry @ 2002-05-23 20:16 UTC (permalink / raw)



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

> Hello.
> 
> Anybody know of any free tools that will allow me to model using UML and
> generate Ada code.
> 
> I have used these tools for C++ and love them. I would like to find some
> for Ada and play with them at home, generating code to use with gnat.

I don't think one exists. One nice free UML tool is ArgoUML, it support only
Java but it is Open Source... Maybe a nice project would be to add support for
Ada.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Free Ada UML tools Available /
  2002-05-23 18:42 Free Ada UML tools Available / Joe Simon
  2002-05-23 18:54 ` martin.m.dowie
  2002-05-23 20:16 ` Pascal Obry
@ 2002-05-23 21:56 ` Preben Randhol
  2002-05-24  6:02   ` Adrian Hoe
  2002-05-24  5:37 ` Simon Wright
  3 siblings, 1 reply; 34+ messages in thread
From: Preben Randhol @ 2002-05-23 21:56 UTC (permalink / raw)


On Thu, 23 May 2002 14:42:15 -0400, Joe Simon wrote:
> 
> 
> Hello.
> 
> Anybody know of any free tools that will allow me to model using UML and
> generate Ada code.

Use Dia and dia2code the latter supports also Ada. Both are Free
Software/Open Source.

Dia => http://www.lysator.liu.se/~alla/dia/

   Welcome to Dia's homepage. Dia is a gtk+ based diagram creation program
   released under the GPL license.

   Dia is designed to be much like the commercial Windows program 'Visio'.
   It can be used to draw many different kinds of diagrams. It currently
   has special objects to help draw entity relationship diagrams, UML
   diagrams, flowcharts, network diagrams, and simple circuits. It is also
   possible to add support for new shapes by writing simple XML files,
   using a subset of SVG to draw the shape.

   It can load and save diagrams to a custom XML format (gzipped by
   default, to save space), can export diagrams to EPS or SVG formats and
   can print diagrams (including ones that span multiple pages).

Dia2code => http://sourceforge.net/projects/dia2code

   This program generates code from an UML Dia Diagram.Currently supported
   languages are: Ada, C, C++, IDL, Java, PHP, Python, shapefiles and SQL.

Preben



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

* Re: Free Ada UML tools Available /
  2002-05-23 20:16 ` Pascal Obry
@ 2002-05-23 21:57   ` Preben Randhol
  2002-05-24 18:54     ` Pascal Obry
  0 siblings, 1 reply; 34+ messages in thread
From: Preben Randhol @ 2002-05-23 21:57 UTC (permalink / raw)


On 23 May 2002 22:16:22 +0200, Pascal Obry wrote:
> I don't think one exists. One nice free UML tool is ArgoUML, it support only

Yes, Dia + dia2code.

Preben



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

* Re: Free Ada UML tools Available /
  2002-05-23 18:42 Free Ada UML tools Available / Joe Simon
                   ` (2 preceding siblings ...)
  2002-05-23 21:56 ` Preben Randhol
@ 2002-05-24  5:37 ` Simon Wright
  2002-05-24  9:28   ` Preben Randhol
  2002-05-29 16:34   ` Frode Tenneboe
  3 siblings, 2 replies; 34+ messages in thread
From: Simon Wright @ 2002-05-24  5:37 UTC (permalink / raw)


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

> Anybody know of any free tools that will allow me to model using UML
> and generate Ada code.

I have a project (ColdFrame, http://www.pushface.org/coldframe/) which
generates Ada framework code as a backend for a UML tool.

At the moment the only front-end supported is Rational Rose, which is
_not_ free of course. The Gnome Office "Dia" sounds very interesting,
though; the other free UML tools are Java-based and (IME) a little
unreliable. I had thought about PragSoft's offering, but have been
very busy. All that's needed is to dump the model in a CF-specific XML
format :-)

A word of warning: CF will generate a _lot_ of framework code for you
because it assumes you don't want to clutter up your clean analysis
model with framework cruft (collection classes etc). But for it to do
this you have to invest a lot of effort into a model that is precise
enough, and it needs you to put in more annotation than you might be
used to (for example, you have to name each association and specify
role names and multiplicities throughout).



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

* Re: Free Ada UML tools Available /
  2002-05-23 21:56 ` Preben Randhol
@ 2002-05-24  6:02   ` Adrian Hoe
  2002-05-24  9:21     ` Preben Randhol
  0 siblings, 1 reply; 34+ messages in thread
From: Adrian Hoe @ 2002-05-24  6:02 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnaeqpbr.bd7.randhol+abuse@kiuk0152.chembio.ntnu.no>...
> On Thu, 23 May 2002 14:42:15 -0400, Joe Simon wrote:
> > 
> > 
> > Hello.
> > 
> > Anybody know of any free tools that will allow me to model using UML and
> > generate Ada code.
> 
> Use Dia and dia2code the latter supports also Ada. Both are Free
> Software/Open Source.
> 
> Dia => http://www.lysator.liu.se/~alla/dia/
> 
>    Welcome to Dia's homepage. Dia is a gtk+ based diagram creation program
>    released under the GPL license.
> 
>    Dia is designed to be much like the commercial Windows program 'Visio'.
>    It can be used to draw many different kinds of diagrams. It currently
>    has special objects to help draw entity relationship diagrams, UML
>    diagrams, flowcharts, network diagrams, and simple circuits. It is also
>    possible to add support for new shapes by writing simple XML files,
>    using a subset of SVG to draw the shape.
> 
>    It can load and save diagrams to a custom XML format (gzipped by
>    default, to save space), can export diagrams to EPS or SVG formats and
>    can print diagrams (including ones that span multiple pages).
> 
> Dia2code => http://sourceforge.net/projects/dia2code
> 
>    This program generates code from an UML Dia Diagram.Currently supported
>    languages are: Ada, C, C++, IDL, Java, PHP, Python, shapefiles and SQL.
> 
> Preben

What a nice UML (and other) drawing tool! But still has plenty of room
for improvement including the code generator.

All operations will be generated as functions in Ada. (I have not
tried generating for others yet) Is this a feature or a shortage?
Still has to do alot of hand work on the generated Ada code.

-- 
                                       -- Adrian Hoe
                                       -- http://adrianhoe.com



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

* Re: Free Ada UML tools Available /
  2002-05-23 20:14   ` Pascal Obry
@ 2002-05-24  7:15     ` martin.m.dowie
  0 siblings, 0 replies; 34+ messages in thread
From: martin.m.dowie @ 2002-05-24  7:15 UTC (permalink / raw)


"Pascal Obry" <p.obry@wanadoo.fr> wrote in message
news:uvg9eaafa.fsf@wanadoo.fr...
> > www.pragsoft.com
> >
> > UML Studio
>
> Not free at all ! You can download a demo version which does not support
more
> than 5 objects...

Ah! true - I always just start opening new models! doh!





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

* Re: Free Ada UML tools Available /
  2002-05-24  6:02   ` Adrian Hoe
@ 2002-05-24  9:21     ` Preben Randhol
  2002-05-24 19:16       ` Simon Wright
  2002-05-25  2:31       ` Adrian Hoe
  0 siblings, 2 replies; 34+ messages in thread
From: Preben Randhol @ 2002-05-24  9:21 UTC (permalink / raw)


On 23 May 2002 23:02:26 -0700, Adrian Hoe wrote:
> What a nice UML (and other) drawing tool! But still has plenty of room
> for improvement including the code generator.
> 
> All operations will be generated as functions in Ada. (I have not
> tried generating for others yet) Is this a feature or a shortage?
> Still has to do alot of hand work on the generated Ada code.

Yes, but I guess that the project needs a helping hand from more Ada
people. Alternatively one could start a Dia2Ada project (in Ada of
course) using the XML file that you can create with Dia.

What is it really that one expect of code from a UML model? I mean is it
only the skeleton code or should it do more? 

Preben who hasn't looked much at UML and code generation from it.



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

* Re: Free Ada UML tools Available /
  2002-05-24  5:37 ` Simon Wright
@ 2002-05-24  9:28   ` Preben Randhol
  2002-05-24 18:49     ` Simon Wright
  2002-05-29 16:34   ` Frode Tenneboe
  1 sibling, 1 reply; 34+ messages in thread
From: Preben Randhol @ 2002-05-24  9:28 UTC (permalink / raw)


On 24 May 2002 06:37:52 +0100, Simon Wright wrote:
> 
> I have a project (ColdFrame, http://www.pushface.org/coldframe/) which
> generates Ada framework code as a backend for a UML tool.
> 
> At the moment the only front-end supported is Rational Rose, which is
> _not_ free of course. The Gnome Office "Dia" sounds very interesting,
> though; the other free UML tools are Java-based and (IME) a little
> unreliable. I had thought about PragSoft's offering, but have been
> very busy. All that's needed is to dump the model in a CF-specific XML
> format :-)

So what is needed is to make a Dia2CF program (or a procedure in CF)
that makes it possible to utilise the XML from Dia.

Is the CF XML format documented somewhere?

Preben



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

* Re: Free Ada UML tools Available /
  2002-05-24  9:28   ` Preben Randhol
@ 2002-05-24 18:49     ` Simon Wright
  0 siblings, 0 replies; 34+ messages in thread
From: Simon Wright @ 2002-05-24 18:49 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> writes:

> So what is needed is to make a Dia2CF program (or a procedure in CF)
> that makes it possible to utilise the XML from Dia.

Yes, some XSLT script would be best (probably).

> Is the CF XML format documented somewhere?

Errm, no; there's an old machine-generated DTD but (a) it's old, (b)
since it was generated from an incomplete example it isn't itself
complete. Yet another sub-project.



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

* Re: Free Ada UML tools Available /
  2002-05-23 21:57   ` Preben Randhol
@ 2002-05-24 18:54     ` Pascal Obry
  2002-05-24 19:11       ` Preben Randhol
  0 siblings, 1 reply; 34+ messages in thread
From: Pascal Obry @ 2002-05-24 18:54 UTC (permalink / raw)



Preben Randhol <randhol+abuse@pvv.org> writes:

> On 23 May 2002 22:16:22 +0200, Pascal Obry wrote:
> > I don't think one exists. One nice free UML tool is ArgoUML, it support

> Yes, Dia + dia2code.

I had a look at the Ada generated code on the Dia website:

<<
with shape_types;
use shape_types
package window_types is

type Window is tagged record 
  -- Attributes
  -- private:
    visualrep: Shape;
end record;

-- Operations
  -- public:
    virtual function redraw return void = 0;
end window_types;
>>

"virtual" and "void = 0" ???

<<
package point_types is

type Point is tagged record 
  -- Attributes
  -- private:
    x: float;
    y: float;
end record;

-- Operations
  -- public:
    function Point ( x: float,  ) y: float ) return ;
    function getX return float;
    function getY return float;
end point_types;
>>

"float, ) y: float" ???

The private attributes should be generated:

<<
   type Private_Attributes is private;

   type Window is tagges record
      x, y : Integer;
      Priv : Private_Attributes;
   end record;

private

   type Private_Attribute is record
        ...
>>

As somebody said there is room for improvement ! But it is certainly a good
starting point...

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Free Ada UML tools Available /
  2002-05-24 18:54     ` Pascal Obry
@ 2002-05-24 19:11       ` Preben Randhol
  2002-05-24 19:43         ` Pat Rogers
  0 siblings, 1 reply; 34+ messages in thread
From: Preben Randhol @ 2002-05-24 19:11 UTC (permalink / raw)


On 24 May 2002 20:54:01 +0200, Pascal Obry wrote:
> 
> "virtual" and "void = 0" ???

I don't know the German author of the Ada generation. Perhaps he just
copied the C++ code. But I believe that if only Ada people that know UML
could give a hand it would improve a lot quite fast. Although the
program is written in C.

> As somebody said there is room for improvement ! But it is certainly a good
> starting point...

On the other hand a dia2cf (coldfront/coldframe I forgot the name) in
Ada is a very nice alternative and perhaps just as nice as then "we"
have more control over the release cycle and modifications etc...

The challange is thus put out there to somebody who feel they would like
to contribute something...

Preben who at the moment know just about nothing about UML



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

* Re: Free Ada UML tools Available /
  2002-05-24  9:21     ` Preben Randhol
@ 2002-05-24 19:16       ` Simon Wright
  2002-05-25  2:31       ` Adrian Hoe
  1 sibling, 0 replies; 34+ messages in thread
From: Simon Wright @ 2002-05-24 19:16 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> writes:

> Yes, but I guess that the project needs a helping hand from more Ada
> people. Alternatively one could start a Dia2Ada project (in Ada of
> course) using the XML file that you can create with Dia.

It might be OK to do it in Ada but I found it easier to start using
XSLT. I'm not 100% sure that was the right thing, but it certainly
works.

What's really needed is something like JSP (or perhasp Zope), which
has inserts that recognise the metamodel of UML and can access your
model;

  package <cf:class/> is ..

  end <cf:class/>;

so you have a means of writing parameterisable templates. I'd got a
little way towards this but it looked like a lot of work. It would
certainly be worth something like this (the XSLT approach is very
flexible but at a high cost).

> What is it really that one expect of code from a UML model? I mean
> is it only the skeleton code or should it do more?

Well, I think it's up to the software architect! If your target is a
little embedded box, you'll go one way, if it's something with an ODBC
backend for persistence you'll do something else. But if the model
describes the problem domain, it should be "true" for either. (This is
a large claim, you often need to decorate/tag/colour the model to
express particular design choices; of course a better design would tag
the model descrptively and let the code generator figure out how best
to translate it, but this is a hard problem).

The choice that the present CF architecture makes is appropriate (I
think!) for a memory-resident VxWorks GNAT system. If you describe a
class you get a whole raft of code to support the extent of the class
(all the current instances) and even more if you have associations. It
has state machine support as well (you just fill in the actions, which
are operations of the class like any other). What you don't do is have
container classes in your model; you just tell CF you want to have
0..* (or 0..4 if you want bounded containers) instance.

Another user has decided they don't want all that, they will hold
class extents in the backend database so they only need stack-based
arrays of instances (well, I think that's the plan).

It is possible to generate a high proportion of the code needed,
indeed if you write in an action specification language at a higher
level than Ada you can get 100% translation of the same model into
different target languages. See eg http://www.projtech.com/ .

Aonix have a framework-only parameterisable code generator (ACD), Some
of the links from http://www.pushface.org/coldframe/resources.html are
broken, but this one is good.



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

* Re: Free Ada UML tools Available /
  2002-05-24 19:11       ` Preben Randhol
@ 2002-05-24 19:43         ` Pat Rogers
  2002-05-24 21:41           ` Preben Randhol
  0 siblings, 1 reply; 34+ messages in thread
From: Pat Rogers @ 2002-05-24 19:43 UTC (permalink / raw)


"Preben Randhol" <randhol+abuse@pvv.org> wrote in message
news:slrnaet429.1kd.randhol+abuse@kiuk0156.chembio.ntnu.no...
<snip>
> Preben who at the moment know just about nothing about UML

I did a lot of (uncompensated) work to make the UMLStudio tool from PragSoft
generate what is IMHO appropriate Ada code from UML.  It might be worth the time
to see what it looks like, using their free demo version.  I do not claim that
my approaches are The One True Way of doing it, but at least I liked it!  :-)

www.pragsoft.com

PS : I am not related to PragSoft in any way.

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

* Re: Free Ada UML tools Available /
  2002-05-24 19:43         ` Pat Rogers
@ 2002-05-24 21:41           ` Preben Randhol
  2002-05-24 21:45             ` Pat Rogers
  2002-05-24 21:46             ` Pat Rogers
  0 siblings, 2 replies; 34+ messages in thread
From: Preben Randhol @ 2002-05-24 21:41 UTC (permalink / raw)


On Fri, 24 May 2002 19:43:54 GMT, Pat Rogers wrote:
> "Preben Randhol" <randhol+abuse@pvv.org> wrote in message
> news:slrnaet429.1kd.randhol+abuse@kiuk0156.chembio.ntnu.no...
><snip>
>> Preben who at the moment know just about nothing about UML
> 
> I did a lot of (uncompensated) work to make the UMLStudio tool from PragSoft
                 ^^^^^^^^^^^^^^
                 Did you retain the copyright?

Preben



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

* Re: Free Ada UML tools Available /
  2002-05-24 21:41           ` Preben Randhol
@ 2002-05-24 21:45             ` Pat Rogers
  2002-05-24 21:46             ` Pat Rogers
  1 sibling, 0 replies; 34+ messages in thread
From: Pat Rogers @ 2002-05-24 21:45 UTC (permalink / raw)


"Preben Randhol" <randhol+abuse@pvv.org> wrote in message
news:slrnaetcsd.14m.randhol+abuse@kiuk0156.chembio.ntnu.no...
<snip>
> > I did a lot of (uncompensated) work to make the UMLStudio tool from PragSoft
>                  ^^^^^^^^^^^^^^
>                  Did you retain the copyright?

I never gave it any thought, one way or the other, and don't know enough about
copyright law to say what that fact means.  However, a data point is that I
started with their original scripts for C++ ...





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

* Re: Free Ada UML tools Available /
  2002-05-24 21:41           ` Preben Randhol
  2002-05-24 21:45             ` Pat Rogers
@ 2002-05-24 21:46             ` Pat Rogers
  2002-05-24 22:03               ` Preben Randhol
  1 sibling, 1 reply; 34+ messages in thread
From: Pat Rogers @ 2002-05-24 21:46 UTC (permalink / raw)


"Preben Randhol" <randhol+abuse@pvv.org> wrote in message
news:slrnaetcsd.14m.randhol+abuse@kiuk0156.chembio.ntnu.no...
> On Fri, 24 May 2002 19:43:54 GMT, Pat Rogers wrote:
> > "Preben Randhol" <randhol+abuse@pvv.org> wrote in message
> > news:slrnaet429.1kd.randhol+abuse@kiuk0156.chembio.ntnu.no...
> ><snip>
> >> Preben who at the moment know just about nothing about UML
> >
> > I did a lot of (uncompensated) work to make the UMLStudio tool from PragSoft
>                  ^^^^^^^^^^^^^^
>                  Did you retain the copyright?

I should point out that it was strictly volunteer work on my part -- I hope the
above doesn't sound like I expected to be compensated and then somehow was not.
There was no such expectation of any kind.





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

* Re: Free Ada UML tools Available /
  2002-05-24 21:46             ` Pat Rogers
@ 2002-05-24 22:03               ` Preben Randhol
  0 siblings, 0 replies; 34+ messages in thread
From: Preben Randhol @ 2002-05-24 22:03 UTC (permalink / raw)


On Fri, 24 May 2002 21:46:38 GMT, Pat Rogers wrote:
> I should point out that it was strictly volunteer work on my part -- I
> hope the above doesn't sound like I expected to be compensated and
> then somehow was not.  There was no such expectation of any kind.

No, I was just thinking that since the work wasn't compensated you had
the right to use it for other works as well.

Preben



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

* Re: Free Ada UML tools Available /
  2002-05-24  9:21     ` Preben Randhol
  2002-05-24 19:16       ` Simon Wright
@ 2002-05-25  2:31       ` Adrian Hoe
  2002-05-25  7:13         ` Pascal Obry
                           ` (2 more replies)
  1 sibling, 3 replies; 34+ messages in thread
From: Adrian Hoe @ 2002-05-25  2:31 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnaes1hh.15c.randhol+abuse@kiuk0156.chembio.ntnu.no>...
> On 23 May 2002 23:02:26 -0700, Adrian Hoe wrote:
> > What a nice UML (and other) drawing tool! But still has plenty of room
> > for improvement including the code generator.
> > 
> > All operations will be generated as functions in Ada. (I have not
> > tried generating for others yet) Is this a feature or a shortage?
> > Still has to do alot of hand work on the generated Ada code.
> 
> Yes, but I guess that the project needs a helping hand from more Ada
> people. Alternatively one could start a Dia2Ada project (in Ada of
> course) using the XML file that you can create with Dia.
> 
> What is it really that one expect of code from a UML model? I mean is it
> only the skeleton code or should it do more? 
> 
> Preben who hasn't looked much at UML and code generation from it.


I gave the Dia2code a quick hack last night. I was mainly trimming
some of the code in generate_code_ada.c. It will generate nice spec
and body files now. I will put it in my website so that it is
available for download.

At the same time, I will contact the Dia2code project manager for the
update I made.
-- 
                                       -- Adrian Hoe
                                       -- http://adrianhoe.com



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

* Re: Free Ada UML tools Available /
  2002-05-23 18:54 ` martin.m.dowie
  2002-05-23 20:14   ` Pascal Obry
@ 2002-05-25  5:29   ` Adrian Hoe
  1 sibling, 0 replies; 34+ messages in thread
From: Adrian Hoe @ 2002-05-25  5:29 UTC (permalink / raw)


"martin.m.dowie" <martin.m.dowie@ntlworld.com> wrote in message news:<IVaH8.2237$FZ4.156947@newsfep1-win.server.ntli.net>...
> "Joe Simon" <jb.simon@lmco.nospammmmmm.com> wrote in message
> news:3CED3807.5378EC9D@lmco.nospammmmmm.com...
> > Anybody know of any free tools that will allow me to model using UML and
> > generate Ada code.
> >
> > I have used these tools for C++ and love them. I would like to find some
> > for Ada and play with them at home, generating code to use with gnat.
> 
> www.pragsoft.com
> 
> UML Studio

Considering the price, I would give it a shot. Unfortunately, they
only support M$. :(
-- 
                                       -- Adrian Hoe
                                       -- http://adrianhoe.com



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

* Re: Free Ada UML tools Available /
  2002-05-25  2:31       ` Adrian Hoe
@ 2002-05-25  7:13         ` Pascal Obry
  2002-05-25  7:14         ` Pascal Obry
  2002-05-25  8:13         ` Free Ada UML tools Available / Preben Randhol
  2 siblings, 0 replies; 34+ messages in thread
From: Pascal Obry @ 2002-05-25  7:13 UTC (permalink / raw)



byhoe@greenlime.com (Adrian Hoe) writes:

> I gave the Dia2code a quick hack last night. I was mainly trimming
> some of the code in generate_code_ada.c. It will generate nice spec
> and body files now. I will put it in my website so that it is
> available for download.

Very nice. This is exactly what Open Source is good for... you want it, you
implement it, that's it !

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Free Ada UML tools Available /
  2002-05-25  2:31       ` Adrian Hoe
  2002-05-25  7:13         ` Pascal Obry
@ 2002-05-25  7:14         ` Pascal Obry
  2002-05-25 15:15           ` Adrian Hoe
  2002-05-25  8:13         ` Free Ada UML tools Available / Preben Randhol
  2 siblings, 1 reply; 34+ messages in thread
From: Pascal Obry @ 2002-05-25  7:14 UTC (permalink / raw)



byhoe@greenlime.com (Adrian Hoe) writes:

> I gave the Dia2code a quick hack last night. I was mainly trimming
> some of the code in generate_code_ada.c. It will generate nice spec
> and body files now. I will put it in my website so that it is
> available for download.

BTW, did you work a bit on the indentation of the code ?

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Free Ada UML tools Available /
  2002-05-25  2:31       ` Adrian Hoe
  2002-05-25  7:13         ` Pascal Obry
  2002-05-25  7:14         ` Pascal Obry
@ 2002-05-25  8:13         ` Preben Randhol
  2 siblings, 0 replies; 34+ messages in thread
From: Preben Randhol @ 2002-05-25  8:13 UTC (permalink / raw)


On 24 May 2002 19:31:15 -0700, Adrian Hoe wrote:
> 
> I gave the Dia2code a quick hack last night. I was mainly trimming
> some of the code in generate_code_ada.c. It will generate nice spec
> and body files now. I will put it in my website so that it is
> available for download.

Great!

> At the same time, I will contact the Dia2code project manager for the
> update I made.

Yes please do.

Preben



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

* Re: Free Ada UML tools Available /
  2002-05-25  7:14         ` Pascal Obry
@ 2002-05-25 15:15           ` Adrian Hoe
  2002-05-31  4:12             ` Adrian Hoe
  0 siblings, 1 reply; 34+ messages in thread
From: Adrian Hoe @ 2002-05-25 15:15 UTC (permalink / raw)


Pascal Obry <p.obry@wanadoo.fr> wrote in message news:<ubsb4aecc.fsf@wanadoo.fr>...
> byhoe@greenlime.com (Adrian Hoe) writes:
> 
> > I gave the Dia2code a quick hack last night. I was mainly trimming
> > some of the code in generate_code_ada.c. It will generate nice spec
> > and body files now. I will put it in my website so that it is
> > available for download.
> 
> BTW, did you work a bit on the indentation of the code ?
> 


Yes, I did. I have also done some modification so that you can alter
package extension to your liking rather than the fix "_types" (eg.
package client_types, client_types.ads). Just go to the
generate_code_ada.c and change the following macro:

#define PACKAGE_EXT "_types"

to whatever you like.

-- 
                                       -- Adrian Hoe
                                       -- http://adrianhoe.com



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

* Re: Free Ada UML tools Available /
  2002-05-24  5:37 ` Simon Wright
  2002-05-24  9:28   ` Preben Randhol
@ 2002-05-29 16:34   ` Frode Tenneboe
  2002-05-29 19:16     ` Simon Wright
  1 sibling, 1 reply; 34+ messages in thread
From: Frode Tenneboe @ 2002-05-29 16:34 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote:

> I have a project (ColdFrame, http://www.pushface.org/coldframe/) which
> generates Ada framework code as a backend for a UML tool.

> At the moment the only front-end supported is Rational Rose, which is
> _not_ free of course.

I thought that Rational Rose already did that....generate Ada95 code
that is?

 -Frode

-- 
^ Frode Tenneb�                    | email: ft@edh.ericsson.se      ^
| Ericsson AS., N-1788 Halden      | Phone: +47 69 21 41 47         |
| with Standard.Disclaimer; use Standard.Disclaimer;                |



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

* Re: Free Ada UML tools Available /
  2002-05-29 16:34   ` Frode Tenneboe
@ 2002-05-29 19:16     ` Simon Wright
  0 siblings, 0 replies; 34+ messages in thread
From: Simon Wright @ 2002-05-29 19:16 UTC (permalink / raw)


Frode Tenneboe <ft@alne.edh.ericsson.se> writes:

> Simon Wright <simon@pushface.org> wrote:
> 
> > I have a project (ColdFrame, http://www.pushface.org/coldframe/) which
> > generates Ada framework code as a backend for a UML tool.
> 
> > At the moment the only front-end supported is Rational Rose, which is
> > _not_ free of course.
> 
> I thought that Rational Rose already did that....generate Ada95 code
> that is?

Yes, but you have very little control over how it does it (in the
sense that the architect can't change overall policy) and far too much
control (in that there is a moby dialog box with more options than you
could shake a stick at, which the individual engineer can change on an
individual model element with possible global consequences and with
very little clue as to what these might be).

Also, if something's to be in the generated code it has to be in the
model, so you get all sorts of cruft in the model that detracts from
understanding (domain pollution, of the subject matter by the software
architecture).



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

* Re: Free Ada UML tools Available /
  2002-05-25 15:15           ` Adrian Hoe
@ 2002-05-31  4:12             ` Adrian Hoe
  2002-05-31 14:07               ` Pat Rogers
  0 siblings, 1 reply; 34+ messages in thread
From: Adrian Hoe @ 2002-05-31  4:12 UTC (permalink / raw)


byhoe@greenlime.com (Adrian Hoe) wrote in message news:<9ff447f2.0205250715.53ddf36e@posting.google.com>...
> Pascal Obry <p.obry@wanadoo.fr> wrote in message news:<ubsb4aecc.fsf@wanadoo.fr>...
> > byhoe@greenlime.com (Adrian Hoe) writes:
> > 
> > > I gave the Dia2code a quick hack last night. I was mainly trimming
> > > some of the code in generate_code_ada.c. It will generate nice spec
> > > and body files now. I will put it in my website so that it is
> > > available for download.
> > 
> > BTW, did you work a bit on the indentation of the code ?
> > 
> 
> 
> Yes, I did. I have also done some modification so that you can alter
> package extension to your liking rather than the fix "_types" (eg.
> package client_types, client_types.ads). Just go to the
> generate_code_ada.c and change the following macro:
> 
> #define PACKAGE_EXT "_types"
> 
> to whatever you like.

Technically speaking, the Ada code generation of Dia2Code is still far
to be useful. I am wondering if there is any resources providing
information and examples on UML to Ada mapping?
-- 
                                       -- Adrian Hoe
                                       -- http://adrianhoe.com



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

* Re: Free Ada UML tools Available /
  2002-05-31  4:12             ` Adrian Hoe
@ 2002-05-31 14:07               ` Pat Rogers
  2002-05-31 18:49                 ` Pascal Obry
  0 siblings, 1 reply; 34+ messages in thread
From: Pat Rogers @ 2002-05-31 14:07 UTC (permalink / raw)


"Adrian Hoe" <byhoe@greenlime.com> wrote in message
news:9ff447f2.0205302012.69da8f7c@posting.google.com...

<snip>

> Technically speaking, the Ada code generation of Dia2Code is still far
> to be useful. I am wondering if there is any resources providing
> information and examples on UML to Ada mapping?

I put a fair amount of work into making UML Studio generate (what I think is)
reasonable code.  One could download the demo version from www.pragsoft.com and
experiment.





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

* Re: Free Ada UML tools Available /
  2002-05-31 14:07               ` Pat Rogers
@ 2002-05-31 18:49                 ` Pascal Obry
  2002-06-01  3:03                   ` Adrian Hoe
  0 siblings, 1 reply; 34+ messages in thread
From: Pascal Obry @ 2002-05-31 18:49 UTC (permalink / raw)



"Pat Rogers" <progers@classwide.com> writes:

> "Adrian Hoe" <byhoe@greenlime.com> wrote in message
> news:9ff447f2.0205302012.69da8f7c@posting.google.com...
> 
> <snip>
> 
> > Technically speaking, the Ada code generation of Dia2Code is still far
> > to be useful. I am wondering if there is any resources providing
> > information and examples on UML to Ada mapping?
> 
> I put a fair amount of work into making UML Studio generate (what I think is)
> reasonable code.  One could download the demo version from www.pragsoft.com
> and experiment.

I second that, the code generated is indeed nice.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Free Ada UML tools Available /
  2002-05-31 18:49                 ` Pascal Obry
@ 2002-06-01  3:03                   ` Adrian Hoe
  2002-06-01 17:16                     ` Free Ada UML tools Available (long) Pat Rogers
  0 siblings, 1 reply; 34+ messages in thread
From: Adrian Hoe @ 2002-06-01  3:03 UTC (permalink / raw)


Pascal Obry <p.obry@wanadoo.fr> wrote in message news:<uwutkgnjn.fsf@wanadoo.fr>...
> "Pat Rogers" <progers@classwide.com> writes:
> 
> > "Adrian Hoe" <byhoe@greenlime.com> wrote in message
> > news:9ff447f2.0205302012.69da8f7c@posting.google.com...
> > 
> > <snip>
> > 
> > > Technically speaking, the Ada code generation of Dia2Code is still far
> > > to be useful. I am wondering if there is any resources providing
> > > information and examples on UML to Ada mapping?
> > 
> > I put a fair amount of work into making UML Studio generate (what I think is)
> > reasonable code.  One could download the demo version from www.pragsoft.com
> > and experiment.
> 
> I second that, the code generated is indeed nice.
> 
> Pascal.


Too bad, I don't have windows at my office and home. :)

-- 
                                       -- Adrian Hoe
                                       -- http://adrianhoe.com



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

* Re: Free Ada UML tools Available  (long)
  2002-06-01  3:03                   ` Adrian Hoe
@ 2002-06-01 17:16                     ` Pat Rogers
  0 siblings, 0 replies; 34+ messages in thread
From: Pat Rogers @ 2002-06-01 17:16 UTC (permalink / raw)


"Adrian Hoe" <byhoe@greenlime.com> wrote in message
news:9ff447f2.0205311903.631465e5@posting.google.com...
>
<snip>
>
> Too bad, I don't have windows at my office and home. :)

Here is the document that will (eventually) go into their help file (in html)
describing the Ada 95 code generation:



Ada 95 Code Generation

For each master, a corresponding Ada package is generated in a separate file.
If the
master has a file name specified in its property sheet, this file name will be
used for the
generated file. Otherwise, the file name is determined as follows.  If the
namespace is
specified in the master's property sheet, that namespace is used.  If no
namespace is
specified, the master name is used.  In any case, the file containing the
package
declaration will have an extension of "ads".  Corresponding package bodies are
generated
in files having an extension of "adb". As each master is generated, its file
names appear
in the log window messages, e.g., "Generating: 'Foo.ads'".

For each master, the file generated for the package declaration will contain the
following:
* For each master inherited/contained by this master, a with-clause is generated
(e.g.:  "with Bar;").  Clauses are also generated for packages referenced by
types
used for attributes and for generic formal object parameters (for template
classes).
* The class comment (if any) appears next.
* The package declaration then appears, as follows:
* A "primary" tagged type is generated within a corresponding package
declaration
to represent any single class in a diagram.  (Other types are also generated as
necessary.)  A naming convention for the Ada package name and type name is
used, based upon the names of the classes and the namespaces in the property
sheets. Specifically, the namespace for the class is used as the package name
and
the class name is used as the primary type name.  If the namespace is not
specified, the class name becomes the package name and "Object" is used as the
primary type name.  This convention is used for all classes for which code is
generated and is also reflected in the names referenced by with-clauses
generated
due to relationships in the diagrams.
* The kind of type generated for the primary type depends upon the access
control specifications for those things that can be components of the type:
the attributes, the containments and the relations. If all (non-static/non-
const) attributes are public, a simple Ada tagged type is generated with the
attributes as visible record components.  If none are public, a private
tagged type is generated.  If some attributes are public and others are not, a
combination of private and non-private tagged types is used.  Note that
private non-const attributes are not truly private in the C++/Java sense --
they get protected/package visibility because they are placed within the
primary type as record components so they can be referenced as part of
individual object instances.   To do otherwise would have the effect of
making them static.
* Containment relations are generated as components of the tagged type,
using the specific type indicated.
* Relationship declarations are generated as components of the tagged type,
but use the access-to-classwide specific type for the relationship specified.
* Derivations based upon inheritance in the diagram are handled in all the
above cases.  Note that, like Java, Ada only directly supports single
inheritance.  Violations are noted in the log.
* An access type designating the primary tagged type is declared if the primary
type
is not abstract.
* An access-to-class-wide type is declared, designating the class and any class
ever
derived from it.
* Any exceptions defined by the master are declared.
* Visible constant/static attributes are declared.
* Visible methods defined by the master are declared.  Methods specified as
having
a return value type are declared as functions; otherwise they are declared as
procedures.  Like some other object-oriented languages -- but unlike C++ and
Java --
Ada doesn't use the "distinguished receiver" syntax of Object.Operation(params).
The object to be referenced (that controls dynamic
dispatch, etc.) is an explicit parameter of the method.  If a method in an Ada
package doesn't mention the primary tagged type (either as the type for a formal
parameter, or, additionally for functions, as the type of the value returned),
that
method is not a "primitive operation" of the type and is not, for example,
inherited
by descendant types.  Hence the script conditionally inserts a formal parameter
named "This" during code generation, of the primary tagged type.  (This
insertion
is controlled by the script's invocation options.)  The parameter mode for This
in
all methods will be determined by the mode specification for the overall method.
Thus, for const methods, parameter This will have mode "in"; for non-const
procedures the mode will be "in out", and non-const functions will an access
parameter.
* Any exceptions propagated by any given visible method are indicated in a
comment immediately following the method declaration.
* All get/set methods requested for individual non-const/non-static attributes
are
declared.  The "get" methods are declared as functions, with names that
incorporate the corresponding attribute name.  Specifically, the function names
will start with the attribute name, followed by "_of".  The formal parameter
This
will be inserted, following the rules described above for explicit methods,
except
that insertion is unconditional.  Thus, an attribute named "Bar", of type
Integer,
for a type named "Foo", would be declared as follows:
function Bar_of( This : Foo ) return Integer;
 The "set" methods are declared as procedures, with the name "Set".
* The private part of the package is declared (if necessary) and the protected
static/const attributes are declared, along with any type completions required
from
the visible part of the package declaration.
For each master, a package body will be generated only if required, depending
upon the
content and access (visibility) specifications associated with the encapsulated
declarations.  For example, non-abstract methods require bodies and these are
required to
be within the corresponding package body.
The file generated for the package body (if any) will contain the following:
* Private static/const attributes are declared. These private attributes are
sufficient
to cause a package body to be generated even if no method bodies are necessary;
pragma Elaborate_Body is generated in the package specification to make such
bodies legal.  Note, however, that a package body containing only attributes
will
have little use unless additional code is added to the body manually.
* Private method bodies are generated, following the rules for the declarations
described above.
* Any subprogram bodies required to complete the method declarations occurring
in the package declaration are generated.
* An executable part, if any, is generated.  This generation is controlled by
the
script invocation options.






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

* Free Ada UML tools Available /
@ 2002-12-10  0:11 Oliver Kellogg
  0 siblings, 0 replies; 34+ messages in thread
From: Oliver Kellogg @ 2002-12-10  0:11 UTC (permalink / raw)


On 2002-05-24 11:54:02 PST, Pascal Obry wrote:

> I had a look at the Ada generated code on the Dia website:
> [...]
> "virtual" and "void = 0" ???

I've fixed this in cvs, see
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dia2code/dia2code/

Also I've added support for UML packages and CORBA stereotypes.
If any of you are using dia2code for Ada, now's the time for your
ideas and suggestions - a 0.8.2 release is coming up in the near
future.

Oliver Kellogg



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

end of thread, other threads:[~2002-12-10  0:11 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-23 18:42 Free Ada UML tools Available / Joe Simon
2002-05-23 18:54 ` martin.m.dowie
2002-05-23 20:14   ` Pascal Obry
2002-05-24  7:15     ` martin.m.dowie
2002-05-25  5:29   ` Adrian Hoe
2002-05-23 20:16 ` Pascal Obry
2002-05-23 21:57   ` Preben Randhol
2002-05-24 18:54     ` Pascal Obry
2002-05-24 19:11       ` Preben Randhol
2002-05-24 19:43         ` Pat Rogers
2002-05-24 21:41           ` Preben Randhol
2002-05-24 21:45             ` Pat Rogers
2002-05-24 21:46             ` Pat Rogers
2002-05-24 22:03               ` Preben Randhol
2002-05-23 21:56 ` Preben Randhol
2002-05-24  6:02   ` Adrian Hoe
2002-05-24  9:21     ` Preben Randhol
2002-05-24 19:16       ` Simon Wright
2002-05-25  2:31       ` Adrian Hoe
2002-05-25  7:13         ` Pascal Obry
2002-05-25  7:14         ` Pascal Obry
2002-05-25 15:15           ` Adrian Hoe
2002-05-31  4:12             ` Adrian Hoe
2002-05-31 14:07               ` Pat Rogers
2002-05-31 18:49                 ` Pascal Obry
2002-06-01  3:03                   ` Adrian Hoe
2002-06-01 17:16                     ` Free Ada UML tools Available (long) Pat Rogers
2002-05-25  8:13         ` Free Ada UML tools Available / Preben Randhol
2002-05-24  5:37 ` Simon Wright
2002-05-24  9:28   ` Preben Randhol
2002-05-24 18:49     ` Simon Wright
2002-05-29 16:34   ` Frode Tenneboe
2002-05-29 19:16     ` Simon Wright
  -- strict thread matches above, loose matches on Subject: below --
2002-12-10  0:11 Oliver Kellogg

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