• Select your website

Training Services

In addition to providing leading-edge innovation and engineering services, we deliver advanced training in a range of safety and software engineering disciplines, as well our own technologies and toolsets including SPARK and REVEAL.

Our training services complement the specialist solutions we provide to clients, drawing upon a wealth of systems and software development experience across industry sectors. We deliver our training courses at our UK offices and on site at our clients' premises. The location and content of the training we provide can be tailored to meet the specific requirements of each client.


Rail Projects Engineering Safety Management

Audience

Engineers and managers involved with the engineering of safety-related rail systems, from individual product developments through to large-scale rail systems, engineering programmes and operations.

Prerequisites

There are no formal prerequisites. However, the majority of students attending this course are graduates who are currently working in a rail engineering environment, ranging from new graduates through to technical specialists and senior managers.

Course delivery

The course is delivered over two days and can be run either at your premises or at one our UK offices. An open public course is also scheduled quarterly - see our course calendar. The course consists of presentations supported by group exercises. It includes an optional 30-minute multiple-choice examination with a certificate being awarded upon successful completion.

Training goals

Following on from the popular and successful 'Yellow Book' course, this revised course offers an introduction to Engineering Safety Management (ESM) within rail. It is based around generic good practice principles for managing safety on rail projects, and as such is suitable for target audiences in mainline, metro and light rail both in the UK and elsewhere in Europe.

It makes use of recent guidance from the UK’s Rail Safety and Standards Board (RSSB) and also of the Common Safety Method (CSM) used within Europe. Using these sources as frameworks, the course provides an outline of safety engineering practice covering the lifecycle from initial safety planning, via preparation and submission of a Safety Case, through to operation, maintenance and through-life issues.

The course focuses both on the technical issues of identifying and managing safety risk, as well as on the ‘softer’ people and organisational issues associated with achieving safety on the railway.

You will learn 

  • The key elements of Engineering Safety Management, based around a set of ‘principles’ published by the UK’s RSSB (equivalent to the former Yellow Book ‘fundamentals’)
  • How to identify and manage the risks introduced by engineering projects, following a process which is based on the CSM but which can be readily adapted to different local processes
  • How to identify the regulations and standards that apply to your projects
  • To understand key Safety Engineering terminology and to be aware of the purpose of a number of widely used techniques
  • How to identify safety requirements and understand the principles of Safety Integrity Levels
  • The importance of people and organisational issues in safety
  • The management of safety through the whole lifecycle, including commissioning, maintenance and operation
  • How to plan safety activities into the engineering lifecycle
  • How to demonstrate the safety of a system through safety arguments and a Safety Case
  • The role of independent safety assurance 


Software Engineering with SPARK 2014

Audience

Aimed at engineers, managers and regulators (assessors) involved with the development of high integrity software.

Prerequisites

Basic software programming.  Knowledge of Ada not essential.

Training method

A five-day course combining presentations, exercises and practical work.

Training goals

A five-day course for managers, regulators and engineers, which presents the principles of the development of high assurance software using SPARK 2014. The course explains the rationale of SPARK 2014, outlines the language and the principles of static code analysis, and presents the role of the SPARK Pro Toolset in systematic program development. The course also covers fundamental SPARK design issues, such as appropriate use of packages including abstract machines and data types, as well as the use of SPARK refinement, system interfaces and container library mechanisms. More advanced verification facilities of the SPARK Pro toolset, including proving absence of run-time errors and functional properties, are also presented.

You will learn

  • The SPARK/Ada programming language - types, expressions, statements, subprograms, packages.
  • Introduction to static analysis & formal verification
  • Data flow analysis
  • Programming with contracts
  • Modular verification
  • Combining testing and proof
  • Proving absence of run-time exceptions
  • Analysis of failed proof attempts
  • Advanced proof techniques
  • Designing a SPARK program
  • State abstraction
  • Containers
  • Interfacing to external systems
  • Interfacing to other languages
  • Use of profiles
  • Introduction to information flow analysis

Course programme

A five-day course held either at your premises or at Altran offices.


SPARK 2014 Conversion Course

Audience

Aimed at engineers already familiar with existing versions of SPARK (’83, ’95, 2005) who want to start using the new SPARK 2014 version of the language and tools.

Prerequisites

Knowledge and experience of using an existing version of SPARK (’83, ’95, 2005)

Training method

A one-day course combining presentations and hands-on exercises.

Training goals

