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.