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 training price includes:
Lunch, drinks, training documentation and your training certificate.


ALL INCLUSIVE!

Related trainings

Software Architectures for Embedded Systems and Real-Time Systems
Training code: E-EMB-ARCH

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

C++ Training: Object-oriented Programming with C++
Training code: E-C++

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


Related trainings

Trainings

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

* Price per attendee, in Euro plus VAT


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

Onsite Training

Our customized workshops integrate your specific project tasks in our training content and accommodate your requirements on 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

Our coaching services offer a major advantage: our specialists introduce their expertise and experience directly in your solution process, thus contributing to the success of your projects.

Coaching: Software Analysis, Design and Architecture

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