This course is for software engineers and programmers requiring a thorough grounding in Ada 95.
Delegates are not required to have any previous knowledge of the Ada language.
5 days. Hands on.
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:
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.
Please complete the form to enquire about running a course at your premises or one of our training facilities
|
Verhoef Training Ltd. 11 Kingsmead Square, Bath, BA1 2AB, UK Tel. +44(0)1225 339705 |