Design and Implementation of A-SMGCS Based on ICE

. This paper aims at the problems of safety and efficiency of airport, designs and implements an Advanced Surface Movement Guidance and Control System (A-SMGCS) terminal, discusses the goals and key technologies about the system, including communication module design based on Internet Communications Engine, cache design of aircraft targets, and efficiency improvement of a large number of targets on the aerodrome. Finally, we give the test and conclusions of the system at a international airport in China.


Introduction
With the increasing demand for air transport all over the world, pressure is growing for airport systems to safely handle greater capacity in all weather conditions, improve traffic distribution and management, maximize use of existing infrastructure and so on [1]. The number of accidents and incidents during airport surface movements, including runway incursions, is increasing. Contributing factors include the increasing number of operations that take place in low visibility conditions, the progressive increase in traffic, the complexity of aerodrome layouts, and the proliferation of capacity-enhancing techniques and procedures. Therefore, advanced capabilities are needed to ensure spacing when visual means are not adequate and to maintain aerodrome capacity in all weather conditions. In addition, as visibility is gradually reduced, the ability of controllers and pilots to carry out visual surveillance becomes increasingly impaired [2].
A-SMGCS utilizes multiple surveillance sources such as ADS-B (Automatic Dependent Surveillance Broadcast), MLAT (Multilateration), PSR (Primary Surveillance Radar), SSR (Secondary Surveillance Radar), SMR (Surface Movement Radar), and other fusion data, and provide routing, guidance and surveillance for the control of aircraft and vehicles in order to maintain the declared surface movement rate under all weather conditions within the aerodrome visibility operational level (AVOL), especially in low visibility, while maintaining the required level of safety [3].

Goals for the system
A-SMGCS is a kind of software that makes use of all kinds of data like sensors data, fusion data, alarms data, flight plan, meteorological data, to surveillance and control the traffic on the aerodrome [4]. The main functions of our A-SMGCS consist of: 1) Real-time presentation of surveillance sensor data and fusion data, such as ADS-B, MLAT, SMR, PSR/SSR; 2) Real-time display runway incursion, taxiway alerting, alerting for loss of data and so on; 3) Maintenance and check of flight plan, meteorological data and stand information; 4) Recording and playback of surveillance information.
In addition to the main functions provided by A-SMGCS described above, functions of data acquisition, fusion and communication with other systems must be considered. Concretely speaking, when monitoring the real-time traffic state on the aerodrome, our A-SMGCS terminal mainly obtains single-sensor data, such as ADS-B, SMR, MLAT, SMR, PSR/SSR from data pretreatment system, and obtains fusion data from fusion system [5]; when processing conflict alert information, the terminal obtains corresponding alert information from alert system, after the alert information are processed, the alert information could be feedback to alert system; flight plan and meteorological data of the terminal come from flight plan system and meteorological system.

Internet communications engine overview
The Internet Communications Engine (ICE), is an open source RPC framework developed by ZeroC. It provides SDKs for C++, C#, Java, JavaScript, Objective-C, PHP, Python, and Ruby, and can run on various operating systems, including Linux, Windows, OS X, and Android. ICE implements a proprietary communications protocol, called the ICE protocol that can run over TCP, TLS, UDP, and WebSocket. As its name indicates, ICE can be suitable for an application that communicate over the Internet, and includes functionality for traversing firewalls [6].
The ICE architecture provides a number of benefits to application developers: object-oriented semantics, support for synchronous and asynchronous messaging, support for multiple interfaces, machine independence, language independence, implementation independence, operating system independence, threading support, transport independence, location and server transparency, built-in persistence, source code availability and so on.
Overall, ICE provides a state-of-the art development and deployment environment for distributed computing that is more complete than any other platform we are aware of. Figure 1 illustrates the communication module of the terminal system, in which, the system use ICE for communication. Figure 1 gives a schematic overview of the communication module. The data transmission of the terminal system mainly consists of fusion data, associated data, single sensor data, alarm information, flight plan, meteorological information, gate information and other message transmission. Among them, fusion data and artificial association data module primarily communicate with fusion system; other single sensor data module chiefly communicates with data preprocessing system; the alarm information module mostly communicates with the alarm system; the flight plan module mainly communicates with the FDP system; meteorological information module is mainly to communicate with the meteorological system.  In the process of research and development for middleware, the system has designed two kinds of maintenance for messages: shared memory mode and message queue mode, which are used in the field of civil aviation data transmission due to large amounts of data and high real time.

Cache design of aircraft targets
Receipt of track data in our terminal is divided into two categories: data form single sensor and fusion data. The terminal firstly decodes data through decoder interface after accepting the two types of data; secondly, the system stores the track data in the cache of the aircraft target. Meanwhile, our system renders the aircraft target according to its cache. Therefore, it is extremely important to design targets cache that is easy to extend and stable, and Figure 2 shows the design of targets cache for airplanes.

Efficiency improvement of a large number of targets
When the number of aircraft targets on the aerodrome exceeds 400 at the same time, the efficiency of system will reduce, we analyze the reason for efficiency reduction, and find that because the work to render each tag for each aircraft is time consuming. Therefore, we provide solution with respect to: Increase efficiency of rendering for single tag: we render target by lightweight component, and the tag inherits Class Lightweight Component, which applies double buffer in implementation. Therefore, we could raise the efficiency and stability of drawing.
Drawing range: we only draw the target on the visible region or nearby region, which not only cuts down the workload of massive drawing of needless, but also raises the drawing efficiency for the entire system.
On these basis, a pressure test about 600 airplane targets running at the same time on the aerodrome is made, the display and related system functions operation are still smooth.

Site proof
A-SMGCS terminal system has been tested at a domestic international airport for more than one year. Practical running and testing proves the design's feasibility and reliability. The performance is stable, and enjoys a high evaluation and accreditation from the airport users. The screen-capture of our system is as follows (Figure 3).
After a comprehensive internal test, the system test results are excellent, such as: the system capacity is greater than 300 aircraft and 300 vehicles, the location report accuracy of targets is less than 7.5 meters, the average processing time of aircraft and vehicle identification data is less than 3 seconds, the average processing time of aircraft and vehicle location data is less than 1 second, and the response time of human machine interface is less than 1 second. All the performance indexes meet the technical requirements of CAAC.

Conclusions
ICE is a comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python, and more. The ICE core provides a sophisticated client-server platform for distributed application development. Communications between client and server can be fully secured with strong encryption over SSL, so applications can use unsecured public networks to communicate securely. Due to the growth in density of traffic flow and capacity of airport, problems of runway incursion, conflicts on the aerodrome, aviation safety and flight delay become more and more prominent. To solve these problems, we design and implement A-SMGCS terminal system, which shows wider application prospect after test at a domestic airport for more than one year. Our system is a modular system consisting of different functionalities to support the safe, orderly and expeditious movement of aircraft and vehicles on aerodromes under all circumstances with respect to traffic density and complexity of aerodrome layout, taking into account the demanded capacity under various visibility conditions.