TOC PREV NEXT INDEX DOC LIST MASTER INDEX



Using the Ada Runtime Contents

Preface

Audience
Other Resources
Apex Documentation Roadmap
Contacting Rational Technical Publications
Contacting Rational Technical Support

Runtime System Overview

The Apex Runtime Structure
The Ada Kernel
Ada Tasking and VADS Exec Extensions
How Tasking for the Apex Microkernel Works
Debugging and the Runtime System
Tasking for the Apex Microkernel vs. Tasking for OS Threads
Concurrency
Multithreaded Ada (Tasking for OS Threads)
When to Use the Apex Runtime (Tasking for the Apex Microkernel)
Parallel Programming is Tricky
Runtime System Interfaces
Runtime Interfaces - Multithreaded Only
Ada_Krn_Defs and Ada_Krn_I

Ada Kernel Layer

Mutex and Condition Variable Object Types Definition
Mutex
Condition Variable
Ada Kernel Implementation
Ada Program
Ada Task
Ada Task Master
Kernel Scheduling
Callout
Task Storage
Time
Alarm
Mutex
Condition Variable
Binary Semaphore
Counting Semaphore
Mailbox
Protected Records

Program Exit or Deadlock

Apex Archive Interface Packages

rts_interface.ss packages

Fast Rendezvous Optimization

Debugging Library Unit Elaboration

Begin Debugging the Program

Tasking

Example
Task Creation
Task Activation
Task Startup
Delay Statements
Task Entry Calls
Accept and Select Statements
Task Completion and Termination
I/O in Tasking Programs
Specifying the I/O Method

Exception Handling

A Runtime View of Exception Handling
Sources of Exceptions
Explicit and Implicit exception handlers
Effecting transfer of control to a handler
Determining the Source of a Raised Exception at Run Time
Getting a Call Stack from the Source of the Exception
Getting More Descriptive Output when an Unhandled Exception is Encountered
Dealing with Exception Chains
Post-mortem Unhandled Exception Call Stack Analysis
Detailed Usage of the stacktrace.ss Subprograms
Dealing with Unhandled Exceptions
Unwinding the Call Stack a Frame at a Time
Unwinding the Call Stack from Arbitrary Places in an Application
Unwinding the Call Stack from a Synchronous Interrupt (Signal) Handler
Customization
User Available Runtime Exception Handling Hooks
Customizing the String Returned by Ada.Exceptions.Exception_Information
Customizing the Code Called at Program Start-up
Customizing the Trace Dump Format

Signal Handling

Files and I/O

Predefined I/O Packages
Opening and Creating Files
Form Parameter for Create and Open Procedures
Creating Files
Opening Files
File I/O
Adding Output to Files
Flushing Text Files
Determining a File's Name
I/O Deviations from POSIX.5

Memory Management

Managing Heap Storage
Memory Management Architecture
Memory Management Configuration
User Defined Storage Pools
Memory Management Instrumentation
Managing Stack Storage
Storage_Size Clause and Pragma Storage_Size
Pragma Main
Configuration Package Parameters
Session Switches

Sizes of Objects

Concepts for Object Sizes
Minimum, Default, Packed, and Unpacked Sizes
Determination of Storage Size
Sizes for Specific Types
Discrete Types
Integer Types
Enumeration Types
Floating-Point Types
Record Types
Array Types

Configuring the User Library

Configuring the User Library
Configuration Parameters
Memory Management
Code Coverage
Taskdeb Configuration Structure
ADAPATH References
Configuration_Table Structure
V_Passive_Isr Routine
V_Signal_Isr Routine
V_Set_Priority and V_Get_Priority Routines (For Threaded Versions)
V_Pending_Overflow_Callout Routine (For Non-Threaded Versions)
Initialize/Finalize Routines
Configuring Ada.Calendar
The Calendar_Configuration Package
Modifying Calendar_Configuration
Using a Modified Calendar_Configuration Package

Switches

Switches for Analyzing Ada Units
Switches for the Rational Ada Code Generator
Switches for Linking
Descriptions of Switches

Using the Ada Runtime Index


Rational Software Corporation 
http://www.rational.com
support@rational.com
techpubs@rational.com
Copyright © 1993-2001, Rational Software Corporation. All rights reserved.
TOC PREV NEXT INDEX DOC LIST MASTER INDEX TECHNOTES APEX TIPS