SMCS, the Submarine Command System , was first created for the Royal Navy of the United Kingdom ‘s Vanguard class submarines as a tactical information system and a torpedo weapon control system. Versions have been installed on all active Royal Navy submarine classes.
Initial Phase: SMCS for Vanguard Class
With the decision in 1983 to build a new class of submarine to carry the Trident missile system, the UK Ministry of Defense. Up to that point all of these have been built by Ferranti using custom-built electronics and proprietary proprietary processors. 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 a commercial off-the-shelf (COTS) processors, with a modular software architecture largely written in the Ada programming language . Each set of Initial Phase SMCS has multiple computer nodes.  At the center 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 a fault-tolerant system which is a dual modular redundant . The Human Computer Interface is provided by Multi Functional Consoles and some additional terminals.  The dual redundant central nodes are linked to each other and to the consoles via a dual redundant fiber optic LAN.
In the initial phase of Vanguard class submarines, the most advanced 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 has many problems with the large-scale use of Ada compilers, Ada development tools, and the special features of the early dialect of Ada programming language , later known as Ada 83.
Second Phase: SMCS for Swiftsure and Trafalgar Class
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 . SMCS has been proposed to 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 program for these vessels. There was a desire for further adoption of COTS technology. The consensus was to port SMCS to some form of UNIX. Sema Group, with considerable experience of both real-time and commercial UNIX, had concerns about the feasibility of this port. The essence of the problem in the context of SMCS in the context of sustainable production . A team from BAeSEMA, led by Ray Foulkes, conducted extensive research into possible alternatives to the distributed Ada architecture used in the initial phase. After extensive investigation of the run-time behavior of different UNIX variants, and the code generated by different Ada compilers, the project selected Solaris operating system running on SPARCcomputers, which could 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 not necessary to implement the dual modular redundancy scheme at Solaris at this stage. However, the project has also had some implications for SPARC working, such as endianism (since intel architecture is little-endian and SPARC is big-endian ).
A detailed and accurate [ citation needed ] independent analysis of these stages in the development of SMCS was made in 1998. 
Third Phase: ACMS for Astute Class
After being successfully deployed on the Swiftsure and Trafalgar submarines in the mixed Intel / SPARC configuration, the architecture was further refined for the UK’s new attackers, the Astute class submarines .
The combined Combat Management System (ACMS) combines SMCS with several other sub-systems.  For ACMS, the Central Nodes have been converted to SPARC computers. The dual redundant architecture, both of central nodes and of LAN connections, remains a key feature. There are two 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; controversy about system architecture
By 2000, Sema Group had its interest in BAeSEMA, and the SMCS was now fully owned by BAE Systems . In its last major Defense Review, as reported in 2003,  the United Kingdom, the UK, nr. It was expected that the SMCS equipment, supplied and maintained under a contract with Ultra Electronics ,  would have lasted the service life of the Vanguard fleet. The programs in place for other submarines were mainly for sale, and had been reviewed by the UK’s parliament. 
For a brief period, the SMCS project is under the ownership of Alenia Marconi Systems , a joint venture of BAE Systems. In 2002, it was proposed to convert SMCS to run on a standard PC x86 hardware, for a naval command system. 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, commented on the US Courts.  Gates’ testimony included statements that Microsoft Windows was indissoluble and could not be created in cut-down form. Paragraphs 207 to 223 of Gates’ statement that Windows had an entangled monolithic structure, rather than a structure organized in modular fashion. Assuming Gates’ testimony to be true, these ‘pro-UNIX’ developers feel 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.  
SMCS-NG as first deployment of “Windows for Warships”
Despite the concerns of some engineers, SMCS-NG was created as a Microsoft Windows port of the SMCS infrastructure and applications, a move which some commentators have termed “Windows for Warships”. The UK’s Defense Ministry later gave assurances, through questions in the UK parliament,   that this is a low-risk Microsoft Windows. However, some other suppliers have taken a different path. The consoles  for the new Sonar 2076 aresupplied by Thales Underwater Systems for the Submarine Astute Class, and they are built to run Linux rather than Windows.
Having developed SMCS-NG as an internal project, BAE Systems independently proposed to the MoD that the original SMCS equipment is replaced by its own, newer, version. After sea trials in HMS Torbay , the MoD awarded contracts to BAE Systems  for refit of SMCS-NG in most RN submarines, including the Vanguard fleet. Although the Defense Minister Adam Ingram told the UK Parliament in October 2004 that no decision had been made about the Vanguard fleet to run SMCS-NG,  the MoD placed the contracts the following month. By December 2008, all of the Royal Navy submarines had been retrofitted with SMCS-NG.
Compared 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 of each submarine. 
- Jump up^ Ultra Electronics description of Submarine Command System (SMCS)
- Jump up^ Photo of SMCS Initial Phase equipment aboard Vanguard class submarine
- Jump up^ Market Forecast for SMCS and Transfer Technologies (1998-2007)
- Jump up^ Ultra Electronics: Description of Astute Combat Management System (ACMS)
- Jump up^ Ultra Electronics: Description of Console System for Astute Combat Management System (ACMS)
- Jump up^ Select Committee on Defense: Written Evidence, Session 2002-03
- Jump up^ Ultra Electronics description of SMCS and its support
- Jump up^ See “The Royal Navy Handbook” 2003, Conway Maritime Press,ISBN 0-85177-952-2
- Jump up^ Civil Action No. 98-1233 (CKK), Direct Testimony of Bill Gates, Defendant’s Exhibit 1507, 22 April 2002
- Jump up^ JSWT / MRX / 379: Strategic Technology to Maximize Engineering Capability: Using Unix Open Source to Build a Common Code Base
- Jump up^ JSWT / MRX / 471: Using UNIX Open Source etc … Amendments List 1
- Jump up^ Written Answer to Written Parliamentary Question 4 November 2004
- Jump up^ Written Answer to Written Parliamentary Question 1 December 2004
- Jump up^ Ultra Electronics: Description of Console System for New Sonar 2076
- Jump up^ Dead link
- Jump up^ Written Answer to Written Parliamentary Question 4 October 2004
- Jump up^ Dead link