Ruppert-IT LogoProjects

Enhancements to an ATC system for air situation display

Further development of an operational air traffic control (ATC) systems for air situation display (DFS-Phoenix). Main radar data so-called plots are tracked by a so-called tracker to create a track for each air plane in flight. These tracks are transmitted to other sub- or external systems for further processing and/or just displaying the tracks on screen. For this purpose a ATC specific binary protocol (Eurocontrol Asterix) is widely used. Within the project a display software was developed to display tracks and map data based on the Qt 3 C++ framework.

Brief description of product development:
  • Development of geographic filters using a point in polygon algorithm implemented in C and C++ (Qt). Different usages of this generic algorithm to filter plots and tracks within the tracker program.
  • Design and implementation of a redundant master slave concept for the tracker process including communication between master and slave for data replication.
  • Development of a concept for automatic master slave detection and negotiation between the tracker processes using UDP broadcast or multicast packets send by the tracker processes.
  • Enhancement and improvement of the encoder and decoder for written in C of the Eurocontrol asterix standard. The Eurocontrol asterix standard is a high flexible byte oriented binary format.
  • Design and implementation of a modular dialog concept (more than 30 dialogs) for the display component.
  • Implementation of different dialogs for the display component of the controller working position (CWP).
  • Porting the complete software from Linux/x86 to Linux/HP-PA.
  • Implementation of a project logging framework based on the concepts of log4j or log4cpp.
  • Design of a concept for managing "release notes" in a middle to large version control system (CVS) with many branches.
Brief description of administrative tasks:
  • Changed build process of the complete software from qmake (Qt) to GNU based autoconf and automake tools.
  • Installation and establishing an intranet web server (Apache2) used for serving a wiki and bug tracking for the project.
  • Development of a central repository for automated builds of needed external software packages such as compiler, libraries and other tools. With this repository it is very simple to add or delete a tool for the projects development environment.
  • Development of scripts for continuous quality assurance of the software (nightly builds, unit tests).
  • Merging of different development branches into the main development branch of the software using version control features (CVS merging).
  • Installation and establishing of a bug tracking system (Bugzilla).
  • Analysing of the C/C++ software and development of improvements and optimisations for better code quality, runtime behaviour, more object oriented approaches and software security issues such as buffer overflows.
  • Configuration and usage of a C++ source code analysis tool (QA-C++) to improve the C++ source code (static C++ source code analyse).
  • Participation and support for factory acceptance test (FAT) and system acceptance test (SAT).
  • Support for colleagues in topics to C/C++ and Unix.
Project role:
Software architect, Software developer, Software quality assurance.
Operating systems:
Linux/x86, Linux/HP-PA
Development environment:
GNU Make, GNU autotools, GNU C/C++-Compiler, CVS, Bugzilla, GNU Emacs, doxygen, Tiki Wiki, QA C++, gengetopt, gperf
Libraries:
stdc++, Qt 3, CppUnit
Standards, Protocols:
Eurocontrol Asterix, XML
Databases:
SQLite
Hardware:
x86, HP-PA-RISC
Customer, Industry:
German Air Traffic Control (Deutsche Flugsicherung GmbH), Transport industry
Time, Duration:
January 2004 - May 2006