Gives an overview of each of the SPARK training courses that we offer. Also contains downloadable flyers and booking forms for each course:End:
 

Praxis High Integrity Systems logo

Praxis High Integrity Systems Limited
arrowPraxis home arrowSPARKAda homearrowUsing SPARK arrowTraining
Photo


Overview, Course Dates UK, Training Worldwide

SPARK Training - Overview

We run five courses in SPARK, details of which are below. The schedule for public courses is shown below. Exclusive courses for clients, either at our offices or on-site, are also available – please contact us for details.

Course 1: Two Day Overview
A 2-day day “extended tutorial” for managers and engineers that presents the principles and practice of high assurance software engineering with SPARK.

The course explains the rationale of SPARK, outlines the language and the principles of static code analysis, and presents the role of SPARK in systematic program development. The course also covers the design of the SPARK language and the various types of analysis and verification that can be performed. The second day of the course concentrates on practical issues, such as how SPARK matches contemporary standards for high assurance software and software processes such as CMM and PSP/TSP. Finally, the issues (and problems) of adopting SPARK will be considered, followed by case-studies of SPARK usage in the aerospace, rail and security domains.

This course includes some pencil-and-paper exercises, but does not involve computer-based practical sessions or SPARK programming. Students requiring a thorough understanding of the practical use of SPARK are referred to the longer “Software Engineering with SPARK” course.

Course 2: Software Engineering with SPARK
A 4-day course for managers, regulators and engineers, which presents the principles of the development of high integrity software, and the related certification requirements. It then explains the rationale of SPARK, outlines the language and the principles of static code analysis, and presents the role of the SPARK Examiner in systematic program development. The course also covers fundamental SPARK design issues, such as appropriate use of packages such as abstract machines and data types, as well as the use of SPARK refinement, system interfaces, library mechanisms, etc. Some of the more advanced facilities of the SPARK Examiner, for run-time error checking for example, are presented.

Course 3: Advanced SPARK Program Design and Verification
A course for engineers who have already attended the "Software Engineering with SPARK" course or are experienced SPARK users. This course covers the advanced use of SPARK, particularly in the context of proof of exception freedom and code correctness. Attendees are taught to understand the relationship between SPARK source code and the verification conditions generated for proof, leading to an understanding of the impact of good SPARK design principles on code verification. Advanced facilities of the SPARK Examiner are presented, and tuition in planning, conducting and managing the verification activities is supplemented by the use of the SPARK proof tools, particularly the Simplifier.

The course has a strongly practical flavour, interweaving guidance and lecture material with topical tutorial sessions which reinforce the lecture material via relevant examples. Each tutorial session commences with a step-by-step example which provides detailed guidance, followed by additional exercises which can be tried in the tutorial sessions or used after the course to gain additional practical experience. Note that this course does not cover the RavenSPARK language profile or the use of the Proof Checker tool.

Course 4: Concurrent Software Design with RavenSPARK
The Ada95 Ravenscar profile defines a subset of the Ada95 tasking facilities that are appropriate for the construction of high assurance software. This one-day course introduces the Ravenscar profile and how it has been included in the core SPARK language. The course will cover the additional annotations in SPARK that are used to describe packages that contain tasks and protected objects and the additional analyses implemented by the Examiner to eliminate the potential for defects in Ravenscar programs.
Delegates for this course should have already attended the introductory "Software Engineering with SPARK" course, or should be experienced SPARK users. This course may be taken as a one-day stand-alone module, or may directly follow a "Software Engineering with SPARK" course.

Course 5: UML to SPARK
This course covers the rationale for integrating SPARK with UML, and the generation of SPARK from UML. The majority of the course consists of a practical session, where delegates will produce SPARK from a partially completed UML model.
Delegates for this course should have already attended the introductory "Software Engineering with SPARK" course, or should be experienced SPARK users. No knowledge of UML or experience of using UML tools is assumed. This course may be taken as a one-day stand-alone module, or may directly follow a "Software Engineering with SPARK" course.



Public Course Dates for 2009
- UK

Course 1 – "Two Day Overview"
Course Flyer (PDF).

TBD - come back soon for future course dates.

Course 2– "Software Engineering with SPARK"Course Flyer (PDF).

7th - 10th September 2009, Bath, UK.
Download the Booking Form.

Course 3– "Advanced SPARK Program Design and Verification" - Course Flyer (PDF).

22nd - 24th September 2009, Bath, UK.
Download the Booking Form.

Course 4– "Concurrent Software Design with RavenSPARK" – Course Flyer (PDF).

TBD - come back soon for future course dates.

Course 5– "UML to SPARK" – Course Flyer (PDF).

TBD - come back soon for future course dates.

On-site training in the UK and around the world

Praxis High Integrity Systems can run training courses at a customer's facilities as required. Training worldwide is available from our partner company AdaCore. Training in North America is also available from our partner company Pyrrhus Software.



Enquiries and Reservations
For enquiries and reservations for the course, please contact us.

 
 

© Website Content Praxis High Integrity Systems 2009

arrowNormal text arrowLarge text

 

corner Site index
cornerSitesearch

corner

bulletSPARKAda home
bulletNews and Events
bulletSPARK for Beginners
bulletSPARK Language & Toolset
bulletUsing SPARK
bulletPress
bulletDownloads and Publications

bulletContact SPARK Team

bulletSPARK Book (latest tools)

bulletTraining in SPARK


Photo
Contact Us +44 01225 466991
bulletOffice contact details, maps
bulletRecruitment and vacancies