Weiterentwicklung eines ATC-Systems zur Luftlagedarstellung
Weiterentwicklung eines operationelles Air-Traffic-Control (ATC) Fallback-Systems zur Luftlagedarstellung (DFS-Phoenix). Rohe Radardaten (Plots) werden mittels eines sogenannten Trackers zu Flugspuren (Tracks) korreliert, diese mittels verschiedener Algorithmen weiterverarbeitet und angeschlossene sub- oder externe Systeme in ATC-spezifischen Datenformaten abgegeben. Innerhalb des Projekts wurde eine Anzeige-Software (Display, CWP - Controller Working Position) für Tracks und Kartenmaterial auf Qt 3 Basis implementiert.
- Kurzbeschreibung Produktentwicklung:
-
- Entwicklung eines geographischen Filters mittels eines PointInPolygon Algorithmus in C und C++ (Qt). Verschiedenste Ausprägungen des Filters zur Filterung von Plots und Tracks innerhalb des Trackers.
- Entwurf und Entwicklung eines Redundanz Konzeptes für den Tracker-Prozeß (Master-Slave) inklusive des Datenabgleichs zwischen Master und Slave Tracker.
- Entwicklung eines Redundanz Konzepts zur redundanten Übertragung von Daten mittels UDP-Broadcast bzw. UDP-Multicast.
- Erweiterung und Verbesserung des eigenen Encoder und Decoder (C) des Eurocontrol Asterix Standards. Der Eurocontrol Asterix Standard ist ein hochflexibles binäres Byte-Stream Format.
- Entwurf und Entwicklung eines modularen Dialog Konzeptes für die Display Komponente (mehr als 30 Dialoge).
- Entwicklung von verschiedenen Display Komponenten (Dialoge) für die CWP.
- Portierung der Software von Linux/x86 auf Linux/HP-PA.
- Entwicklung einer eigenen auf Qt 3 basierten C++ Logging Bibliothek ähnlich den log4j oder log4cpp Konzepten.
- Erarbeitung eines Konzepts zur besseren Verwaltung von "Release Notes" in Bezug auf parallele Entwicklungszweige (CVS Branches).
- Kurzbeschreibung administrative Aufgaben:
-
- Umstieg eines qmake (Qt) basierten Build-Prozesses auf GNU autotools.
- Insallation und Etablierung eines Internat Web-Servers (Apache2) inklusive CVS Web-Frontend und Internet Wiki.
- Aufbau eines zentralen Repositories für die Entwicklungsumgebung, so dass Hinzufügen, Löschen oder einspielen einer neuen Version einfach und zentral möglich ist. Enthält alle benötigten Werkzeuge wie autotools, C/C++ Compiler, Werkzeuge zur Kode- und Dokumentationgenerierung.
- Entwicklung von Skripten zur dauerhaften Qualitätskontrolle (Nightly builds, Unit Test Framework).
- Betreuung und Durchführung der Zusammenführung verschiedener Entwicklungszweige in den Hauptentwicklungszweig (CVS Mergen).
- Installation und Etablierung eines Bug-Tracking-Systems (Bugzilla)
- Analyse der exsitierenden C++ Software und Erarbeitung von Verbesserungen und Optimierungen für Laufzeitverhalten, Generalisierung (OOD) und Sicherheitsfragen wie Buffer-Overflows oder gefährlichen Kodes.
- Konfiguration und Benutzung von QA-C++ zur Beurteilung und Verbesserung des C++ Quellkodes (statische C++ Quellkode Analyse).
- Mitwirkung und Unterstützung für Factory Acceptance Test (FAT) und System Acceptance Test (SAT).
- Unterstützung der Kollegen/Mitarbeiter in den Themengebieten C++ und Unix.
- Projekt-Rolle:
- Software-Architekt, Software-Entwickler, Qualitätssicherung Software.
- Betriebssysteme:
- Linux/x86, Linux/HP-PA
- Entwicklungsumgebung:
- GNU Make, GNU autotools, GNU C/C++-Compiler, CVS, Bugzilla, GNU Emacs, doxygen, Tiki Wiki, QA C++, gengetopt, gperf
- Bibliotheken:
- stdc++, Qt 3, CppUnit
- Standards, Protokolle:
- Eurocontrol Asterix, XML
- Datenbanken:
- SQLite
- Hardware:
- x86, HP-PA-RISC
- Kunde, Branche:
- Deutsche Flugsicherung GmbH, Verkehr
- Zeit, Dauer:
- Januar 2004 - Mai 2006
