Zoom Outline PDF View  or  Email  


Introduction to Software Engineering with Ada 95




AUDIENCE:   This course is for software engineers and programmers requiring a thorough grounding in Ada 95.

PREREQUISITES:   Delegates are not required to have any previous knowledge of the Ada language.

DURATION:   5 days. Hands on.

OBJECTIVES:   This intensive course is for software engineers needing a thorough knowledge of Ada 95. The features of Ada 95 are explained, and recommendations are made for ensuring consistently high quality code. An important part of the course involves familiarising delegates with the ARM (Ada 95 Reference Manual) as well as containing an overview of SPARK for high integrity systems.
On completing the course delegates will have covered the following topic areas:
Introduction to the course - its scope and content. Brief history of the Ada language. An overview of the main Ada features - object orientation and its mapping into packages, tasks, strong typing, exceptions and re-use. The Ada Reference Manual and the Rationale. Overview of the Ada libraries. Predefined types. The Ada main program structure. Accessing features in library packages.

COURSE CONTENT:  

Access Types
Access types - allocating and disposing of memory.
 General access types. Aliased types. Pointer to subprograms.


Generics
Generic subprograms and packages. Declaration and instantiation. Generic parameters. Application of generics.


Lower Level Programming
Representation clauses: length, enumeration, record and address specifications. Interrupts. Using the package System.Machine_Code. Interfacing with other languages.


I/O And Program Compilation
Standard packages. File handling. The Ada.Text_I0 package. The procedures and functions supplied. Pragmas.


The Object Of It All
A detailed overview of object oriented concepts and ideas, including: abstraction, encapsulation, public interfaces, classes, instances, instance v class data and operations, abstract data types (ADTs), message passing, operation classification (constructors, destructors, iterators, accessors and transformers), active v passive objects, aggregation (has-a), inheritance (is-a), static v dynamic polymorphism, abstract classes, genericity.


Hierarchical Packages
Child library units. The visibility rules. Private child units. Hierarchical Ada library root packages: Ada, Interfaces and System. Pragmas: Elaborate_All( ), Elaborate_Body( ), Preelaborate( ), Pure( ).


Tagged Types
Tagged types - components and operations. Derived tagged types. Abstract tagged types. Class-wide types, dynamic polymorphism (dispatching) and ‘Class. Identifying types with ‘Tag and using the Ada.Tags package. Mix-in inheritance. Constructors & Destructors (Controlled types).


Advanced Tasking
Discriminated task types. The ‘delay until’ and ‘then abort’ clauses. Protected types and objects - barriers and discriminants. The ‘requeue’ statement. Ada 95 relevant Packages:, Ada.Interrupts.Names, Ada.Task_Identification, Ada.Task_Attributes, Ada.Interrupts, Ada.Synchronous_Task_Control, Ada.Asynchronous_Task_Control., Ada.Real_Time. New attributes: ‘Identity, ‘Caller. New pragmas: Atomic, Atomic_Components, Volatile, Volatile_Components, Interrupt_Priority(expr), Task_Dispatching_Policy(), Locking_Policy(), Priority(expr), Queuing_Policy, Restrictions. Subtypes: Any_Priority, Priority, Interrupt_Priority.


Library Package Overview
An overview of many of the new features included in Ada 95 library packages including the Numeric, Character and String handling, File handling and Streams, Interfacing to C, Fortran and Cobol and Distributed systems libraries.


Spark For High Integrity Ada
What is SPARK? Ada features that are included and excluded from SPARK. Core annotations. SPARK tools. Path functions. Verification conditions. Proof annotations.


Case Study
A case study that uses the major features of Ada in the construction of a small realtime system is included with notes on the main characteristics.


Verhoef Training reserves the right to interchange instructors should scheduling so require.  If, due to circumstances beyond our control, a course has to be rescheduled or cancelled we will accommodate you as soon as possible.

© 2007 Verhoef Training

Schedule Dates

Course offered as
Inhouse or Public


There are no classes scheduled for this subject at this time.

Send us a request for this class

or

contact your account manager for scheduling information.

Contact Us


Copyright © 2007 - Verhoef Group of Companies - All Rights Reserved