Projekt: "Sourcetrail"
Kunde: PERA Software Solutions
Laufzeit: 12.2023 – heute
| Beschreibung: Weiterentwicklung von "Sourcetrail", eine Cross-Platform C++/Qt/Java Applikation zum Visualisieren von Klassen- bzw. Funktionshierarchien.
Aufgaben:- Einbau der Indexierung von 'User defined conversion operators'.
- Einbau der Unterstützung für Visual Studio 2017/2019/2022.
- Einbau der Unterstützung für Java Standard 16 - 21.
- Einbau der Unterstützung für Catch2 V2/V3.
- Einbau der Unterstützung für libclang-16/17.
- Umstellen der C++ Abhängigkeiten auf Vcpkg Pakete.
- Umstellen der Java Abhängigkeiten auf Maven Pakete.
- Vereinfachen der CMake Build-Skripte.
Technologien:- C++20, CMake, Vcpkg
- Java SE 21, Maven
- Boost, Qt 6, Clang (Libclang/LLVM), JNI, SQLite, TinyXml
- Catch2 (V2/V3)
- Qt Creator, Visual Studio 2022, Eclipse
- Git, Visual Studio Code
- Linux / Windows
Homepage: https://github.com/petermost/Sourcetrail
|
Projekt: "GUARDUS" (Engine)
Kunde: Carl Zeiss MES Solutions
Laufzeit: 09.2020 – 12.2023
| Beschreibung: Modernisierung der "Guardus-Engine", eine C++ Software zur Analyse und Steuerung in der Produktion.
Aufgaben:- Umstellen des Buildsystems von MSBuild auf CMake.
- Ersetzen von veralteten C++98 Sprachkonstrukten mit C++17.
- Restrukturieren der Libraries zur einfacheren Wiederverwendung.
- Umstellen auf typensichere STL Standard Container.
- Mergen von 'Copy & Paste' Sourcedateien.
- Beheben von Speicherlecks mit Smart-Pointer.
- Sichern der Qualität durch Einführen von Google Test.
- Überprüfen der Testabdeckung mit Code-Coverage.
- Visualisieren der UnitTest Ergebnisse in Visual Studio.
Technologien:- C++17, CMake
- Boost, STL
- Google Test, OpenCppCoverage
- Git, Azure DevOps, Visual Studio Code
- Visual Studio 2019/2022, Sourcetrail
- Windows 10
|
Projekt: "GUARDUS" (GuiTests)
Kunde: Carl Zeiss MES Solutions
Laufzeit: 09.2020 – 12.2023
| Beschreibung: Design und Entwicklung der "GuiTests", ein Java Testframework zum Ausführen von GUI-Tests.
Aufgaben:- Entwickeln eines Frameworks basierend auf SikuliX.
- Implementieren von Tests anhand existierender Testszenarien.
- Erstellen eines einzelnen "Executable-Jar" zum Vereinfachen des Deployments.
- Ausführen der Tests mit der JUnit5 Platform Launcher API.
Technologien:- Java SE 21, Maven
- SikuliX, JUnit5, Picocli, Log4j2, JNA, ClassGraph, JDBC
- Apache Shade Plugin, Apache Commons
- Git, Azure DevOps, Visual Studio Code
- Eclipse, IntelliJ, Sourcetrail
- Windows 10
|
Projekt: "Common Sequencer"
Kunde: Rohde & Schwarz
Laufzeit: 10.2019 – 05.2020
| Beschreibung: Weiterentwicklung des "ExecutionEnvironments", ein C++ Programm zur Automatisierung von Produktionstests.
Aufgaben:- Verwenden des C++ .NET Core Hosting zum Laden und Starten von C# Assemblies.
- Generieren von C# Code mit T4 Templates.
Technologien:- C++17, CMake, Conan
- Boost, Google Test/Mock
- C# 7.0, NuGet
- .NET Core 2.2, xUnit
- Visual Studio 2017, Sourcetrail
- Git, Jira
- Windows 10, Linux
|
Projekt: "Server Based Testing" (Data Acquisition Service)
Kunde: Rohde & Schwarz
Laufzeit: 04.2019 – 09.2019
| Beschreibung: Design und Entwicklung des "Data Acquisition Service", ein C++ Dienst zum Empfangen und Weiterleiten von Binärdateien.
Aufgaben:- Empfangen und parsen von JSON-basierten "JobTickets".
- Extrahieren des Dateipfades und cachen der Binärdaten.
- Versenden der gecachten Binärdaten mit ZeroMQ.
Technologien:- C++17, CMake
- Boost, Google Test/Mock, RabbitMQ, AMQP-CPP, ZeroMQ, libcurl
- Qt Creator, Sourcetrail
- Git, Jira, Docker
- Linux
|
Projekt: "QuickStep" (TestConsoleRunner)
Kunde: Rohde & Schwarz
Laufzeit: 03.2019
| Beschreibung: Design und Entwicklung des "TestConsoleRunners", ein C# Programm zum Ausführen von Google- bzw. NUnit-Tests.
Aufgaben:- Erkennen ob ein Google-Test oder ein NUnit-Test auszuführen ist.
- Ausführen der Tests mit der NUnit-API.
- Erstellen einer XML-Ergebnisdatei zur weiteren Verarbeitung in Jenkins.
Technologien:- C# 7.0, .NET Core 2.2, NUnit
- Visual Studio 2017
- Git, Jira, Jenkins
- Windows 10, Linux
|
Projekt: "QuickStep" (Linuxportierung)
Kunde: Rohde & Schwarz
Laufzeit: 09.2018 – 02.2019
| Beschreibung: Analyse des Portierungsaufwands nach Linux für eine Windows C++ Applikation.
Aufgaben:- Erfassen der Windows API Aufrufe.
- Abschätzen des Aufwands um die Windows API Aufruf zu portieren.
Technologien:- C++14, CMake
- Boost, Google Test/Mock
- Visual Studio 2017, Qt Creator, Sourcetrail
- Git, ClearCase, Jira
- Windows 10, Linux
|
Projekt: "TeDiSPlus"
Kunde: BWI
Laufzeit: 04.2017 – 08.2018
| Beschreibung: Weiterentwicklung von "TeDiSPlus", eine Java EE Anwendung zur Disponierung von Technikern.
Aufgaben:- Erweitern bzw. erstellen von Unit-Tests.
- Erstellen von SQL-Abfragen mit JPA.
- Empfangen bzw. Senden der JSON Frontend-Daten.
Technologien:- Java 8, Java EE 7, Maven
- JUnit 4/5, Mockito
- GlassFish (Payara), Derby- bzw. Oracle-Datenbank
- Eclipse, IntelliJ, NetBeans, Sourcetrail
- Mercurial, Jira
- Windows 7
|
Projekt: "CMWmars" (PCAP Dekodierung)
Kunde: Rohde & Schwarz
Laufzeit: 01.2016 – 08.2016
| Beschreibung: Design und Entwicklung der "PCAP-Dekodierung", ein C++/C# Programm zum Empfangen und Dekodieren von PCAP-Daten.
Aufgaben:- Dekodieren der PCAP-Daten mit TShark (Wireshark).
- Starten des TShark Programms mit QProcess.
- Senden der PCAP Daten mit Pipes/Channels.
- Empfangen der PDML Daten mit Pipes/Channels.
- Parsen der PDML Daten mit QXmlStreamReader.
Technologien:- C++11, C++/CLI, Qt 5, Qt Core, Qt XML, Boost, STL
- C# 4.0, NUnit
- Visual Studio 2013
- Jazz
|
Projekt: "CMWmars" (LoggingServer)
Kunde: Rohde & Schwarz
Laufzeit: 01.2011 – 12.2015
| Beschreibung: Design und Entwicklung des "LoggingServers", ein C++ Programm zum Empfangen und Weiterleiten von Socketdaten an eine C#/WPF Applikation.
Aufgaben:- Erstellen einer DLL mit einer Java bzw. C# kompatiblen API.
- Asynchrone Socketkommunikation mit Boost.Asio und Boost.Thread.
- Weiterleiten der Daten im TLV/Boost.Serialization Format.
- Interne Entkopplung/Kommunikation mit Signal/Slots.
- Marshallen der C++ Daten nach C#.
Technologien:- C++11, C++/CLI (Bridge), Boost.Asio. Boost.Thread, Boost.Serialization, Boost.Signals2
- C# 4.0, NLog, NUnit, Moq, P/Invoke, Mixed Mode Assembly
- Java SE 7, JNA
- Visual Studio 2010, 2013, Eclipse Mars
- Jazz, ClearCase
|
Projekt: "CMWmars" (LegacyFileImporter)
Kunde: Rohde & Schwarz
Laufzeit: 01.2011 – 12.2015
| Beschreibung: Design und Entwicklung des "LegacyFileImporters", ein C++ Programm zum Importieren einer Binärdatei in eine SQLite Datenbank.
Aufgaben:- Einlesen einer binären Logdatei.
- Speichern der Daten in einer SQLite-Datenbank.
- Nutzen mehrerer CPU-Cores mit der Parallel Patterns Library (PPL).
- Kommunikation der PPL-Tasks mit einer LockFree-Queue.
Technologien:- C++11, C++/CLI, PPL, SQLite, Boost.Variant
- C# 4.0, NLog, NUnit, Moq
- VTune
- Visual Studio 2010, 2013
- Jazz, ClearCase
|
Projekt: "CMWmars"
Kunde: Rohde & Schwarz
Laufzeit: 01.2011 – 12.2015
| Beschreibung: Design und Entwicklung von "CMWmars", eine C#/WPF-Applikation zur Visualisierung von Mobilfunktestdaten. Weiterentwicklung von automatisierten GUI-Tests.
Technologien:- C# 4.0, System.Data.SQLite, WPF, NLog, NUnit, Moq, SQLite
- Java SE 8, SikuliX
- Visual Studio 2010, 2013, Eclipse
- Jazz, ClearCase
|