Chapter 7

Rose Ada Add-In

The Rose Ada add-in allows you to produce Ada source code from the information contained in a Rose model.

The code generated for each selected model component is a function of that component's specification and code-generation properties, and the model's properties. These properties provide the language-specific information required to map your model onto Ada.

Rose/Ada preserves user-supplied declarations and statements from one iteration to the next. You place such user-supplied code in protected code regions which are preserved whenever code is re-generated.

The Rose/Ada Code Generator:


Rose Ada Add-In New Features and Enhancements

There are no new Rose Ada features or enhancements for this version release of Rose.

Rose Ada Fixes With No Defect Associated

Rose SGI: Remove dependency on an OS call, the CodeMapper interpreter is returning a spurious status code. The OS call was for performing a file compare to determine whether an update was necessary.

For a role, where RecordFieldImplementation is set to Discriminant, the container declaration occurred after the type definition.

Rose Ada Defects Fixed in This Release

Defect
Description
3486

preserve=yes as default when generating Ada bodies.
A new operation property InitialCodeBody, specifies code that should be emitted in the user generated subprogram body. The first time the code is emitted, the protected region is set with preserve=yes. The code will be preserved on subsequent code regenerations, until preserve=no is set, by the user. The name default refers to the value of the project property DefaultCodeBody.
The default setting is ${default}.

11093

Rose Ada should allow [statement] to be overridden.
A new project property -- DefaultCodeBody, specifies what code should be emitted in generated subprogram bodies.
The default setting is [statement].

11737

Ada 83 and Ada 95 -- A new value RenamingAsBody has been added to the SubprogramImplementation property. This effectively replaces Renaming, which is now used to generate a renaming-as-specification.
Note: You must explicitly change any earlier setting of Renaming to RenamingAsBody, if renaming-as-specification is not desired.

12329

Code generation ignores the Abstract field for an operation.

12687

Formal parameters are not substituted for unconstrained parameterized implementation.

13429

Private inheritance defects

13504

Decl dependency not handled correctly

14965

Rose Apex needlessly reports circularities among nested packages.

15393

Type Name is not substituted in an association with an instantiated class.

15404

Code generated for inherited discriminants does not comply with the Ada 95 LRM

15791

Rose Ada 83 does not generate code if the class name contains the colon (:) character.

16141

Only some of the ContainerDeclarations are generated.

16416

Default implementation of equality recurses indefinitely.

16667

Illegal code is generated for bidirectional associations that has a decl relationship.

17059

Ada code generation objects to circular dependencies, even when legal.

21639

Apex subsystem views are created incorrectly.

21774

Ada 83 - Visibility of static attributes is not working.

21919

Ada 83 code generation --The order of operation in the specification does not match the order of operations in the body.

21923

Ada 83 code generation - Protected operations were previously placed in the visible part of the package. Protected operations are now placed in the protected part of the package, just as they are in Ada 95 code generation.

21924

Ada 83 code generation - Class utility operations and attributes are incorrectly generated.

23596

Ada 95 code generation cannot generate a package body of a class utility, even when the operations are defined.

24880

Accessor functions are not generated for abstract classes

54401

Upon generating code for Ada83 model, the following type of error may occur:
System error: line 1498, pc6184: The enumeration value for model property "classParameterMode" on component "Op1" does not exist in the enumeration "ParameterModeSet"
Contact Rational Technical Support if you encounter this error.


      

Rational Support

techpubs@rational.com
Copyright © 2001, Rational Software Corporation. All rights reserved.