As we wrote in the first part, we have met the actual demand to edit, manipulate and calculate some statistics using raw navigation database data file purchased from Jeppesen. This file is a bunch of data composed following ARINC 424 specifications and provided as text file.
At the first look, for those familiar with ARINC 424 specifications, data appeared pretty human readable while using any text editor (even pretty simple Notepad which is included to each MS Windows operating system release). E.g. we were able to search through the database file and confirm customer or training manager if specific airport is included to simulator GSD database without getting in simulator and doing reposition or touching actual host computer.
However the simple question “How many airports are included to your simulator?” raised quite a significant challenge. We were not able to get even the most basic statistic off of my database. That was a limitation of the text file architecture. It is too solid to have the possibility to achieve something more than a basic search of piece of specific text string within the entire file.
Data is composed without using any popular delimiters used in common practice like tabs, commas or semi-colons. That made it impossible for us to even import plain text file to the common table processing software like MS Excel. For example, to perform basic statistics calculations to know exactly: how many airports do we have or how many radio stations are included? This question is pretty vital for older host computers where memory limitations are applicable and only a certain amount of stations can be processed without memory overflow problems. Another important statistical calculation is which Geo Areas are included? In addition to using statistical calculations, it is important to be able to apply basic filters for easier database review: filter by Geo Area identifier (EUR, MES etc.); filter by Geo Area coordinates, filter by Record type (Airport, Runway, VHF facility, NDB facility etc.), as well as generate Airports list to provide customer for their review or create a representative airports list to publish as simulator specification in a binder near simulator or send by email to customer.
Now I was pretty sure I need a tool (i.e. specific software) to manipulate database file to perform above mentioned tasks. At first I tried to perform a basic search over internet to find something useful. One of the most interesting stuff I found was the “ARINC Decoder. V4.2”, developed by Olivier Ravet. I did contact the author and I received the Demo version to try if it meets my expectations. I’d say it is a good and interesting piece of software to start with; however it was not exactly what I was looking for. In my personal opinion it is great as a database viewer, but it can’t actually work with data. In other words “ARINC Decoder. V4.2” is more intended to be uses by pilots rather by simulator engineers.
Sadly, but that was the first and probably the last software I found which is directly intended to work with database files created upon ARINC 424 specifications. Then I came up with the concept on how the software should work to become the most useful in my case. My software concept key items were:
- Software user interface should be graphical and very intuitive for any regular computer user who would feel comfortable to use it without a specific training. Functions must be distributed under common menu groups like “File”, “Edit”, “View” etc.
- Software should be running in most popular operating system. That obviously means MS Windows.
- Software should be able to understand database text file like a regular structural database instead of plain text file.
- Software should be able to manipulate imported data from text file (display, filter etc.)
Fortunately, I had some experience in programming, so I did feel confident and very inspired with this idea and I went from concept to actual programming work. My work tools were: ARINC 424-15 specification book; MS Visual Basic .NET IDE; Many hours of reading, thinking, learning, writing and testing.
We used to order database files which are in compliance with ARINC 424 version 15, that’s why I started with specifications of version 15. The programming language selection criterion was very straightforward, simply because I was mostly familiar with MS Visual Basic .NET. However it was my personal decision and it doesn’t provide any critical effect for the success of my concept. Developing process took about 2 months from the concept until the tested and working version was built. What was the initial and updated concept of the program? What surprises and difficulties did I face during the development? All these questions will be answered in the third part of the article, so stay tuned.