New Russian Air Traffic Control System on the NetBeans Platform

VNIIRA, located in St. Petersburg, Russia, has created an ATC (air traffic control) system in Java on the NetBeans Platform, which has been installed at the newly constructed Talakan Airport in Sakha Republic, Russia. The application is the client of the ATC system, named "Sintez KSA", i.e., it is known as the "Sintez KSA" client.

The system allows tracking of hundreds of flights using primary and secondary surveillance radars. Its users are flight executive officers and traffic controllers. Application features include flight tracking, conflict detection and resolution, data display from various sources, together with playback and recording of all system events and user actions.

The application consists of dozens of modules with different functions. Using the modular NetBeans Platform, the team was able to compose features from multiple modules to provide the necessary functionality tailored to various roles, from flight executive officer to air traffic controller to combinations of these. Furthermore, the need for a flexible window management system, based on requirements coming from a demanding UI layout, is met by the NetBeans Platform window system. And, last but not least, the NetBeans Visual Library was used for creating custom UI controls.

How was the NetBeans Platform chosen? VNIIRA develops ATC systems for huge airports. Three years ago they needed a product for smaller airports and at that time their target operating system was Solaris. After evaluation, the NetBeans Platform turned out to be the only choice that could provide all necessary functionality. Then, two years ago, the target platform requirement changed and today the application runs under Linux. The transition was made absolutely seamlessly. The application is created on NetBeans Platform 6.9.1 and therefore the team is planning to switch to the latest version, so as to make extensive use of all the latest NetBeans Platform capabilities.


I'm not very familiar with NetBeans nor NetBeans platform, so my question might sound stupid. If I write a desktop application like this using the NetBeans platform, do I need to download NetBeans? Or is the NetBeans platform (with its own API which is better than Swing) a library which can be downloaded through maven?

Posted by Thai Dang Vu on January 31, 2013 at 07:22 AM PST #

Very interested in the ATC client based on the NetBeans app. This has me wondering: is this application actually used operationally in a safety-critical environment? If so, were there any special testing/verification/assurance activities that were required to be performed on the Netbeans platform itself?


Duncan Thomson

Posted by guest on January 31, 2013 at 02:33 PM PST #

> is this application actually used operationally in a safety-critical environment?
Yes, it is.

> If so, were there any special testing/verification/assurance activities that were required to be performed on the NetBeans Platform itself?
A few words about system architecture. Clients (NetBeans RCP app's) communicate each other via server. All hardware parts (server, communication links) are double hot reserved.
The most of user data exchange (operator actions, entered data) performed via custom shared in memory object storage. This allow us to "conform user action - system response time" requirement.
I can't say that we have any NetBeans specific testing procedures. The testing process included the next standard steps: unit testing, functional testing. System is deployed on a test desk. It worked 24 hours during month's and it constantly under the auto and manual testing.

Posted by Alex on February 01, 2013 at 02:50 AM PST #

Didn't the Java license used to explicitly prohibit its use in air traffic control systems?

Posted by Ian Fairman on February 01, 2013 at 04:13 AM PST #

It's used in ATC all around the world, Ian. Even NATO uses Java in ATC, and it recently won a Duke's Choice Award at JavaOne for that project. For more examples:

Posted by Geertjan on February 01, 2013 at 06:26 AM PST #

Dear Ian Fairman, could you point to any restriction for using Java in ATC? I couldn't find it in licence text

Posted by Alex on February 01, 2013 at 06:53 AM PST #

You can't use regular Java for mission-critical real-time systems. Oracle has a special Java Real Time System for this:

Posted by Yakov Fain on February 01, 2013 at 07:41 AM PST #

Regular Java, e.g., on the NetBeans Platform, is used all over the world in mission-critical real-time systems.

Posted by Geertjan on February 02, 2013 at 01:08 AM PST #

Dear Geertjan

what kind of libraries do i need to develop ATC system using netbeans platform?

is there any special library for visual view such as Controller Display(Surveillance Data Display)

please give me some expierence for developing ATC system.

Posted by guest on February 03, 2016 at 01:48 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« July 2016