CONFERENCE PROGRAM

Please note:
On this site, there is only displayed the English speaking sessions of the OOP 2021 Digital. You can find all conference sessions, including the German speaking ones, here.

The times given in the conference program of OOP 2021 Digital correspond to Central European Time (CET).

By clicking on "VORTRAG MERKEN" within the lecture descriptions you can arrange your own schedule. You can view your schedule at any time using the icon in the upper right corner.

Track: Modern C++ Programming

Sort by Tracks
Alle ausklappen
  • Wednesday
    10.02.
09:00 - 10:45
Mi 4.1
pmr::STL Containers for Embedded Applications
pmr::STL Containers for Embedded Applications

In der Voreinstellung reservieren die Container der Standardbibliothek ihren Speicher mit new und geben ihn mit delete wieder frei. Diese Aufrufe

• haben kein deterministisches Zeitverhalten und können insbesondere zu erst recht zeitaufwendigen Speicheranforderungen des Betriebssystems führen

• können zu einer Fragmentierung von Speicher führen.

In vielen Embedded Anwendungen ist das nicht tolerierbar.

Mit den seit C++17 im Namensbereich std::pmr (polymorphic memory resources) verfügbaren Allokatoren können diese Nachteile oft vermieden werden.

Zielpublikum: Architects, Developers, Project Leader, Manager, Decision Makers,
Voraussetzungen: Basic C++ experience
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract:
In der Voreinstellung reservieren die Container der Standardbibliothek ihren Speicher mit new und geben ihn mit delete wieder frei. Diese Aufrufe

• haben kein deterministisches Zeitverhalten und können insbesondere zu erst recht zeitaufwendigen Speicheranforderungen des Betriebssystems führen

• können zu einer Fragmentierung von Speicher führen.

In vielen Embedded Anwendungen ist das nicht tolerierbar. In der AUTOSAR Rule A18-5-5 wird verlangt:

Rule A18-5-5 (required, toolchain, partially automated)

Memory management functions shall ensure the following:

(a) deterministic behavior resulting with the existence of worst-case execution time,

(b) avoiding memory fragmentation,

(c) avoid running out of memory,

(d) avoiding mismatched allocations or deallocations,

(e) no dependence on non-deterministic calls to kernel.

Mit den seit C++17 im Namensbereich std::pmr (polymorphic memory resources) verfügbaren Allokatoren können diese Nachteile oft vermieden werden.

Prof. Richard Kaiser führt seit vielen Jahren Seminare für Firmen durch, vor allem über Software-Entwicklung und die Programmiersprachen C# und C++ sowie C. Zu seinen Kunden gehören renommierte Weltkonzerne und kleine und mittelständische Unternehmen.

Nach dem Studium der Mathematik an der Universität Tübingen und der FU Berlin war er an der Pädagogischen Hochschule Reutlingen in der Lehrerausbildung tätig und hat sich intensiv mit Mathematikdidaktik beschäftigt. Danach war er Software-Entwickler (v.a. für technische Anwendungen), bei einigen Firmen Leiter der Software-Abteilung, über 20 Jahre Professor an der Dualen Hochschule Lörrach, über 30 Jahre freiberuflicher Trainer für C, C++, C#, Speaker bei Konferenzen, Mitglied im DIN Normierungsausschuss Informationstechnik NI-22, usw.
C++20 Templates: The Next Level
C++20 Templates: The Next Level

C++20 is more or less out the door. It is probably the biggest change to the language since ever. In this session we will look into some changes that templates received with C++20. The biggest change is the introduction of Concepts.

We don’t stop there. We will also talk about improvements to CTAD and NTTP. Of course, we will also look into how templated lambdas work in C++20.

By the end of the talk you have learned about the newest C++20 template updates and how to apply them.

Target Audience: Developers
Prerequisites: Knowledge about at least C++11
Level: Basic

Andreas Fertig is an independent trainer and consultant for C++ specializing in embedded systems. Since his computer science studies in Karlsruhe, he has dealt with embedded systems and the associated requirements and peculiarities. He worked for about 10 years for Philips Medizin Systeme GmbH as a C++ software developer and architect with focus on embedded systems.
Andreas is involved in the C++ standardization committee, especially in SG14 which deals with embedded systems.
He also develops macOS applications and is the creator of cppinsights.io.
Richard Kaiser
Andreas Fertig
Richard Kaiser
Talk: Mi 4.1-1
Andreas Fertig
Talk: Mi 4.1-2
flag EVENT MERKEN
14:30 - 15:30
Mi 4.3
Structure and Interpretation of Test Cases in C++
Structure and Interpretation of Test Cases in C++

Throw a line of code into many codebases and it’s sure to hit one or more testing frameworks. There’s no shortage of frameworks for testing, each with their particular spin and set of conventions and, but that glut is not always matched by a clear vision of how to structure and use tests — a framework is a vehicle, but you still need to know how to drive.

Compared to many languages, C++ has had slower widespread adoption of unit testing. This talk takes a deep dive into the practices and issues, looking at examples and counterexamples in C++.

Target Audience: C++ developers
Prerequisites: C++ programming
Level: Advanced

Kevlin Henney is an independent consultant, speaker, writer and trainer. His development interests are in patterns, programming, practice and process. He is co-author of “A Pattern Language for Distributed Computing” and “On Patterns and Pattern Languages”, two volumes in the Pattern-Oriented Software Architecture series, and editor of “97 Things Every Programmer Should Know” and “97 Things Every Java Programmer Should Know”.
Kevlin Henney
Kevlin Henney
Talk: Mi 4.3
flag EVENT MERKEN

back