LJ Archive

Traveling Linux: An Implementation Experience for Unattended Management Applications

Maurizio Cachia

Issue #38, June 1997

Linux runs the trains in northeast Italy.

SAD operates in the local public transport field in an alpine area in the Northeastern part of Italy. We spent several years constructing an integrated payment system for all public transport operators (buses and trains) in our region. We now manage this payment system using about 90 PCs running 2.0.x Linux. As part of a new automatic vehicle location project, we plan to set up special industrial PC systems with GPS (Global Positioning System) and radio for data transfer on-board of every bus. On this Linux system, we implement procedures for traffic and tariff control.

An Integrated Payment System

About two years ago the Provincia Autonoma di Bolzano (The Autonomous Province of Bolzano—see sidebar) started to use a standardized payment system that allows patrons to use one ticket for all methods of public transportation, either on road or rail. This encouraged the setting up of an integrated information system with the aim of standardized management of all information obtained from statistical data about passengers and trips.

The system is based on the use of on-board electronic devices, with magnetic technology, which were built by a Belgian company with international experience in this field, and it required more than four years to completely set up.

The service network is managed by 25 different companies with very different needs and organizational models. In order to have standardized system management we developed a single software model that can define its own operational features, adapting to different conditions, and can integrate the management procedures for the bookkeeping and operational control of the principal companies.

The limits of the hardware features and the operational and development system were taken for granted from the first steps of implementation. These limits were apparent when it became necessary to merge the lines managed by the Ferrovie dello Stato (National Railroad Company) into our system.

This integration required us to set up devices like those on board the vehicles in 37 rail stations. These systems run unattended; therefore, it is necessary to have tele-diagnostic functions, remote updating and automatic data collection available.

Linux on Rail

About the middle of 1993, our consultants told us about the existence of a Unix-like operating system with source available on the Internet that had a license policy similar to that of the Free Software Foundation.

Our introduction to Linux, at that time on the 0.98 release, excited us at once because of its great stability and because the source was available if the need arose to make modifications in order to develop our own projects. Thus, we could implement an agreement with our current system house to obtain the updated and tested Linux distributions and to develop the device drivers for our not exactly standard devices. We modified the devices responsible for running of the magnetic records, converting them back to their natural terminal function, by which they are linkable to a personal computer through a strong and reliable transmission file.

In the first months of 1993, we set up the devices inside the stations. After a testing period and following the availability of the first 1.0.x Linux release versions, the whole system was put into action.

Today, 90 systems are running overall:

  • 40 wholly unattended inside the rail stations,

  • 40 by the ticket windows in the most important stations of the country, and

  • 10 inside the bus depots, that read and collect data coming from the buses through infrared transmissions.

Every unattended system consists of a black box set in a burglar-proof case that contains a 486 33MHz PC with 16MB of RAM and a 150MB hard disk, a minimum of four serial ports (UART 16550A), a V32bis or V34 modem and a battery backup. To each black box are connected (in RS 485) from two to six ticket obliteration units like those on the buses. These units now use Linux release 2.0.2x (ELF version).

The average system uptime is now more than 100 days; some system crashes still take place, probably because of particular environmental conditions. To obviate this, we are testing a hardware watchdog in some places. The ticketing systems are, of course, augmented by the presence of a monitor, a keyboard and terminal connections needed for credit card treatment.

Every night the central system connects to all the terminals, via a Taylor UUCP, for data collection and to start out some functions. Every week we use a PPP connection to do the systems clock adjustment using ntpdate.

Linux on the Bus

The precise knowledge of the patronage mobility features is not enough to solve every management problem of a bus company. In this industry employees are spread throughout the land and can be reached for service instructions only at particular times and at precise network points. Thus, programming the employee and bus schedule ahead of time is important, but does not allow for time lost in the work organization due to network problems, accidents, organizational difficulties or unexpected demand changes.

Therefore, we did a survey on the checking methods and technologies used in other countries. In general, these systems have been applied to the urban services of mid-sized metropolitan areas. The check service ends at the border of the suburbs, mostly because of the high investment costs needed for the radio transmission equipment. Architectures are normally based on these general features:

  1. Almost all check intelligence to a central point that is able to process a great quantity of data (in general, computers with real-time, special operation systems);

  2. Availability of a radio network with a great number of transmission channels and widespread cover, using a polling transmission method with every vehicle questioned to determine its position at very short time intervals (in general, less than a minute);

  3. In case of limited radio cover, integration with infrared active captor systems or with passive markers to reach vehicles or to allow them to correct their position;

  4. The intelligence on-board is collected by devices with industrial electronics features and proprietary technology based on a moderate capacity CPU.

