Remote-Arbeit ist möglich.
Zusammenfassung:
Erweiterung und Pflege von Workflow-Management-Systemen, die auf ereignisgesteuerten Prozessketten (EPKs) basieren.
Ein Front-End bestehend aus Eclipse RCP e4 Clients interagiert mit einem Back-End bestehend aus Java XML Web Services (JAX-WS), die durch BPEL-Prozesse orchestriert werden.
Die BPEL-Prozesse wurden aus vordefinierten EPKs abgeleitet. Diese EPKs und zugehörige Dokumentation in Textform bilden die Grundlage und den Ausgangspunkt für alle Korrekturen, Anpassungen und Erweiterungen des Systems.
Details:
Entwicklung eines Editors, der BPEL 1.1-XML auf eine DSL abbildet, um das Mergen im Rahmen des Versions- und Variantenmanagement von BPEL-Prozessbeschreibungen zu vereinfachen.
Zusammenfassung:
Pflege und Erweiterung von Workflow-Management-Systemen auf JIRA-Basis mit Fokus auf den eigenentwickelten Plugins, die MVC-Services auf Apache-Velocity-Template-Basis und SPAs auf SOY/Javascript-Basis implementieren.
Nutzung von JUnit/Mockito und statischer Code-Analyse durch SonarQube zur Unterstützung der QS.
Details:
Entwicklung einer DSL und zugehöriger Sprach-, Editor- und Generatorkomponenten für die Unterstützung der Entwicklung von JIRA-Plugins.
Modernisierung und Verfeinerung selbst erstellter Softwarekomponenten zur Verkettung gegebener Werkzeuge und Frameworks zur Unterstützung der Softwareentwicklung und Projektabwicklung; Bewertung von Softwarewerkzeugen und Frameworks bezüglich ihrer Eignung für diese Zwecke.
Herleitung von XText-basierten DSLs aus XSDs zur Unterstützung der Projektarbeit.
Um Operationen wie
Diagnose,
Tests,
Re-Programmierung oder
Initialisierung
von Automobilkomponenten oder Funktionen mit diagnostischen Fähigkeiten durchzuführen, nutzt man diagnostische Testsequenzen.
Solche Operationen können mit off-board Testsoftware ausgeführt werden.
Die OTXSuite ist solche Software.
Neben ihrer Ausführung ist die Entwicklung und der Test solcher
Operationen das Hauptleistungsmerkmal der Suite.
Testsequenzen definieren die Abfolge von Interaktionen zwischen dem Anwender, der Diagnoseanwendung und der Kommunikationsschnittstelle des Fahrzeugs.
Der Anwender kann ein Mitglied des Werkstatt- oder Montagepersonals sein.
Die Sequenzen definieren zudem alle Berechnungen und Entscheidungen, die für eine geführte Diagnose oder ähnliche Testlogik gebraucht werden.
OTX (Open Test sequence eXchange, ISO 13209) schlägt ein offenes und standardisiertes, xml-basiertes, von Menschen und Maschinen lesbares Datenformat zur Beschreibung diagnostischer Testsequenzen vor.
Sein Einsatzzweck:
Das Format unterstützt den einheitlichen Transfer diagnostischer
Testsequenzen zwischen
Zulieferern elektronischer Systeme,
Fahrzeugherstellern,
Händlern und
Werkstätten.
In OTX definierte diagnostische Testsequenzen werden im folgenden als OTX-Sequenzen bezeichnet.
Refactoring der OTXSuite, die ursprünglich von der In2Soft GmbH entwickelt wurde.
Technische Merkmale der Suite:
Außendarstellung (VIEW): Grafische Darstellung einer OTX-Sequenz unter Verwendung von GEF.
Datenmodell (MODEL): Apache XMLBeans (https://xmlbeans.apache.org/).
Das Refactoring wurde nötig, da unter anderem die Implementierung des Datenmodells auf Apache XMLBeans basierte, deren Pflege seit Mai 2014 eingestellt ist.
Ziel: Entwirren der Komponenten-Verantwortlichkeiten bis Komponenten mit Model-, View- & Controller-Verantwortlichkeiten klar getrennt sind.
Anschließend Austausch der Komponenten mit Model-Verantwortlichkeiten.
Zu diesem Zweck Analyse der OTXSuite im Bezug auf Ansätze zur Migration von Apache XMLBeans zu EMF unter Verwendung des XText-Frameworks bei gleichzeitiger Migration von Eclipse 3 nach Eclipse 4.
Zudem Unterstützung der Herleitung einer DSL aus den OTX-XSDs.
In diesem Zusammenhang Skizzierung von Ansätzen zum Aufbau einer ausreichenden Test-Abdeckung, die die Voraussetzung jeglicher Refactoring-Maßnahmen ist, bis das Refactoring abgeblasen wurde.
Es wurde zu Gunsten des Neubaus der OTXSuite unter Verwendung von Web-Technologien abgeblasen.
Übernahme der Produkt-Owner-Ship für die OTXSuite gegenüber einem englischen Kunden der KPIT um die Lücke zu schließen, die durch den Weggang des bisherigen POs entstand.
Diese Aufgabe wurde durchgeführt bis sie an einen neu eingestellten OTX-Experten übergeben werden konnte.
Anpassung eines Authoring-Style-Guides an die Bedürfnisse des englischen Kunden in enger Zusammenarbeit mit dem Kunden.
Dies schloss die Definition kundenspezifischer Validierungsregeln
(Checker-Rules) zur Ergänzung der bereits in ISO 13209 enthaltenen Kern-Regeln ein.
Definition kundenspezifischer Anforderungen an die OTXSuite und ein eigenständiges Validierungswerkzeug, das als OTX-Checker bezeichnet wurde.
Der Checker war darauf ausgelegt neben den Validierungsregeln des ISO 13209 weitere kundenspezifische Regeln umzusetzen.
Erstellung des ersten Entwurfs des Entwicklungsprozesses in enger Zusammenarbeit mit dem Kunden.
Der Prozess deckte die Anwendung der OTXSuite,
des oben erwähnten Checkers und anderer von KPIT bereitgestellter Werkzeuge innerhalb der Fahrzeug-Entwicklung und -Produktion des Kunden ab.
Kundensupport und Pflege der OTXSuite V1.0 für einen deutschen Kunden der KPIT auf technischer Ebene.
Pflege-Strategie: Geringst mögliche Änderung - Lasse so viel wie möglich unverändert.
Fehlerbehebung und Umsetzung von Erweiterungen, die in enger Zusammenarbeit mit dem Kunden definiert wurden.
Unterstützung des Kunden im Umgang mit Datenbestandsaktualisierungen unter anderem durch das Refactoring alter mit der Suite erstellter OTX-Sequenzen.
Dies wurde durch Junit4-tests erreicht, die die Rolle von White-Box-Tests übernahmen.
Durchführung eines Konzeptübergangs innerhalb des Ansatzes des Kunden zur geführten Fehlersuche in enger Zusammenarbeit mit dem Kunden der KPIT.
Beim Übergang gewählte Strategie: Iterativ, inkrementell unter Verwendung von Engineering-Releases und koordiniertes, schrittweises Refactoring alter OTX-Sequenzen.
Projektkontext:
Implementierung einer Applikation zur Visualisierung des Verhaltens von UML2-konformen hierarchischen Zustandsautomaten.
Zwei Ansätze zur Erzeugung von Automaten werden umgesetzt:
Die Zustandsautomaten sind über eine DSL spezifizierbar und UML2-konform durch ein UML-Tool modellierbar. In beiden Fällen wird eine gemeinsame Java-Library verwendet. Ihre Implementierung lehnt sich stark an das UML2-Metamodel für hierarchische Zustandsautomaten an.
DETAILS:
DSL-basierter Ansatz: Generierter Java-Code implementiert das Verhalten unter Verwendung der Library.
UML-basierter Ansatz: Spring-core instanziiert, initialisiert und verdrahtet Klassen aus der Library.
Entwicklungsstand:
Die Java-Library ist soweit ausimplementiert, dass sie Deep-History auf alle Hierarie-Ebenen unterstützt. Parallel zueinander ablaufende Automaten werden demgegenüber noch NICHT unterstützt.
Spezifikation von UML-State-Charts durch eine DSL auf Xtext-Basis und Code-Generierung durch XTend2-Templates ist möglich. Die Implementierung liegt als stabiler, lauffähiger Prototyp vor.
Konvertierung von UML-State-Charts im XMI-Format in spring XML beans als testbarer lauffähiger Prototyp.
Integrationstests als parametrisierte Junit-Tests.
Nächste Schritte:
Aufsetzen der Build- und Testautomatisierung (CI) auf der Basis von Jenkins, SVN, GIT und Maven Tycho.
Visualisierung ausgewählter aus der Spezifikation erzeugter EMF (ecore)-Komponenten mittels GEF. Hierfür liegt ein lauffähiger Demonstrator vor, der im Zuge der Einarbeitung in GEF in Anlehnung an Beispiele aus dem Internet erstellt wurde.
Übernahme, Migration, Integration, Konsolidierung, Test, Dokumentation und Verfeinerung von Software zur Transformation von Zustelladressen für Pakete. Die verfeinerte Software ist Teil eines Systems zur Koordination der Paketzustellung in einem Logistikunternehmen.
Zur Vorbereitung auf und begleitend zum Projekteinsatz: Erweiterung des Fachwissens über Spring und JPA zur Bewertung dieser Technologien im Hinblick auf ihre Anwendbarkeit im laufenden und in folgenden Projekten.
Konzeption, Planung, Automatisierung, Implementierung und anschließende Ausführung von Integrations- und Systemtests, denen aufgrund des sicherheitsgerichteten Entwicklungsumfelds eine besondere Bedeutung zukommt.
Die zu testende Software kommt in verschiedenen internationalen Kundenprojekten u .a. im Hochgeschwindigkeits-Schienenverkehr zum Einsatz.
Ausgeführte Aufgaben im Detail:
Durch diese Vorgehensweise konnte die frühzeitige Aufdeckung und Weiterleitung einer Reihe von Fehlern in der Software erreicht werden.
Spezifikation und prototypische Umsetzung von ''Mobile Maintenance'' mit einem Front-End auf Android 4-Basis und einem Back-End aus in Java implementierten FCGI-Deamons, die via HTTP kommunizieren und in C++ implementierte Tests anstoßen. Im Rahmen dessen Integration eines in Java auf Eclipse-RCP-Basis implementierten Testmanagement-Werkzeugs als FCGI-Deamon und Anbindung desselben an Virtuoso-Sparql-Endpoints mittels Linked Data sowie Implementierung eines koordinierenden Daemons unter Befolgung der SOLID-Prinzipien bei vorteilhafter Verwendung geeigneter OO-Design-Patterns (GoF-Patterns).
Projektkontext: Entwicklung einer kundenspezifischen Variante des Modellierungswerkzeugs eTrice, das die Modellierungssprache ROOM (Real-Time Object-Oriented Modeling) unterstützt. Das Modellierungswerkzeug verfügt über einen graphischen Editor (Graphiti) und einen Texteditor (DSL auf Xtext-Basis).
Die Variante sollte die modellgestützte Entwicklung
von Steuergerätesoftware basierend auf einer erweiterten Variante von ROOM unterstützen.
Im Rahmen dessen erfüllte Aufgaben:
Untersuchung der doActivitys der UML-Statecharts zur Vorbereitung der Übernahme dieses Konzepts in die ROOM-DSL.
Projektkontext: Entwicklung des Testmanagementwerkzeugs CETES, das Teil eines modellbasierten Testsystems im Embedded Bereich ist.
Im Rahmen dessen:
Im Rahmen der multinationalen Entwicklung eines Luftabwehrsystems:
Gelegentliche Unterstützung des Schulungsbereichs der Kölsch & Altmann Software & Management Consulting GmbH mit der Durchführung von C++ und UML-Schulungen. Projektbezogener Aufbau von Know-How und Anwendungserfahrung mit den Realzeit-Erweiterungen von Rose RT im UML-Umfeld und Aufbereitung der gewonnenen Erfahrungen in einer Weise, die ihre Verwendung zu Schulungszwecken erlaubt.
Projektkontext: Optimierung des Designprozesses von E/E-Bordnetzen durch die Verbesserung seiner Toolunterstützung und durch Umstellung auf einen Katalog funktionaler Anforderungen als Ausgangspunkt für die Bordnetzentwicklung.
Im Rahmen dessen erfüllte Aufgaben:
Projektkontext: Umsetzung einer vorhandenen firmeninternen Anwendung für das Projekt-Controlling unter Verwendung neuer Software-Architekturen auf der Basis moderner und leichtgewichtiger Frameworks zur Evaluierung der hierzu verwendeten Frameworks und Technologien.
Im Rahmen dessen:
Projektkontext: Erstellung und iterativ inkrementelle Erweiterung eines in C++ implementierten Real Time Voice over IP Gateways zur Ausführung unter VxWorks und Linux. Das Gateways setzt sich aus verschiedenen Subsystemen zusammen. Jedes Subsystem hat eine klar abgegrenzte Verantwortlichkeit. Es ist kompatibel zu einer vorgegebenen Schnittstelle und registriert sich bei einer koordinierenden Komponente. Über diese Komponente läuft die Kommunikation zwischen den Subsystemen. Das macht die Subsysteme austauschbar und erleichtert die Erweiterung des Systems. Jedes Subsystem implementiert einen endlichen Zustandsautomaten. Im Zusammenspiel der Subsysteme ergibt sich ein System aus verschiedenen endlichen Automaten, die miteinander über synchronen und asynchronen Meldungsaustausch kommunizieren.
Mitarbeit bei der modellbasierten Entwicklung mehrere Releases des Gateways in der jeweiligen Requirementsanalyse-, Spezifikations-, Design-, Implementations- und Integrationsphase. Je nach Phase in der Rolle des
letzteres im Rahmen der koordinierten Lösung sehr dringender, komplexer Probleme.
Unterstützung des Kundenservices bei der Bewältigung von Problemen mit Gateway- Releases im Kundeneinsatz zum Teil auch durch Einsatz bei Endnutzern der VoIP-Gateways vor Ort.
In enger Zusammenarbeit mit den Entwicklungsteams des Kunden Einbringung der
der Unterstützung des SIP-Protokolls und
standardkonforme Einbringung des Leistungsmerkmals Anrufweiterschaltung (Call Diversion Recommendation ITU-T H.450.3).
Hierbei Implementation und Integration neuer Subsysteme. Je nach Entwicklungsschwerpunkt dauerhafte oder vorübergehende Übernahme der Verantwortung für Wartung, Erweiterung und Pflege weiterer Subsysteme. Die Entwicklung erfolgte tool-gestützt in UML unter Verwendung der UML-Tools Innovator 6.2 und Umbrello.
In den jeweiligen Spezifikationsphasen
Ergebnis: UML-Modelle, aus dem Code generiert werden konnte.
In den Implementationsphasen
In den Integrationsphasen Einsatz als Integrator und Integrationstester mit Schwerpunkt auf Last- und Stresstests.
Im Detail:
Ergebnis: Steigerung der Stabilität und Zuverlässigkeit durch Steigerung der Zwischenausfallzeit (Mean-Time-To-Failure) auf die geforderte Länge.
Produktbetreuung für alte Releases. Im Rahmen dessen Fehler- und Änderungsmanagements sowie die Führung und Koordination von Teams, die im Bedarfsfall zur Eingrenzung und Behebung besonders schwieriger Probleme zusammengestellt wurden.
Erleichterung der Fehlereingrenzung durch Schaffung der Möglichkeit zum Nachstellen von Endbenutzerproblemen in der Entwicklungsumgebung.
Zu diesem Zweck:
Im Rahmen der Implementation, Integration und dem Test der oben erwähnten Erweiterungen zur Steigerung der Zuverlässigkeit von analogen Fax- und Modem-Übertragungen: Eigeninitiative, selbständige Erstellung einer Reihe von Werkzeugen und Verknüpfung vorhandener Werkzeuge zu Werkzeugketten, da geeignete Standardprodukte beim Kunden nicht zur Verfügung standen oder erst hätten adaptiert werden müssen.
Im Rahmen dessen:
Teilintegrationstest der generierten Systemkomponenten mit aus dem UML-Modell ebenfalls generierten Testskripten sowie Erstellung der Systemdokumentation auf der Basis der durch den Test gelieferten Trace-Ausgaben.
In der Integrationsphase der Erweiterung des VoIP-Gateways um das SIP-Protokoll Eingrenzung von Memory-Leaks, die nur unter Last auftraten. Dabei erfolgreiche Führung einer mehrköpfigen, international besetzten Task-Force mit dem Ziel der Steigerung der Leistungsfähigkeit dieses Gateways bei Verwendung des SIP-Protokolls bis zur Erreichung der vorgegebenen Leistungsdaten.
Diplomarbeit:
„Spezifikation klassischer BLAS-,LINPACK- und EISPACK-Algorithmen in ASL-II und diesbezügliche Bewertung der Spracheigenschaften.“
Studienarbeit:
„Implementierung des primalen Schnittebenenverfahrens von Young auf einem SIMD-Rechner“
Nebenfach (Hauptstudium):
Mathematik
Nebenfach (Grundstudium):
Betriebswirtschaftslehre
Schwerpunkte:
Remote-Arbeit ist möglich.
Zusammenfassung:
Erweiterung und Pflege von Workflow-Management-Systemen, die auf ereignisgesteuerten Prozessketten (EPKs) basieren.
Ein Front-End bestehend aus Eclipse RCP e4 Clients interagiert mit einem Back-End bestehend aus Java XML Web Services (JAX-WS), die durch BPEL-Prozesse orchestriert werden.
Die BPEL-Prozesse wurden aus vordefinierten EPKs abgeleitet. Diese EPKs und zugehörige Dokumentation in Textform bilden die Grundlage und den Ausgangspunkt für alle Korrekturen, Anpassungen und Erweiterungen des Systems.
Details:
Entwicklung eines Editors, der BPEL 1.1-XML auf eine DSL abbildet, um das Mergen im Rahmen des Versions- und Variantenmanagement von BPEL-Prozessbeschreibungen zu vereinfachen.
Zusammenfassung:
Pflege und Erweiterung von Workflow-Management-Systemen auf JIRA-Basis mit Fokus auf den eigenentwickelten Plugins, die MVC-Services auf Apache-Velocity-Template-Basis und SPAs auf SOY/Javascript-Basis implementieren.
Nutzung von JUnit/Mockito und statischer Code-Analyse durch SonarQube zur Unterstützung der QS.
Details:
Entwicklung einer DSL und zugehöriger Sprach-, Editor- und Generatorkomponenten für die Unterstützung der Entwicklung von JIRA-Plugins.
Modernisierung und Verfeinerung selbst erstellter Softwarekomponenten zur Verkettung gegebener Werkzeuge und Frameworks zur Unterstützung der Softwareentwicklung und Projektabwicklung; Bewertung von Softwarewerkzeugen und Frameworks bezüglich ihrer Eignung für diese Zwecke.
Herleitung von XText-basierten DSLs aus XSDs zur Unterstützung der Projektarbeit.
Um Operationen wie
Diagnose,
Tests,
Re-Programmierung oder
Initialisierung
von Automobilkomponenten oder Funktionen mit diagnostischen Fähigkeiten durchzuführen, nutzt man diagnostische Testsequenzen.
Solche Operationen können mit off-board Testsoftware ausgeführt werden.
Die OTXSuite ist solche Software.
Neben ihrer Ausführung ist die Entwicklung und der Test solcher
Operationen das Hauptleistungsmerkmal der Suite.
Testsequenzen definieren die Abfolge von Interaktionen zwischen dem Anwender, der Diagnoseanwendung und der Kommunikationsschnittstelle des Fahrzeugs.
Der Anwender kann ein Mitglied des Werkstatt- oder Montagepersonals sein.
Die Sequenzen definieren zudem alle Berechnungen und Entscheidungen, die für eine geführte Diagnose oder ähnliche Testlogik gebraucht werden.
OTX (Open Test sequence eXchange, ISO 13209) schlägt ein offenes und standardisiertes, xml-basiertes, von Menschen und Maschinen lesbares Datenformat zur Beschreibung diagnostischer Testsequenzen vor.
Sein Einsatzzweck:
Das Format unterstützt den einheitlichen Transfer diagnostischer
Testsequenzen zwischen
Zulieferern elektronischer Systeme,
Fahrzeugherstellern,
Händlern und
Werkstätten.
In OTX definierte diagnostische Testsequenzen werden im folgenden als OTX-Sequenzen bezeichnet.
Refactoring der OTXSuite, die ursprünglich von der In2Soft GmbH entwickelt wurde.
Technische Merkmale der Suite:
Außendarstellung (VIEW): Grafische Darstellung einer OTX-Sequenz unter Verwendung von GEF.
Datenmodell (MODEL): Apache XMLBeans (https://xmlbeans.apache.org/).
Das Refactoring wurde nötig, da unter anderem die Implementierung des Datenmodells auf Apache XMLBeans basierte, deren Pflege seit Mai 2014 eingestellt ist.
Ziel: Entwirren der Komponenten-Verantwortlichkeiten bis Komponenten mit Model-, View- & Controller-Verantwortlichkeiten klar getrennt sind.
Anschließend Austausch der Komponenten mit Model-Verantwortlichkeiten.
Zu diesem Zweck Analyse der OTXSuite im Bezug auf Ansätze zur Migration von Apache XMLBeans zu EMF unter Verwendung des XText-Frameworks bei gleichzeitiger Migration von Eclipse 3 nach Eclipse 4.
Zudem Unterstützung der Herleitung einer DSL aus den OTX-XSDs.
In diesem Zusammenhang Skizzierung von Ansätzen zum Aufbau einer ausreichenden Test-Abdeckung, die die Voraussetzung jeglicher Refactoring-Maßnahmen ist, bis das Refactoring abgeblasen wurde.
Es wurde zu Gunsten des Neubaus der OTXSuite unter Verwendung von Web-Technologien abgeblasen.
Übernahme der Produkt-Owner-Ship für die OTXSuite gegenüber einem englischen Kunden der KPIT um die Lücke zu schließen, die durch den Weggang des bisherigen POs entstand.
Diese Aufgabe wurde durchgeführt bis sie an einen neu eingestellten OTX-Experten übergeben werden konnte.
Anpassung eines Authoring-Style-Guides an die Bedürfnisse des englischen Kunden in enger Zusammenarbeit mit dem Kunden.
Dies schloss die Definition kundenspezifischer Validierungsregeln
(Checker-Rules) zur Ergänzung der bereits in ISO 13209 enthaltenen Kern-Regeln ein.
Definition kundenspezifischer Anforderungen an die OTXSuite und ein eigenständiges Validierungswerkzeug, das als OTX-Checker bezeichnet wurde.
Der Checker war darauf ausgelegt neben den Validierungsregeln des ISO 13209 weitere kundenspezifische Regeln umzusetzen.
Erstellung des ersten Entwurfs des Entwicklungsprozesses in enger Zusammenarbeit mit dem Kunden.
Der Prozess deckte die Anwendung der OTXSuite,
des oben erwähnten Checkers und anderer von KPIT bereitgestellter Werkzeuge innerhalb der Fahrzeug-Entwicklung und -Produktion des Kunden ab.
Kundensupport und Pflege der OTXSuite V1.0 für einen deutschen Kunden der KPIT auf technischer Ebene.
Pflege-Strategie: Geringst mögliche Änderung - Lasse so viel wie möglich unverändert.
Fehlerbehebung und Umsetzung von Erweiterungen, die in enger Zusammenarbeit mit dem Kunden definiert wurden.
Unterstützung des Kunden im Umgang mit Datenbestandsaktualisierungen unter anderem durch das Refactoring alter mit der Suite erstellter OTX-Sequenzen.
Dies wurde durch Junit4-tests erreicht, die die Rolle von White-Box-Tests übernahmen.
Durchführung eines Konzeptübergangs innerhalb des Ansatzes des Kunden zur geführten Fehlersuche in enger Zusammenarbeit mit dem Kunden der KPIT.
Beim Übergang gewählte Strategie: Iterativ, inkrementell unter Verwendung von Engineering-Releases und koordiniertes, schrittweises Refactoring alter OTX-Sequenzen.
Projektkontext:
Implementierung einer Applikation zur Visualisierung des Verhaltens von UML2-konformen hierarchischen Zustandsautomaten.
Zwei Ansätze zur Erzeugung von Automaten werden umgesetzt:
Die Zustandsautomaten sind über eine DSL spezifizierbar und UML2-konform durch ein UML-Tool modellierbar. In beiden Fällen wird eine gemeinsame Java-Library verwendet. Ihre Implementierung lehnt sich stark an das UML2-Metamodel für hierarchische Zustandsautomaten an.
DETAILS:
DSL-basierter Ansatz: Generierter Java-Code implementiert das Verhalten unter Verwendung der Library.
UML-basierter Ansatz: Spring-core instanziiert, initialisiert und verdrahtet Klassen aus der Library.
Entwicklungsstand:
Die Java-Library ist soweit ausimplementiert, dass sie Deep-History auf alle Hierarie-Ebenen unterstützt. Parallel zueinander ablaufende Automaten werden demgegenüber noch NICHT unterstützt.
Spezifikation von UML-State-Charts durch eine DSL auf Xtext-Basis und Code-Generierung durch XTend2-Templates ist möglich. Die Implementierung liegt als stabiler, lauffähiger Prototyp vor.
Konvertierung von UML-State-Charts im XMI-Format in spring XML beans als testbarer lauffähiger Prototyp.
Integrationstests als parametrisierte Junit-Tests.
Nächste Schritte:
Aufsetzen der Build- und Testautomatisierung (CI) auf der Basis von Jenkins, SVN, GIT und Maven Tycho.
Visualisierung ausgewählter aus der Spezifikation erzeugter EMF (ecore)-Komponenten mittels GEF. Hierfür liegt ein lauffähiger Demonstrator vor, der im Zuge der Einarbeitung in GEF in Anlehnung an Beispiele aus dem Internet erstellt wurde.
Übernahme, Migration, Integration, Konsolidierung, Test, Dokumentation und Verfeinerung von Software zur Transformation von Zustelladressen für Pakete. Die verfeinerte Software ist Teil eines Systems zur Koordination der Paketzustellung in einem Logistikunternehmen.
Zur Vorbereitung auf und begleitend zum Projekteinsatz: Erweiterung des Fachwissens über Spring und JPA zur Bewertung dieser Technologien im Hinblick auf ihre Anwendbarkeit im laufenden und in folgenden Projekten.
Konzeption, Planung, Automatisierung, Implementierung und anschließende Ausführung von Integrations- und Systemtests, denen aufgrund des sicherheitsgerichteten Entwicklungsumfelds eine besondere Bedeutung zukommt.
Die zu testende Software kommt in verschiedenen internationalen Kundenprojekten u .a. im Hochgeschwindigkeits-Schienenverkehr zum Einsatz.
Ausgeführte Aufgaben im Detail:
Durch diese Vorgehensweise konnte die frühzeitige Aufdeckung und Weiterleitung einer Reihe von Fehlern in der Software erreicht werden.
Spezifikation und prototypische Umsetzung von ''Mobile Maintenance'' mit einem Front-End auf Android 4-Basis und einem Back-End aus in Java implementierten FCGI-Deamons, die via HTTP kommunizieren und in C++ implementierte Tests anstoßen. Im Rahmen dessen Integration eines in Java auf Eclipse-RCP-Basis implementierten Testmanagement-Werkzeugs als FCGI-Deamon und Anbindung desselben an Virtuoso-Sparql-Endpoints mittels Linked Data sowie Implementierung eines koordinierenden Daemons unter Befolgung der SOLID-Prinzipien bei vorteilhafter Verwendung geeigneter OO-Design-Patterns (GoF-Patterns).
Projektkontext: Entwicklung einer kundenspezifischen Variante des Modellierungswerkzeugs eTrice, das die Modellierungssprache ROOM (Real-Time Object-Oriented Modeling) unterstützt. Das Modellierungswerkzeug verfügt über einen graphischen Editor (Graphiti) und einen Texteditor (DSL auf Xtext-Basis).
Die Variante sollte die modellgestützte Entwicklung
von Steuergerätesoftware basierend auf einer erweiterten Variante von ROOM unterstützen.
Im Rahmen dessen erfüllte Aufgaben:
Untersuchung der doActivitys der UML-Statecharts zur Vorbereitung der Übernahme dieses Konzepts in die ROOM-DSL.
Projektkontext: Entwicklung des Testmanagementwerkzeugs CETES, das Teil eines modellbasierten Testsystems im Embedded Bereich ist.
Im Rahmen dessen:
Im Rahmen der multinationalen Entwicklung eines Luftabwehrsystems:
Gelegentliche Unterstützung des Schulungsbereichs der Kölsch & Altmann Software & Management Consulting GmbH mit der Durchführung von C++ und UML-Schulungen. Projektbezogener Aufbau von Know-How und Anwendungserfahrung mit den Realzeit-Erweiterungen von Rose RT im UML-Umfeld und Aufbereitung der gewonnenen Erfahrungen in einer Weise, die ihre Verwendung zu Schulungszwecken erlaubt.
Projektkontext: Optimierung des Designprozesses von E/E-Bordnetzen durch die Verbesserung seiner Toolunterstützung und durch Umstellung auf einen Katalog funktionaler Anforderungen als Ausgangspunkt für die Bordnetzentwicklung.
Im Rahmen dessen erfüllte Aufgaben:
Projektkontext: Umsetzung einer vorhandenen firmeninternen Anwendung für das Projekt-Controlling unter Verwendung neuer Software-Architekturen auf der Basis moderner und leichtgewichtiger Frameworks zur Evaluierung der hierzu verwendeten Frameworks und Technologien.
Im Rahmen dessen:
Projektkontext: Erstellung und iterativ inkrementelle Erweiterung eines in C++ implementierten Real Time Voice over IP Gateways zur Ausführung unter VxWorks und Linux. Das Gateways setzt sich aus verschiedenen Subsystemen zusammen. Jedes Subsystem hat eine klar abgegrenzte Verantwortlichkeit. Es ist kompatibel zu einer vorgegebenen Schnittstelle und registriert sich bei einer koordinierenden Komponente. Über diese Komponente läuft die Kommunikation zwischen den Subsystemen. Das macht die Subsysteme austauschbar und erleichtert die Erweiterung des Systems. Jedes Subsystem implementiert einen endlichen Zustandsautomaten. Im Zusammenspiel der Subsysteme ergibt sich ein System aus verschiedenen endlichen Automaten, die miteinander über synchronen und asynchronen Meldungsaustausch kommunizieren.
Mitarbeit bei der modellbasierten Entwicklung mehrere Releases des Gateways in der jeweiligen Requirementsanalyse-, Spezifikations-, Design-, Implementations- und Integrationsphase. Je nach Phase in der Rolle des
letzteres im Rahmen der koordinierten Lösung sehr dringender, komplexer Probleme.
Unterstützung des Kundenservices bei der Bewältigung von Problemen mit Gateway- Releases im Kundeneinsatz zum Teil auch durch Einsatz bei Endnutzern der VoIP-Gateways vor Ort.
In enger Zusammenarbeit mit den Entwicklungsteams des Kunden Einbringung der
der Unterstützung des SIP-Protokolls und
standardkonforme Einbringung des Leistungsmerkmals Anrufweiterschaltung (Call Diversion Recommendation ITU-T H.450.3).
Hierbei Implementation und Integration neuer Subsysteme. Je nach Entwicklungsschwerpunkt dauerhafte oder vorübergehende Übernahme der Verantwortung für Wartung, Erweiterung und Pflege weiterer Subsysteme. Die Entwicklung erfolgte tool-gestützt in UML unter Verwendung der UML-Tools Innovator 6.2 und Umbrello.
In den jeweiligen Spezifikationsphasen
Ergebnis: UML-Modelle, aus dem Code generiert werden konnte.
In den Implementationsphasen
In den Integrationsphasen Einsatz als Integrator und Integrationstester mit Schwerpunkt auf Last- und Stresstests.
Im Detail:
Ergebnis: Steigerung der Stabilität und Zuverlässigkeit durch Steigerung der Zwischenausfallzeit (Mean-Time-To-Failure) auf die geforderte Länge.
Produktbetreuung für alte Releases. Im Rahmen dessen Fehler- und Änderungsmanagements sowie die Führung und Koordination von Teams, die im Bedarfsfall zur Eingrenzung und Behebung besonders schwieriger Probleme zusammengestellt wurden.
Erleichterung der Fehlereingrenzung durch Schaffung der Möglichkeit zum Nachstellen von Endbenutzerproblemen in der Entwicklungsumgebung.
Zu diesem Zweck:
Im Rahmen der Implementation, Integration und dem Test der oben erwähnten Erweiterungen zur Steigerung der Zuverlässigkeit von analogen Fax- und Modem-Übertragungen: Eigeninitiative, selbständige Erstellung einer Reihe von Werkzeugen und Verknüpfung vorhandener Werkzeuge zu Werkzeugketten, da geeignete Standardprodukte beim Kunden nicht zur Verfügung standen oder erst hätten adaptiert werden müssen.
Im Rahmen dessen:
Teilintegrationstest der generierten Systemkomponenten mit aus dem UML-Modell ebenfalls generierten Testskripten sowie Erstellung der Systemdokumentation auf der Basis der durch den Test gelieferten Trace-Ausgaben.
In der Integrationsphase der Erweiterung des VoIP-Gateways um das SIP-Protokoll Eingrenzung von Memory-Leaks, die nur unter Last auftraten. Dabei erfolgreiche Führung einer mehrköpfigen, international besetzten Task-Force mit dem Ziel der Steigerung der Leistungsfähigkeit dieses Gateways bei Verwendung des SIP-Protokolls bis zur Erreichung der vorgegebenen Leistungsdaten.
Diplomarbeit:
„Spezifikation klassischer BLAS-,LINPACK- und EISPACK-Algorithmen in ASL-II und diesbezügliche Bewertung der Spracheigenschaften.“
Studienarbeit:
„Implementierung des primalen Schnittebenenverfahrens von Young auf einem SIMD-Rechner“
Nebenfach (Hauptstudium):
Mathematik
Nebenfach (Grundstudium):
Betriebswirtschaftslehre
Schwerpunkte: