The U.S. Navy’s Aegis Combat System is known as the shield of the fleet. Aegis uses computers to automatically process data received from powerful radars, allowing Aegis to track threats and launch missiles to intercept those threats. Aegis provides critical area air defense for battle carrier groups and ballistic missile defense for longer range threats.
Aegis Modernization Project
In 2003, Lockheed Martin, under contract to the U.S. Navy undertook to modernize the Aegis software architecture. The original Aegis Combat System ran on proprietary UYK computers designed by the military, running proprietary software written in a combination of the Ada 95 and proprietary CMS-2 programming languages. The Navy found that the heavy dependency on proprietary technologies resulted in excessive costs and ineffective operations. As the system began to age, Navy war fighters found they were using computer technologies that were decades older than the most currently available commercial processors. Due to the effects of Moore’s law, Navy Aegis computers were hundreds of times slower than the popular gaming computers of the day.
The initiative, known as the Aegis Open Architecture, had two primary objectives:
Putting Java and PTC Perc at the Heart of the Matter
Lockheed Martin reviewed various options for the Aegis Open Architecture including the programming language and execution environment for the system. In their experiments, they found that HotSpot Java code ran comparable to C++ on an experimental 250 millisecond periodic workload. At the same time, they found that the Java language provided superior abstraction and encapsulation than C++, and they judged that retraining their existing staff of CMS-2 programmers to become effective in Java would have lower risks than attempting to train them in C++.
Given the need for predictable and reliable compliance with sub-millisecond timing constraints, Lockheed Martin evaluated a number of alternative approaches to real-time Java. Ultimately, they chose to use the PTC Perc Ultra virtual machine (formerly called Aonix Perc Ultra), both in single-core and multi-core configurations. This technology adds real-time determinism to Standard Edition Java APIs by incorporating real-time garbage collection, fixed-priority real-time scheduling, prioritized queues and priority inheritance locks within the implementation of the virtual machine.
Using Java and PTC Perc Ultra, Lockheed found that newly trained Aegis software engineers implemented a core component, the Aegis Air Defense Warfare (ADW) software, consisting of 150,000 source lines of code, in only 18 months, including test and evaluation and full requirements verification. The first deployment based on the new Aegis Open Architecture required only three years from hardware selection to on-ship hardware refresh, compared to seven years or longer previously.
Another benefit of Lockheed Martin’s selection is that PTC Perc’s unique ability to deploy Java programs as natively compiled binary programs made it easier to satisfy U.S. Navy security concerns. The Navy didn’t want to ship easily decompiled Java byte-code programs to foreign allies, because it wanted to keep certain algorithms secret.
After completing the Aegis Open Architecture refresh, support was added for the new “Standard Missile 6” with only 3 additional months of development effort. Based on experiences with the legacy Aegis implementation, Lockheed would have expected a minimum of a full year of additional development to add support for a new missile.
Obviously a notable success, Aegis, powered by PTC Perc is now deployed on numerous U.S. ships and those of allied nations. The program has also been expanded beyond shipboard deployment to land-based installations called Aegis Ashore.
Additional Aegis Press and Technical Info
Sep 28, 2011 – The Modernization of the Aegis Fleet with Open Architecture