In recent years, the check systems described above have made an evolutionary jump following the availability of a location system, based on the GPS technology, in the civil market. This system, although limited in very crowded areas, simplifies the vehicle location electronic systems with a noticeable increase in accuracy.

Based on the above experiences, the system project features were defined for the intercity and urban services in the Provincia di Bolzano, which operate under the following conditions:

  • The control network covers a length of 2300 km, of which more than three quarters is in an alpine area;

  • The regulation and structural situation existing in the national spread of radio frequencies does not allow a sufficient number of channels to construct a polling system for the land in question;

  • The existence of several different companies, with different organizational structures, means there must be control models with very simple features, but always consistent with a standard system management; therefore, the overall system functionality can be linked to a single control center that can define all relevant vehicles and send out operation instructions;

  • The existence of the magnetic payment system at its current development level requires its integration inside a single on-board system that will allow more developments and implementations as needed.

In this case, it seemed necessary to set up on every vehicle a knot of the operation system that could develop, in strict autonomy, the production management functions, while maintaining the overall integrity of the system and requiring the least amount of resource spending. Functions had to be modular—that is, put into action according to the needs of the company that owns the vehicle and provides the service. Every vehicle must be able to determine its own position, time and program consistency, without requiring a constant link between vehicle and operation center.

Each working program change that could be foreseen for a vehicle and its operator had to be described with a minimum of verbal communication, using the same standards as the instructions of the central information system of the company. The only solution that fulfills these requirements is a multitasking operational environment that can be integrated with the company information system (based on DG/UX 5.4.3, the implementation of Data General CO of Sys V rel.4). The purchase of an Intel-based commercial system for more than 400 vehicles would require license investments of more than a hundred million lira.

Moreover, the need for non-standard features in the trade systems (particularly terminal use, watchdog management and advanced power management) might make it necessary to intervene at a system level, with all the possible troubles between the software distributor (Italian) and the owner (American).

In this framework, Linux is the only operating system that works for our project. The features we considered in Linux's favor are as follows:

  1. System steadiness. With the 1.2.13 (and better in the stable 2.0) the machine average uptime is much more than that for any of the other widely circulating Unix systems for the Intel platform that we tested. (And we tested almost all of them.)

  2. Source code availability and quality. Many of our special needs are already contained in the development version (i.e., power management, watchdog, networking on radio net, etc.). The others will be met by either modifying the source ourselves or through cooperation with Linux developers.

  3. Our management applications were born in a Unix environment. From 1980 until today, we had to face porting both to different architectures and to different systems (Ultrix, BSD, SCO, Interactive, DG/UX). The porting to Linux was the easiest and the most linear.

  4. Linux is free. This was the most basic reason that helped us to persuade our management that Linux was the system to use.

We finished the setting up phase of the automatic vehicle location system in July, 1996. Following a European call for bids, Data General (Westboro, MA) was selected as supplier for the on-board PCs. The technical specification for the data transmission system had to be integrated into the already existing radio network.

Each vehicle's equipment is composed of a 486/100MHz PC, with 16MB of RAM, a 540MB hard disk, 10 RS232/422 serial ports, a SCSI controller and a type III PCMCIIA. The same PC case (140 mm x 140 mm x 158 mm) also contains a GPS Trimble differential system and an intelligent management unit that allows programmed system ignition, environmental functional parameter control and battery backup functions.

The systems were tested for very hard environmental conditions, since they must function in temperature between -20 to +50 Celsius degrees, and be shock resistant following military specifications (MIL-SPEC).

The PCs were linked with the current on-board terminals used for payment system management (obliterators and issue console), the communication equipment (radio or GSM, Global System for Mobile communications) and special public information panels.

Our current operating system is Linux 2.0.25.

Maurizio Cachia lives in a little village in the Dolomiti Alps with his wife and a funny golden retriever named Lu. He has worked since 1980 as a system analyst in the Unix environment for the public transport companies. In 1984 he became the Technical Manager of the Integrated Information System of SAD in Bolzano. He can be reached by e-mail at mau@sad.com.

LJ Archive