SMCS, Submarine Command System , была впервые создана для подводных лодок класса Vanguard Королевского флота Великобритании в качестве тактической информационной системы и системы управления торпедным оружием. Версии теперь также установлены на всех действующих классах подводных лодок Королевского флота.
С решением в 1983 году построить новый класс подводных лодок для размещения ракетной системы Trident Министерство обороны Великобритании (MoD) провело открытый конкурс на систему управления. До этого момента все корабли и подводные лодки Королевского флота (RN) имели системы управления, созданные Ferranti с использованием изготовленной на заказ электроники и специализированных фирменных процессоров. В отходе от предыдущей практики, которая благоприятствовала политике «предпочтительного подрядчика», конкурс выиграла новая компания под названием Gresham-CAP, возглавляющая консорциум Gresham-Lion (теперь часть Ultra Electronics plc) и CAP Scientific .
Консорциум предложил новую распределенную систему обработки на основе коммерческих готовых (COTS) процессоров с модульной архитектурой программного обеспечения, в основном написанной на языке программирования Ada . Каждый комплект оборудования начальной фазы SMCS имеет несколько компьютерных узлов. [1] В центре системы находится узел ввода/вывода (который обеспечивает интерфейсы для оружия и датчиков) и центральный узел служб (который содержит быстрые числовые процессоры). Каждый центральный узел дублируется для создания отказоустойчивой системы , которая является двойной модульной избыточностью . Интерфейс человек-компьютер (HCI) обеспечивается многофункциональными консолями и некоторыми дополнительными терминалами. [2] Двойные резервные центральные узлы связаны друг с другом и с консолями через двойную резервную оптоволоконную локальную сеть .
На начальном этапе оборудование, установленное на подводных лодках класса Vanguard , большую часть обработки выполняло одноплатный компьютер Intel 80386 , каждый со своей собственной средой выполнения Ada . CAP Scientific создала сложный слой промежуточного программного обеспечения для связи множества процессоров вместе. В свое время SMCS был крупнейшим проектом Ada из когда-либо виденных. Будучи пионером в использовании Ada, проект SMCS столкнулся со многими проблемами начального периода с широкомасштабным использованием компиляторов Ada, инструментов разработки Ada и особыми характеристиками раннего диалекта языка программирования Ada, позже известного как Ada 83.
К 1991 году CAP Scientific стала частью Sema Group , а проект SMCS принадлежал BAeSEMA , совместному предприятию Sema Group и British Aerospace . После того, как было доказано, что SMCS работает на лодках Vanguard , в начале 1990-х годов было предложено распространить его использование на подводные лодки класса Swiftsure и подводные лодки класса Trafalgar в рамках программы усовершенствования для этих судов. Было коммерческое желание дальнейшего внедрения технологии COTS. Консенсус состоял в том, чтобы перенести SMCS на некоторую форму UNIX . Sema Group, имея значительный опыт как в системах реального времени, так и в коммерческом UNIX, имела опасения относительно технологической осуществимости этого порта. Суть проблемы заключалась в необходимости сопоставить среду задач Ada с моделью времени выполнения процессов UNIX таким образом, чтобы сохранить характеристики реального времени SMCS в достаточной степени для поддержания надежности . Команда BAeSEMA под руководством Рэя Фоулкса провела тщательное исследование возможных альтернатив распределенной архитектуре Ada, использованной в начальной фазе. После обширного исследования поведения во время выполнения различных вариантов UNIX и кода, сгенерированного различными компиляторами Ada, проект выбрал операционную систему Solaris , работающую на компьютерах SPARC , которые теперь можно было закупить как одноплатные компьютеры COTS .
Чтобы ограничить риск, на этом этапе только консоли были преобразованы в Solaris на SPARC. Центральные узлы были сохранены в той же форме, что и оборудование начальной фазы. Преимущество заключалось в том, что на этом этапе не было необходимости внедрять схему двойной модульной избыточности на Solaris. Однако проект должен был решать некоторые дополнительные проблемы, возникающие из-за смешанной работы Intel/SPARC, такие как порядок байтов (поскольку архитектура Intel имеет прямой порядок байтов , а SPARC — обратный порядок байтов ).
Подробный и в целом точный [ требуется ссылка ] независимый анализ этих этапов развития SMCS был проведен в 1998 году. [3]
После успешного развертывания на подводных лодках Swiftsure и Trafalgar в смешанной конфигурации Intel/SPARC архитектура была дополнительно доработана для новых ударных лодок Великобритании — подводных лодок класса Astute .
Система управления боем Astute (ACMS) объединяет SMCS с несколькими другими подсистемами. [4] Для ACMS центральные узлы также были преобразованы в компьютеры SPARC. Двойная избыточная архитектура, как центральных узлов, так и подключений к локальной сети, остается ключевой особенностью. Консолей примерно в два раза больше, чем в более ранних версиях SMCS. [5] Эта фаза SMCS представляет собой решение all-UNIX, работающее под управлением Solaris на нескольких узлах SPARC, со встроенной двойной избыточностью.
К 2000 году Sema Group продала свою долю в BAeSEMA, и проект SMCS теперь полностью принадлежал BAE Systems . В своем последнем крупном обзоре обороны, как сообщалось в 2003 году, [6] парламент Великобритании одобрил многочисленные усовершенствования для подводных лодок RN, но никаких изменений для лодок Vanguard или ракетной системы Trident. Ожидалось, что оборудование SMCS, поставляемое и обслуживаемое по контракту на поддержку с Ultra Electronics , [7] прослужит в течение всего срока службы флота Vanguard. Действующие программы для других усовершенствований подводных лодок в основном касались нового гидроакустического оборудования и были рассмотрены и одобрены парламентом Великобритании. [8]
На короткий период проект SMCS перешел во владение Alenia Marconi Systems , совместного предприятия BAE Systems. В 2002 году было предложено преобразовать SMCS для работы на стандартном оборудовании PC x86 , хотя и в прочной промышленной форме, для систем управления флотом. Проект SMCS начал разрабатывать SMCS-NG («Next Generation») как SMCS, работающую на оборудовании ПК. План состоял в том, чтобы преобразовать инфраструктуру и приложения SMCS для работы в операционной системе Microsoft Windows .
Однако у некоторых инженеров-программистов были опасения. В апреле 2002 года Билл Гейтс , выступая в качестве главного архитектора программного обеспечения Microsoft, дал показания под присягой в судах США. [9] Показания Гейтса включали заявления о том, что Microsoft Windows неразрывна и не может быть создана в урезанном виде. Пункты 207–223 показаний Гейтса указывали на то, что Windows имеет запутанную монолитную структуру, а не структуру, организованную по модульному принципу. Предположив, что показания Гейтса верны, эти «про-UNIX»-инженеры посчитали, что в качестве основы будущих систем командования ВМС следует использовать UNIX с открытым исходным кодом, а не Microsoft Windows, и распространили свои опасения внутри компании.
SMCS-NG был создан как порт для Microsoft Windows инфраструктуры и приложений SMCS, шаг, который некоторые комментаторы назвали «Windows для военных кораблей». Министерство обороны Великобритании позже дало заверения, через вопросы в парламенте Великобритании, [10] [11], что это низкорисковое использование Microsoft Windows. Однако некоторые другие поставщики пошли другим путем. Консоли [12] для нового Sonar 2076 , поставляемые Thales Underwater Systems для подводных лодок класса Astute, и которые могут быть модернизированы для других классов, построены как ПК под управлением Linux, а не Windows. [ необходима цитата ]
Разработав SMCS-NG как внутренний проект, BAE Systems независимо предложила Министерству обороны заменить оригинальное оборудование SMCS на собственную, более новую версию. После морских испытаний на HMS Torbay Министерство обороны заключило контракты с BAE Systems [13] на переоборудование SMCS-NG в большинство подводных лодок RN, включая флот Vanguard. Хотя министр обороны Адам Ингрэм сообщил парламенту Великобритании в октябре 2004 года, что решение о переоборудовании флота Vanguard для использования SMCS-NG еще не принято , [14] Министерство обороны разместило контракты в следующем месяце. К декабрю 2008 года все действующие подводные лодки Королевского флота были модернизированы с помощью SMCS-NG.
В отличие от предыдущих версий SMCS, программное обеспечение поставляется в виде единой версии, которая предназначена для настройки под датчики и оружие каждой подводной лодки. [15]