Experience Embedded

Professional Training, Consulting and Project Support

Design Patterns Training (not only) for Embedded Systems

  • 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 price includes lunch,

drinks, training documentation and certificate.


Information for HR

You can book up to 5 participants on one training with our online order form.
If you wish to book more participants on several trainings, please contact us!
Please also note our bonus program when booking several trainings and/or participants at once.


Information for HR

Related trainings

UML Training: UML Basics and Introduction to Model-Based Software Development
Training Code: E-UML-G

Embedded C++: Object-oriented Programming for Microcontrollers with C++/EC++ and UML
Training Code: E-EC++

Embedded C++ Advanced: Object-oriented Programming for Microcontrollers with C++/EC++
Training Code: E-EC++/FOR


Related trainings

Trainings

Price *Duration
2.250,00 €4.5 days
Training code: E-DP

* All prices are exclusive of applicable VAT.


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

Inhouse Training

In customized workshops, we integrate your specific project tasks and our training program, considering your requirements as regards content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

> Training details as PDF

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

Design Patterns Training (not only) for Embedded Systems

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

Wishlist


No trainings