Rational Rose has an Ada add-in that successfully generates Ada 95 from UML.
Parameterised Classes map very well to generic packages, allowing any of the
kind of formal parameter to be generated and the corresponding actuals to be
supplied in the instantiation. Formal parameters don't fit well into UML but
sufficiently for the required code to be generated.
Child library units can be generated by specifying that a class is mapped to
an Ada package called A.B - the semantics of the privateness of B cannot be
captured in UML however.
By choice, a class can be mapped to a tagged type, a record type, a task
type or a protected type, but in the last two cases inheritance cannot be
[log in to unmask]
From: Team Ada: Ada Advocacy Issues (83 & 95)
[mailto:[log in to unmask]]On Behalf Of AdaWorks
Sent: 11 October 1999 17:55
To: [log in to unmask]
Subject: Re: CACM Ada comment
Mapping UML to Ada is an intersting notion. It would seem that
UML can map to most of the Ada language but not all of it. UML
seems to have been designed mainly for C++ with features added
later to support Java.
Though I am no expert on UML, it seems that Ada is richer in composition
mechanisms than one finds in the modeling notation of UML. For example,
Ada's child library units, particularly private child library units, do
not seem to fit well into the UML notation. There are other little
differences that seem to be outside the modeling capability of UML. For
example, generic formal signature packages such as,
-- type and operations parameters
package Signature end Signature;
use for instantating generic formal package parameters.
Is there a mechanism in UML that corresponds to semantics of the protected
I seem to recall that Ed Colbert was working on something that would extend
UML notation to provide a more complete mapping to Ada.
[log in to unmask]
AdaWorks Software Engineering
2555 Park Boulevard
Palo Alto, CA 94306