Introduction to Software Engineering with Ada 95

Course

In Bath

Price on request

Description

  • Type

    Course

  • Location

    Bath

  • Duration

    5 Days

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. Suitable for: This course is for software engineers and programmers requiring a thorough grounding in Ada 95.

Facilities

Location

Start date

Bath (Somerset)
See map
11 Kingsmead Square, BA1 2AB

Start date

On request

About this course

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

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

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.

Copyright SF 09

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.

Introduction to Software Engineering with Ada 95

Price on request