A one-day course for software engineers who want to start using the new, SPARK 2014, version of the language and tools. 

The course starts by examining the rationale for developing SPARK 2014 – the goals and objectives of the language design and evolution of the tools. The expanded SPARK 2014 language is introduced by comparison to the most recent version of SPARK, 2005. You will be introduced to features from Ada that are now included in the SPARK subset, including generics, discriminated types and floating point types.

A major section of the course focuses on how to write contracts in the new language; these differ both in the format and extended nature of what can be expressed relative to previous versions of SPARK. You will also be introduced to the concept of contracts that are both executable and mathematical, and hence can be verified by a combination of testing and proof. 

Verification in SPARK 2014 is based on completely new flow analysis and proof engines which are more closely integrated with the IDE. You will learn how to use these tools and the process to follow for resolving failed verification conditions.

The course uses extensive demonstration of the new toolset and there are hands-on exercises where students will learn how to operate the new tools.

You will learn

  • The rationale for SPARK 2014
  • How to use the SPARK 2014 Tools
  • New features of the SPARK 2014 language
  • How to write contracts in SPARK 2014
  • How to perform flow analysis and proofs in SPARK 2014 

Course programme

One-day course held either at your premises or at Altran offices.


Software Engineering with SPARK 2005

Audience

Aimed at engineers, managers and regulators (assessors) involved with the development of high integrity software. Please note that this course covers the 2005 and earlier versions of the SPARK language and toolset.

Prerequisites

Basic software programming.  Knowledge of Ada not essential.

Training method

A four-day course combining presentations, exercises and practical work.

Training goals

A four-day course for managers, regulators and engineers, which presents the principles of the development of high assurance 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 Pro Toolset in systematic program development.

The course also covers fundamental SPARK design issues, such as appropriate use of packages including abstract machines and data types, as well as the use of SPARK refinement, system interfaces and library mechanisms. Some of the more advanced facilities of the SPARK Examiner, including for run-time error checking, are presented.

This course includes extensive hands-on sessions using the SPARK Pro Toolset.

You will learn 

  • Rationale of SPARK
  • Design building blocks - ADTs and ASMs
  • The SPARK language - types, expressions, statements,subprograms, packages
  • Information-flow analysis
  • Setting up a SPARK project
  • INFORMED Design approach for SPARK
  • Abstraction and State Refinement
  • Interfacing to other languages
  • Introduction to proof and the SPARK Simplifier

Course programme

Four-day course held either at your premises or at Altran offices.


Advanced SPARK 2005 Program Design and Verification

Audience

Experienced SPARK users who wish to learn how to exploit the SPARK proof system and advanced tools. Please note that this course covers the 2005 and earlier versions of the SPARK language and toolset.

Prerequisites

Software Engineering with SPARK course and/or fluency with the SPARK language and the Examiner.

Training method  

A three-day course combining presentations, exercises and practical work

Training goals               

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.

This course includes extensive hands-on sessions using the SPARK Pro Toolsuite. Please note that this course does not cover the RavenSPARK language profile or the use of the Proof Checker tool.

You will learn 

  • Designing with proof in mind
  • The FDL proof language and logic
  • Representation of SPARK in FDL
  • Understanding VCs.
  • Arrays, Quantifiers and Loops
  • Management of Proof Complexity
  • The Proof Cycle
  • Validation of input data
  • Real numbers, private types, and refinement

Course programme

Three-day course held either at your premises or at Altran offices.


REVEAL Practitioners Course

Audience

Systems engineers and managers who need to elicit user needs and define requirements.

Prerequisites

None.

Training method  

A four-day course consisting of presentations supported by practical examples and group exercises. The course is given by experienced REVEAL practitioners who are able to bring their extensive systems development experience to the classroom.

Training goals               

To enable systems engineering professionals to understand the value of using a structured, systematic method for the elicitation, specification and management of systems requirements. The underlying scientific principles of requirements engineering are covered to enable students to not just understand the processes but the rationale for each step.

You will learn

  • The value of good requirements engineering
  • To identify and manage the project scope
  • To recognise the importance of requirements, specification and domain knowledge
  • How to systematically elicit and analyse requirements
  • To recognise and manage conflicting requirements
  • How to document the requirements in a clear, unambiguous and usable manner
  • How to manage changing requirements throughout a project

Course programme

Four-day course held either at your premises or at Altran offices.


Please contact us directly for information about when the next training courses are due to take place, by calling 01225 466 991.