PERA Software Solutions GmbH

Projekte

Hier finden Sie eine Aufstellung aller meiner Projekte:



Nebenprojekte

Projekt:
"FritzBoxCallMonitor"
Beschreibung:
Design und Entwicklung von "FritzBoxCallMonitor", eine Qt/C++ Applikation zum Anzeigen von eingehenden Anrufen auf der FritzBox.

Technologien:
  • C++17, CMake, Vcpkg
  • Qt5, Qt Sockets, Qt XML, Google Test, CppAidKit
  • Qt Creator, Visual Studio 2019, Sourcetrail
  • Git, Visual Studio Code
  • Linux, Windows

Homepage:
https://github.com/petermost/FritzBoxCallMonitor
Projekt:
"HomePageGenerator"
Beschreibung:
  • Design und Entwicklung des "HomePageGenerator", ein Java Programm zum Generieren von statischen Webseiten.
  • Design und Entwicklung des "HomePageUploader", ein Java Programm zum Hochladen von Webseiten und deren Resourcen.

Aufgaben:
  • Extrahieren der Projektinformationen mit dem ODF Toolkit.
  • Generieren von HTML/CSS mit RenderSnake bzw. FreeMarker.
  • Hochladen der Webseiten und der Resoucen mit FTPClient.

Technologien:
  • Java SE 21, Maven
  • RenderSnake, FreeMarker, jsoup, HTML, CSS
  • JUnit5
  • Git, Visual Studio Code
  • Eclipse, Sourcetrail
  • Linux



Kundenprojekte

Projekt:
"Sourcetrail"

Kunde:
PERA Software Solutions

Laufzeit:
12.2023 – heute
Beschreibung:
Weiterentwicklung von "Sourcetrail", eine Qt/C++/Java Applikation zum Visualisieren der Beziehungen von Klassen bzw. Funktionen.

Aufgaben:
  • Umstellen der C++ Abhängigkeiten auf Vcpkg Pakete.
  • Umstellen der Java Abhängigkeiten auf Maven Pakete.
  • 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.
  • Vereinfachen der CMake Build-Skripte.

Technologien:
  • C++20, CMake, Vcpkg
  • Java SE 21, Maven
  • Boost, Qt5, Clang (Libclang/LLVM), JNI, SQLite, TinyXml
  • Catch2 (V2/V3)
  • Qt Creator, Visual Studio 2022, Eclipse
  • Git, Visual Studio Code
  • Windows, Linux

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



Alte Projekte

Projekte:
  • "HardwareService"
  • "LoggingServer"
  • "MCT-Tools"

Kunde:
Rohde & Schwarz

Laufzeit:
02.2007 – 12.2010
Beschreibung:
  • Design und Entwicklung eines Java Wrappers um eine COM-Schnittstelle.
  • Design und Entwicklung eines Java LoggingServers zum Aufzeichnen von Socketdaten in eine proprietäre Logdatei.
  • Weiterentwicklung einer Java/Swing Applikation zur Visualisierung, Verwaltung und Ausführung von Mobilfunktests.

Technologien:
  • Java SE 5, Launch4j, Ant
  • Swing, CORBA, Log4j, FEST, ComfyJ, NIO
  • JUnit 4, PowerMock, EasyMock
  • Jython, Python
  • Eclipse
  • Bugzilla, ClearQuest, ClearCase
  • Windows
Projekt:
"FIA"

Kunde:
Vossloh IT

Laufzeit:
05.2006 – 01.2007
Beschreibung:
Weiterentwicklung der "FIA" Prozesse und Einführung von C++ Unittests.

Technologien:
  • C, C++, make, Boost.Jam
  • SQL, PostgreSQL, Boost.Test
  • Java SE, Ant
  • Log4j, JUnit, HTTP-Unit, HTML-Unit, XML-Unit, Apache Tomcat
  • KDevelop, gVim
  • Eclipse
  • Windows, Linux
Projekt:
"Auslandsauskunft"

Kunde:
SoftMethod

Laufzeit:
12.2005 – 04.2006
Beschreibung:
Design und Entwicklung eines Java/Swing Prototypen für die WSDL-Serviceschnittstelle.

