‘Patterns for Time-Triggered Embedded Systems’ by Michael J. Pont

pttes_cover_170
If you want to learn how to develop reliable, real-time embedded systems, then the very popular “Patterns for Time-Triggered Embedded Systems” book is a great place to start.

At more than 1000 pages, this isn’t a small book – however, it does provide comprehensive guidance on the development of “Time Triggered” (TT) embedded systems.

In total, PTTES contains details of more than 70 useful “design patterns”, complete with guidelines to help you apply these techniques in your own projects: full source code for all of the patterns is also included.

empty_space

Free Download (book and all code examples)

empty_space

Following an agreement with the original publishers, PTTES is now distributed by SafeTTy Systems.

You can download the complete book (PDF file) here.

You can also download the C example files (zipped) here.

  • The PTTES code examples are released without warranty (details in the zipped file).
  • The PTTES code examples were written to match the C51 (8051 compiler) from Keil. Under an agreement with Keil, an evaluation version of the C51 compiler was distributed with the book: we cannot distribute this compiler (sorry). The code should work with current versions of the C51 compiler (but we have not tested this).
  • Other compilers for the 8051 are also available: for example, the SDCC compiler is available without charge. A port of all PTTES code to SDCC compiler is available (contributed by Manish Shakya): please note that – while we believe this port is complete and working – we have not tested this code.

empty_space


empty_space

Use of PTTES designs and code in commercial projects

empty_space

The code and designs in the PTTES book are intended (only) to demonstrate the use of some simple Time-Triggered system architectures.

THIS CODE IS PROVIDED “AS IS” WITHOUT ANY WARRANTY AS TO ITS SUITABILITY FOR ANY PURPOSE.

This code may be used without charge: [i] by universities and colleges in courses for which a degree up to and including MSc level (or equivalent) is awarded; [ii] for non-commercial projects carried out by individuals and hobbyists.

We do not permit this code to be used for any other purpose.

We can provide alternative code libraries and products that are suitable for use in a range of production systems.

You may wish to consider our ‘ERES2’ book and related code examples as a starting point.

empty_space


empty_space

The Engineering of Reliable Embedded Systems (Second Edition) by Michael J. Pont

eres2_front_height_200px
Written approximately 20 years after ‘PTTES’, the Second Edition of ‘The Engineering of Reliable Embedded Systems’ (ERES2), documents an industry-proven approach to the development of software for reliable, real-time embedded systems, based on the use of ‘Time Triggered’ (TT) architectures.

What distinguishes TT approaches is that it is possible to model the expected system behaviour precisely. This means that: [i] during the development process, we can demonstrate that all of the requirements have been met; and [ii] at run time, we can detect problems very quickly.

The end result is that we can have a high level of confidence that a TT system will either: [i] operate precisely as required; or [ii] move into an appropriate state if a problem occurs.

The above characteristics mean that appropriately-implemented TT systems provide a particularly effective means of meeting the requirements of various international safety standards.

Case studies

In order to illustrate how the TT techniques presented in ERES2 can be employed in practical designs, five detailed case studies are included. These studies describe the development of embedded control and monitoring systems for the following products:

  • an industrial alarm sounder unit (IEC 61508, SIL 2);
  • a domestic washing machine (IEC 60730, Class B);
  • a hospital radiotherapy machine (IEC 62304, Class C);
  • a steering-column lock for a passenger car (ISO 26262, ASIL D);
  • an aircraft jet engine (DO-178C, Level A).

Learn more about ‘ERES2’.

empty_space


empty_space