Ada 2005 Conventions

Enterprise Architect supports round trip engineering of Ada 2005, where the following conventions are used.

Stereotypes

Stereotype

Applies To

Corresponds To

adaPackage

Class

 

A package specification in Ada 2005 without a tagged record.

adaProcedure

Class

 

A procedure specification in Ada 2005.

delegate

Operation

 

Access to a subprogram.

enumeration

Inner Class

 

An enum type.

struct

Inner Class

 

A record definition.

typedef

Inner Class

A type definition, subtype definition, access type definition, renaming.

 

 
Tagged Values

Tag

Applies To

Corresponds To

Discriminant

Inner Class with stereotype typedef

The type's discriminant.

 

IsAccess

Parameter

Determination of whether the parameter is an access variable.

 

InstantiatedUnitType

Inner Class with stereotype typedef

The instantiated unit's type (Package / Procedure / Function).

 

PartType

Inner Class with stereotype typedef

The part type (renames or new).

 

Type

Inner Class with stereotype typedef

If Value = SubType, set subtype

If Value = Access, set access type.

 

Other Conventions

Appropriate type of source files: Ada specification file, .ads
Ada 2005 imports Packages defined as either <<adaPackage>>Class or Class, based on the settings in the Ada 2005 options
A Package in the Ada specification file is imported as a Class if it contains a Tagged Record, the name of which is governed by the options Use Class Name for Tagged Record and Alternate Tagged Record Name; all attributes defined in that Tagged Record are absorbed as the Class's attributes
A procedure / function in an Ada specification file is considered as the Class's member function if its first parameter satisfies the conditions specified in the options Ref Param Style, Ignore Reference parameter name and Ref parameter name
The option Define Reference for Tagged Record, if enabled, creates a reference type for the Class, the name of which is determined by the option Reference Type Name; for example:
 
 
HelloWorld.ads

 package HelloWorld is

         type HelloWorld is tagged record

                 Att1: Natural;

                 Att3: Integer;

         end record;

 

         -- Public Functions

         function MyPublicFunction (P: HelloWorld) return String;

         procedure MyPublicFunction (P1: in out HelloWorld; AFlag: Boolean);

 private

         -- Private Functions

         function MyPrivateFunction (P: HelloWorld) return String;

         procedure MyPrivateFunction (P1: in out HelloWorld; AFlag: Boolean);

 

 end HelloWorld;
 
 ADA2005Class

Notes

Ada 2005 support is available in the System Engineering and Ultimate editions of Enterprise Architect
 

Learn more