The RailCab system is a novel transportation system that allows comfortable journeys on rails while at the same time satisfying the desire for individual mobility, with no distinction being made between local and long-distance traffic. The RailCabs can transport passengers or goods directly to their destination without the need for reloading or changing trains. The vehicles do not run according to schedule, but they can be ordered and configured on demand via telecommunication services.

An important element of the new traffic system are small, driverless vehicles. These so-called RailCabs are not coupled mechanically and have steerable wheels so that on more frequented routes they can form convoys automatically, thus reducing air resistance, increasing transportation capacity, and saving enormous amounts of energy.

Operating the RailCab system on a large-scale track system with large numbers of RailCabs requires a decentralized system control. Its basis is a multi-agent system in which one intelligent agent is assigned to every relevant object in the transportation network. Each of these agents fulfills part of the functionality of the RailCab system. It interacts with other agents in the system to enable safe operations of the system. Besides the actual RailCabs, several other agents exist, e.g. agents controlling access to track sections, passing a switch, or organizing a station.

The software engineering group is responsible for realizing the communication between agents in terms of communication protocols. A particular challenge for the design of these communication procotols are changing communication links of a RailCab. On its way to its destination, a RailCab interacts with varying track sections and switches. While driving in a convoy, the length and the compound of the convoy change over time. Since a correct interaction of the agents is essential for safe operations of the system, the correctness of the system specification must be ensured.