The Developer and System

The Bernische Kraftwerke is the electricity supplier for the region surrounding the town of Berne, Switzerland. The production and consumption of electricity is monitored at a large number of switching stations. This monitoring information is transferred every 15 minutes to the central database. The information is then available over a Wide Area Network (WAN) for detailed on line and batch analysis.

Requirements

The LSE project, although by no means a large software system, contains many features familiar to professional software developers:

100% availability required (hot standby).

Loss of information = loss of income!

Compatibility with the existing system (being replaced)

Client/Server principles

Graphical user interface (Motif)

Relational database (SQL)

Communication with existing systems (some archaic, e.g., telex)

Maintenance and further development by the customer must be easy

The hardware configuration consists of a central cluster of VAX 4000 computers which access the database directly, and a collection of (VAX) workstations that communicate over the WAN with the "server" processes in order to manipulate the data as required. The operating system on all machines is VMS, and all programs are written in Ada (DEC Ada). The source files total approximately 80,000 lines of code.

Why Ada?

Ada has been in use at Paranor since 1985; the staff has been both comfortable and satisfied using it. There is no longer discussion about programming language choice -- the developers always use Ada. And in the case of this project, the customer whole-heartedly agreed.
The development team consisted of four designer/programmers working reasonably independently. The main interfacing was done physically via the database and technically via common type definitions (Ada packages).

This project saw the introduction of a development environment (directory structure, command scripts) that has since been used and extended in later projects. The DEC Ada system of chains of program libraries is used in order to allow parts of the application (subsystems) to be developed 'privately' without disturbing the other developers excessively.

The project team also produced a system of developing VMS sharable images written in Ada, which, although it cuts out some of the checking done by the Ada System, is still verifiable using 'home built' support procedures and offers the advantages of 1) cutting down link time in development, and 2) easing maintenance of the production system.