SMCS
SMCS, the Submarine Command System, was first created for the
Royal Navy's
Vanguard class submarines.
Initial Phase
With the decision in 1983 to build a new class of submarine to carry the
Trident missile system, the UK Ministry of Defence ran an open competition for the command system. Up to that point all RN ships and submarines had command systems built by
Ferranti using custom-built electronics and specialised proprietary processors. In a departure from previous practice, which had favoured 'preferred contractor' policies, the competition was won by a new company called Gresham-CAP, leading a consortium of Gresham-Lion (now part of Ultra Electronics plc) and
CAP Scientific.
The consortium proposed a novel distributed processing system based on
COTS processors, with a modular software architecture largely written in the
Ada programming language. Each set of Initial Phase SMCS equipment has multiple computer nodes. At the centre of the system there is an Input/Output Node (which provides interfaces to weapons and sensors) and a Central Services Node (which holds fast numeric processors). Each central node is duplicated to create a
fault-tolerant system which is
dual modular redundant. The
Human Computer Interface is provided by Multi Function Consoles and some additional terminals. The dual redundant central nodes are linked to each other and to the consoles via a dual redundant fibre optic LAN.
In the Initial Phase equipment fitted to the
Vanguard class submarines most processing is done by
intel 80386 single-board computers, each with its own Ada run-time environment. CAP Scientific created a complex layer of
middleware to link the many processors together. At its time SMCS was the largest Ada project so far seen. As a pioneering user of Ada, the SMCS project encountered many teething problems with the large-scale use of Ada compilers, Ada development tools, and the special characteristics of the early dialect of the
Ada programming language, later known as Ada 83.
Second Phase
By 1991, the SMCS project was owned by
BAeSEMA, a joint venture between Sema Group and British Aerospace. Once SMCS was proven to work on Vanguard boats, it was proposed in the early 1990s to extend its use to the
Swiftsure class submarines and the
Trafalgar class submarines, as part of an improvement programme for these vessels. There was a commercial desire for yet further adoption of
COTS technology. The consensus was to port SMCS to some form of
UNIX. Sema Group, with considerable experience both of real-time systems and of commercial UNIX, had concerns about the technological feasibility of this port. The essence of the problem was the need to map the Ada tasking environment to the run-time model of UNIX processes in a way which preserved SMCS' real-time characteristics enough to maintain
dependability. A team from BAeSEMA, led by Ray Foulkes, conducted thorough research into possible alternatives to the distributed Ada architecture used in the Initial phase. After extensive investigation of the run-time behaviour of different UNIX variants, and of the code generated by different Ada compilers, the project selected the Solaris operating system running on SPARC computers.
To limit risk, only the consoles were converted to Solaris on SPARC in this phase. The central nodes were kept in the same form as the Initial Phase equipment. The benefit was that there was no need to implement the dual modular redundancy scheme on Solaris at this stage. However, the project had to manage some additional issues arising from mixed intel/SPARC working, such as
endianism (since intel architecture is
little-endian and SPARC is
big-endian).
Third Phase
After being successfully deployed on the S & T submarines in the mixed intel/SPARC configuration, the architecture was further revised for the UK's new attack boats, the
Astute class submarines.
The Astute Combat Management System (ACMS) combines SMCS with several other sub-systems. For ACMS, the Central Nodes have also been converted to SPARC computers. The dual redundant architecture, both of central nodes and of LAN connections, remains a key feature. There are about twice as many consoles as provided in earlier versions of SMCS. This phase of SMCS is an all-UNIX solution running Solaris on multiple SPARC nodes, with built-in dual redundancy.
SMCS-NG, and the controversy over "Windows for Warships"
By 2000, Sema Group had sold its interest in BAeSEMA, and the SMCS project was now fully owned by
BAE SYSTEMS. The consensus was that there would be better value by deploying SMCS on standard PC hardware, albeit in rugged industrialised form, for naval command systems. The use of SPARC systems was seen as too expensive for future developments. The SMCS project proposed SMCS-NG ("Next Generation") as SMCS running on PC hardware. However, there was disagreement in the company about how to achieve this. Management policy favoured converting the SMCS applications to run on the
Microsoft Windows operating system. Some engineers advocated instead converting to some version of
UNIX running on PC hardware, such as
BSD,
Linux or
Solaris on intel itself.
In summer 2002, a dossier was circulated within BAE SYSTEMS which summarised the concerns, particularly those of system
dependability, about adopting Microsoft Windows for the company's naval command systems. Its main counter-example was that for SMCS-NG, since SMCS was already proven on UNIX, it would be simpler, cheaper and less risk to port from the existing version of UNIX (Solaris on SPARC) to another (such as BSD on intel, a solution proposed as "SMCS-OSS" for "Open Source Solution") rather than port to Microsoft Windows. A significant discussion point which later arose was that, using Linux or BSD, it would be possible to tailor the underlying operating system to exclude all code not actually needed for the SMCS-NG implementation, and hence eliminate totally the chance of executing unwanted operating system code; whereas with Microsoft Windows it was not clear how to cut down to a minimal system in this fashion.
However, the management's view prevailed, and so SMCS-NG was created as a port to Microsoft Windows of the SMCS infrastructure and applications, a move which some commentators have termed "
Windows for Warships". The UK's government has given assurances, through questions in the UK parliament, that this is a safe use of Microsoft Windows.
The initial experimental deployment was made on
HMS Torbay, a nuclear-powered attack submarine.This is probably the first engineering use of Microsoft Windows to command a nuclear-powered military vessel.
Once the authorities were satisfied with the deployment, it was extended to the other boats in the S & T class, and to the Vanguard missile boats as well. This is probably the first use of Microsoft Windows to command a weapons platform designed to fire ballistic nuclear missiles. The decision to convert Vanguard class submarines to SMCS-NG was taken with neither the knowledge nor the agreement of the UK's parliament; indeed: in October 2004, the UK's parliament was explicitly told that there were no plans in place to make this modification. However, contracts were placed with the supplier, BAE SYSTEMS, one month later.
A new risk in SMCS-NG is that, unlike with previous versions of SMCS, the software is supplied as a single-fit release which is intended to be configured for the sensor and weapon fit of each submarine. This makes it possible for the configuration on a submarine to include surplus SMCS code not required for that vessel. However, given that the underlying Microsoft Windows operating system already includes large tracts of code not strictly needed by SMCS-NG, this may not significantly increase the risk already created by deploying Windows code in a nuclear weapons system.
BAE SYSTEMS' news releases do not make it clear how surplus Windows code is prevented from executing (whether by accident or by malicious activation) in a live SMCS-NG system.
*
Photo of SMCS Initial Phase equipment aboard Vanguard class submarine*
Ultra Electronics: Description of Submarine Command System (SMCS)*
Ultra Electronics: Description of Astute Combat Management System (ACMS)*
The Register: Royal Navy adopts "Windows for Warships"*
The Register: UK Ministry of Defence okays "Windows for Warships"*
Linux Format magazine article about "Windows for Warships", March 2005*
BAE SYSTEMS News Release June 2005: SMCS-NG contracts