Technologien:
  • Java SE, Ant
  • Swing, Log4j, TableLayout, E115, SOAP, ASN.1, Apache Tomcat, Apache Axis, WSDL
  • Eclipse
  • Sun Solaris
Projekte:
  • "Mediation Device"
  • "Remote Player"
  • "LIRC"

Kunde:
Siemens

Laufzeit:
06.2001 – 11.2005
Beschreibung:
  • Design und Entwicklung des "Mediation Device", ein C++ Programm zum Aufzeichnen und Weiterleiten von IP-Daten.
  • Design und Entwicklung des "Remote Player", eine C++/MFC Applikation zur Ansteuerung eines Java Media-Players.
  • Design und Weiterentwicklung des "LIRC", eine C++/MFC Applikation zum Extrahieren von gesprächsbegleitenden Meta-Daten.

Technologien:
  • C++, SCons
  • MFC, wxWidgets
  • STL, Boost, BSD Sockets, Pipes, POSIX Threads, PCRE Library
  • TLV, XML, ASN.1, Reguläre Ausdrücke
  • "Global Windows Hook", COM
  • KDevelop, GDB
  • Windows, Linux (SuSE, FreeBSD)
Projekt:
"VR-Networld"

Kunde:
E & M Software Solutions

Laufzeit:
04.2001 – 05.2001
Beschreibung:
Erstellung eines Gutachtens zur Wartbarkeit einer C++ Codebasis.

Technologien:
Visual C++ 6.0
Projekt:
"Clicktionary, Clevertrainer"

Kunde:
Cleverlearn

Laufzeit:
04.2000 – 03.2001
Beschreibung:
Design und Weiterentwicklung des "Clicktionary" bzw. "Clevertrainer", eine C++/MFC Applikation zum Übersetzen von Wörtern und Rede­wendungen.

Technologien:
Visual C++ 6.0, MFC
Projekt:
"RCC"

Kunde:
Siemens

Laufzeit:
02.1998 – 03.2000
Beschreibung:
Design und Entwicklung des "RCC", eine C++/MFC Applikation zum Überwachen und Aufzeichnen von Telefongesprächen.

Technologien:
Visual C++ 5.0, MFC, Named Pipes, Sockets, Threads
Projekt:
"RAIS GUI"

Kunde:
Softlab

Laufzeit:
07.1997 – 01.1998
Beschreibung:
Weiterentwicklung der "RAIS GUI", eine C++/StarView Applikation zur Verwaltung von Rückversicherungsgeschäften.

Technologien:
Visual C++ 5.0, StarView
Projekt:
"Playout-Center"

Kunde:
BETA-Research

Laufzeit:
02.1997 – 06.1997
Beschreibung:
Design und Entwicklung eines C++ Kommandozeilenprogramms zum Ansteuern eines Archivroboters.

Technologien:
C++, DBTools++
Projekte:
  • "BodyCare"
  • "Card-DLL"
  • "Lieferschein"
  • "UNIKA"
  • "EC-Kartenverwaltung"
  • "Konvertierungen"

Kunde:
Oldenbourg Datensysteme

Laufzeit:
08.1990 – 01.1997
Beschreibung:
  • Design und Entwicklung von "BodyCare", eine C++/MFC Applikation zum Visualisieren von Patientendaten die von Mikroprozessorkarten gelesen werden.
  • Design und Entwicklung von "Card-DLL", eine C++ Library zur Kommunikation mit einem Kartenterminal.
  • Design und Entwicklung von "Lieferschein", eine C++/TurboVision Applikation zum Ausfüllen und Drucken von Lieferscheinen.
  • Design und Entwicklung von "UNIKA", eine Embedded C Applikation zum Anzeigen von Krankenkassenkartendaten.
  • Design und Entwicklung von "EC-Kartenverwaltung", eine Clipper Applikation zur EC-Kartenverwaltung.
  • Design und Entwicklung von C/C++ Kommandozeilentools zur Konvertierung von Personalisierungsdaten.

Technologien:
  • C/C++, Clipper 5.0 (DBase-Kompiler)
  • MFC, TurboVision
  • Serielle Schnittstelle (RS-232), ASN.1, T1-Protokoll (ISO 7816-3/4)