Contents

Preface

Audience
Other Resources
Contacting Rational Technical Publications
Contacting Rational Technical Support

Introducing Rational Rose Ada

Contents
What is Code Generation?
Using Code Generation
What is Reverse Engineering?
Using Reverse Engineering

Mapping the UML Notation to Ada 95 -- Code Generation

Contents
Introduction
Name Space
Name Resolution
Code Generation Properties and Consistency
Classes
Tagged Implementation
Record Implementation
Mixin Implementation
Task Implementation
Protected Implementation
Parameterized Classes
Generic Implementation
Unconstrained Type Implementation
Bound Classes
Generic Implementation
Unconstrained Type Implementation
Utilities
Metaclasses
Attributes
Has Relationships
Associations
Simple Associations
Association Classes
Dependency Relationships
Generalization Relationships (Inheritance)
Mixin Inheritance
Multiple Views Inheritance
Operations
Accessor Operations
Standard Operations
Subprogram Implementation
Visibility
Overriding
Bodies
User-Defined Initialization, Assignment and Finalization

OOD and Ada 83

Contents
Mapping Classes
Standard Classes
Utilities
Parameterized Classes
Bound Classes
Mapping Relationships
Dependency Relationships
Has Relationships
Generalization Relationships (Inheritance)
Association Relationships
Achieving Polymorphism with Ada
Unmapped Elements for Ada

Ada Code Generation

Contents
What is the Ada Generator?
Basic Steps for Iterative Code Development
Overview
The Generated Files
The Basic Code Contents
Entering Parameters for Parameterized Classes
Entering Static Attributes and Metaclass Attributes
Evaluating the Generated Code
Completing the Implementation of the Generated Code
Regenerating Code
Refining the Subsystem and View Structure
Determining the Directory for an Ada File
Mapping Classes and Modules to Ada Units
Specifying Filenames
Refining Class Definitions (Ada 83)
Standard Operations
User-Defined Operations
Get and Set Operations
Inherited Operations
Record Fields and Object Declarations
Specifying Additional Ada Unit Contents
Adding Structured Comments
Adding With Clauses
Adding Global Declarations

Reverse Engineering from Apex

Contents
Basic Operations
Creating the Model File
Displaying the Model
Dialog Box Options
How Ada Is Represented in a Class Diagram
Mapping Package Specifications (Ada 95)
Mapping Package Specifications (Ada 83)
Mapping Type Declarations (Ada 95)
Mapping Type Declarations (Ada 83)
Details of a Has Relationship (Ada 83)
Mapping Subprogram Declarations
Mapping Object Declarations
Mapping "With" Clauses
Special Handling for Subsystems in the $APEX_BASE Directory

Code Generation Properties

Contents
Model Properties
Spec File Extension
Spec File Backup Extension
Spec File Temporary Extension
Body File Extension
Body File Backup Extension
Body File Temporary Extension
Create Missing Directories
Generate Bodies
Generate Standard Operations
Implicit Parameter
Stop On Error
Error Limit
File Name Format
Directory
Class Properties
Representation
Generate Accessor Operations
Access Class Wide (Ada 95)
Code Name
Type Name (Ada 95) / Class Name (Ada 83)
Type Visibility (Ada 95) / Class Access (Ada 83)
Type Implementation (Ada 95)
Type Control (Ada 95)
Type Control Name (Ada 95)
Type Definition (Ada 95) / Implementation Type (Ada 83)
Record Implementation (Ada 95)
Record Kind Package Name (Ada 95)
Is Limited (Ada 95)
Is Subtype
Polymorphic Unit (Ada 83)
Handle Name (Ada 83)
Handle Access (Ada 83)
Discriminant (Ada 83)
Variant (Ada 83)
Generate Access Type (Ada 95)
Access Type Name (Ada 95)
Access Type Visibility (Ada 95)
Access Type Definition (Ada 95)
Maybe Aliased (Ada 95)
Parameterized Implementation (Ada 95)
Parent Class Name (Ada 95)
Enumeration Literal Prefix
Record Field Prefix
Array Of Type Name (Ada 95)
Access Array Of Type Name (Ada 95)
Array Of Access Type Name (Ada 95)
Access Array Of Access Type Name (Ada 95)
Array Index Definition (Ada 95)
Generate Standard Operations
Implicit Parameter
Implicit Parameter Name (Ada 95) / Class Parameter Name (Ada 83)
Generate Default Constructor (Ada 95)/Default Constructor Kind (Ada 83)
Default Constructor Name
Inline Default Constructor
Generate Copy Constructor (Ada 95) / Copy Constructor Kind (Ada 83)
Copy Constructor Name (Ada 95)
Inline Copy Constructor
Generate Destructor (Ada 95)
Destructor Name
Inline Destructor
Generate Type Equality (Ada 95)
Type Equality Name (Ada 95) / Class Equality Operation (Ada 83)
Handle Equality Operation (Ada 83)
Inline Equality
Is Task (Ada 83)
Operation Properties
Implicit Parameter Class Wide (Ada 95)
Representation
Use Colon Notation
Generate Accessor Operations
Use File Name
Code Name
Subprogram Implementation
Renames (Ada 95)
Generate Overriding (Ada 95)
Implicit Parameter Mode (Ada 95) / Class Parameter Mode (Ada 83)
Generate Access Operation (Ada 95)
Inline
Entry Code
Exit Code
Entry Barrier Condition (Ada 95)
Has Properties
Is Constant
Is Aliased (Ada 95)
Code Name
Name If Unlabeled
Record Field Implementation (Ada 95)
Record Field Name (Ada 95) / Data Member Name (Ada 83)
Generate Get (Ada 95)
Generate Access Get (Ada 95)
Get Name
Inline Get
Generate Set (Ada 95)
Generate Access Set (Ada 95)
Set Name
Inline Set
Is Constant (Ada 83)
Initial Value
Variant (Ada 83)
Container Implementation (Ada 95)
Container Generic
Container Type
Container Declarations
Attribute Properties
Initial Value
Representation
Is Constant
Is Aliased (Ada 95)
Code Name
Record Field Implementation (Ada 95)
Record Field Name (Ada 95) / Data Member Name (Ada 83)
Generate Get (Ada 95)
Generate Access Get (Ada 95)
Get Name
Inline Get
Generate Set (Ada 95)
Generate Access Set (Ada 95)
Set Name
Inline Set
Association Role Properties
Record Field Implementation
Is Constant
Is Aliased (Ada 95)
Code Name
Name If Unlabeled
Record Field Name (Ada 95) / Data Member Name (Ada 83)
Generate Get (Ada 95)
Generate Access Get (Ada 95)
Get Name
Inline Get
Generate Set (Ada 95)
Set Name
Inline Set
Initial Value
Container Implementation (Ada 95)
Container Generic
Container Type
Container Declarations
Association Properties
Name If Unlabeled
Generate Get (Ada 95)
Get Name
Inline Get
Generate Set (Ada 95)
Set Name
Inline Set
Generate Associate
Associate Name
Inline Associate
Generate Dissociate
Dissociate Name
Inline Dissociate
UML Package Properties
Directory
Module Spec Properties
Generate
Copyright Notice
Return Type
Generic Formal Parameters
Additional Withs
Module Body Properties
Is Subunit
Is Private (Ada 95)
Generate
Copyright Notice
Return Type
Additional Withs

Index