SMCS, the Submarine Command System, was first created for the Royal Navy of the United Kingdom's s as a tactical information system and a torpedo weapon control system. Versions have now also been installed on all active Royal Navy submarine classes.
With the decision in 1983 to build a new class of submarine to carry the Trident missile system, the UK Ministry of Defence (MoD) ran an open competition for the command system. Up to that point all Royal Navy (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 commercial off-the-shelf (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.[1] 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.[2] 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 s 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.
By 1991, CAP Scientific was part of Sema Group and 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 s and the s, 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, which could now be procured as COTS single-board 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).
A detailed and generally accurate independent analysis of these stages in the development of SMCS was made in 1998.[3]
After being successfully deployed on the Swiftsure and Trafalgar submarines in the mixed Intel/SPARC configuration, the architecture was further revised for the UK's new attack boats, the s.
The Astute Combat Management System (ACMS) combines SMCS with several other sub-systems.[4] 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.[5] This phase of SMCS is an all-UNIX solution running Solaris on multiple SPARC nodes, with built-in dual redundancy.
By 2000, Sema Group had sold its interest in BAeSEMA, and the SMCS project was now fully owned by BAE Systems. In its last major Defence Review, as reported in 2003,[6] the UK Parliament agreed numerous improvements for RN submarines, but no changes to the Vanguard boats or the Trident missile system. It was expected that the SMCS equipment, supplied and maintained under a support contract with Ultra Electronics,[7] would last out the service life of the Vanguard fleet. The programmes in place for other submarine improvements were mainly for new sonar equipment, and had been reviewed and approved by the UK's parliament.[8]
For a brief period, the SMCS project came under the ownership of Alenia Marconi Systems, a joint venture of BAE Systems. In 2002, it was proposed to convert SMCS to run on standard PC x86 hardware, albeit in rugged industrialised form, for naval command systems. The SMCS project started to develop SMCS-NG ("Next Generation") as SMCS running on PC hardware. The plan was to convert the SMCS infrastructure and applications to run on the Microsoft Windows operating system.
However, some software engineers had misgivings. In April 2002 Bill Gates, appearing in his capacity as Microsoft's Chief Software Architect, had given sworn testimony under oath to the US Courts.[9] Gates' testimony included statements that Microsoft Windows was indissoluble and could not be created in cut-down form. Paragraphs 207 to 223 of Gates' testimony indicated that Windows had an entangled monolithic structure, rather than a structure organised in modular fashion. Assuming Gates' testimony to be true, these 'pro-UNIX' engineers felt that open-source UNIX, rather than Microsoft Windows, should be used as the foundation of future naval command systems and circulated their concerns within the company.[10] [11]
Despite the concerns of some engineers, 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 Defence Ministry later gave assurances, through questions in the UK parliament,[12] [13] that this is a low risk use of Microsoft Windows. However, some other suppliers have taken a different path. The consoles[14] for the new Sonar 2076 supplied by Thales Underwater Systems for the Astute class submarines, and which may be retro-fitted to other classes, are built as PCs running Linux rather than Windows.
Having developed SMCS-NG as an internal project, BAE Systems independently proposed to the MoD that the original SMCS equipment be replaced by its own, newer, version. After sea trials in, the MoD awarded contracts to BAE Systems[15] for refit of SMCS-NG into most RN submarines, including the Vanguard fleet. Although the Defence Minister Adam Ingram told the UK Parliament in October 2004 that no decision had been made about conversion of the Vanguard fleet to run SMCS-NG,[16] the MoD placed the contracts the following month. By December 2008, all of the active Royal Navy submarines had been retrofitted with SMCS-NG.
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.[17]