Experience Embedded

Professional Training, Consulting and Project Support

Design Patterns Training (not only) for Embedded Systems - Face-to-Face Training - Live Online Training

  • Content
     
  • Objectives
     
  • Participants
     
  • Requirements
     

This training shows you under which conditions classic design patterns can be used efficiently even in embedded systems with limited resources.

A selection of the most suitable patterns is presented based on examples typical of embedded systems.

Most of the patterns are developed step by step in complete code examples before being presented in their final abstracted UML representation.

Moreover, as part of this process, solutions are discussed that are often applied but had better be avoided ("Anti Patterns").

This approach facilitates a well-grounded assessment of the memory and/or runtime cost in relation to the benefit of using a design pattern.

This course also highlights new debugging possibilities resulting from the application of design patterns, considerably reducing the development time and improving code quality which is crucial especially in embedded systems.

Software developers, software architects

Good knowledge of the programming language C++.

Introduction

  • History
  • What are design patterns?
  • GoF design patterns
  • Typical problems in embedded systems
  • Design patterns in embedded systems

Creational Patterns

  • Example - motor: interfaces
  • Example - position tracking system: goods transport system
  • Reusing the position tracking system for airplanes
  • Design pattern Factory Method and Abstract Factory
  • Design pattern Prototype and Singleton

Structural Patterns

  • Design pattern Adapter
  • Example: counter classes
  • Design pattern Decorator
  • Example: multithreading
  • Design pattern Proxy
  • Synchronization, Protection, Virtual and Remote Proxy
  • Smart pointer

Behavioral Patterns

  • Example: timer
  • Design pattern Observer
  • Design pattern Command
  • Example: state machine
  • Conventional implementation in C
  • Porting to C++
  • Design pattern State
  • Example: user-defined memory management
  • Partition and PartitionManager
  • Flexible memory management using different Managers
  • Dynamically configurable memory assignment strategy
  • Design pattern Strategy
  • Algorithms with fixed basic structure
  • Design pattern Template Method

Implicitly Covered Patterns, Further Patterns

  • Facade
  • Composite
  • Memento
  • Chain of responsibility
  • Flyweight
  • Iterator
  • Mediator

Practical Exercises

  • Storage space and runtime measurement
  • Design patterns as a means to improve performance
  • Using patterns for debug purposes (workshop)
  • Further development of a given project by using design patterns; the trainer will discuss all solutions individually with the respective training participants

The training price includes:
Training documentation, your training certificate and target HW etc. where required.


ALL INCLUSIVE!

We will send you a binding confirmation if the training takes place, at the latest, 3 weeks before the training starts.

Several days before the Live Online Training, you will get e-mails with …

  • detailed information regarding your training
  • your training documents (download link)
  • an invitation to an optional test session with your trainer
  • an invitation for the training days, with link and access data

Any target HW that might be required for the training will be shipped to you in advance.


PROCEDURE

Live-Online-Training

Training code: LE-DP
* Price per attendee, in Euro plus VAT


> Registration form download (PDF)
> Training details as PDF

Face-To-Face - English

Duration
4.5 days  

Live Online - German

Date Duration
07.06. – 11.06.2021 5 days  
18.10. – 22.10.2021 5 days  

Face-To-Face - German

Date Duration
07.06. – 11.06.2021 4.5 days  
18.10. – 22.10.2021 4.5 days  
07.03. – 11.03.2022 4.5 days  

Design Patterns Training (not only) for Embedded Systems - Face-to-Face Training - Live Online Training

Content

Introduction

  • History
  • What are design patterns?
  • GoF design patterns
  • Typical problems in embedded systems
  • Design patterns in embedded systems

Creational Patterns

  • Example - motor: interfaces
  • Example - position tracking system: goods transport system
  • Reusing the position tracking system for airplanes
  • Design pattern Factory Method and Abstract Factory
  • Design pattern Prototype and Singleton

Structural Patterns

  • Design pattern Adapter
  • Example: counter classes
  • Design pattern Decorator
  • Example: multithreading
  • Design pattern Proxy
  • Synchronization, Protection, Virtual and Remote Proxy
  • Smart pointer

Behavioral Patterns

  • Example: timer
  • Design pattern Observer
  • Design pattern Command
  • Example: state machine
  • Conventional implementation in C
  • Porting to C++
  • Design pattern State
  • Example: user-defined memory management
  • Partition and PartitionManager
  • Flexible memory management using different Managers
  • Dynamically configurable memory assignment strategy
  • Design pattern Strategy
  • Algorithms with fixed basic structure
  • Design pattern Template Method

Implicitly Covered Patterns, Further Patterns

  • Facade
  • Composite
  • Memento
  • Chain of responsibility
  • Flyweight
  • Iterator
  • Mediator

Practical Exercises

  • Storage space and runtime measurement
  • Design patterns as a means to improve performance
  • Using patterns for debug purposes (workshop)
  • Further development of a given project by using design patterns; the trainer will discuss all solutions individually with the respective training participants