Navy Looks Towards Software-Defined Systems

27-10-2020 | By Robin Mitchell

Software-defined systems are set to become a critical feature in future designs, and now the Navy is looking at implementing such a topology. What issues do hardware systems face, what is a software-defined system, and how does the Navy hope to take advantage of software-defined systems?

Hardware vs. Software

Since the development of the first computing systems, hardware and software have always worked hand-in-hand, and each one is effectively useless without the other. Not only do both require each other, but the ability to improve each is dependent on the other; advanced hardware with non-advanced software does not allow for the hardware to be utilised, and advanced software cannot run on old hardware. As a result, there is always pressure from either side to maximise their capabilities so that each can continue to develop. However, there are times when both hardware and software are not properly utilised resulting in inefficiencies in a system. For example, firmware engineers may bit-bang communication protocols instead of using designated hardware, or a hardware system lacks peripherals and circuitry that could significantly improve software execution. 

When it comes to pitting hardware and software in a fight, each has its own advantages and disadvantages which is why they complement each other very well. A system entirely defined in hardware will most likely be the fastest and more efficient system as the underlying circuitry only has to perform a specific task. Instead of needing circuitry that may not be used to perform other tasks, all the silicon and PCB space is dedicated to only components that are needed. However, this means that an all-hardware solution can only perform one task, and thus can be next to impossible to upgrade if a change in a protocol or method is needed. 

Using software to define a system has the advantage of maximum flexibility allowing for any system to be defined. It also has the advantage that it can quickly be changed and updated allowing it to remain up-to-date. However, the downside to the software is that it is often much slower than a hardware-defined system, and thus can require high-end hardware to function reliably. 

What challenges does hardware face?

As discussed previously, hardware has a major disadvantage that it is very difficult to update and change. While rack-based hardware can have individual racks replaced, some systems may not be so easily modified. Even in situations where it can be easily modified, the underlying infrastructure that connects different hardware together may also require upgrading, and this can lead to very expensive hardware overhauls. 

A good example of where this can be seen is mobile networks; the successive changes in mobile technology including 2G, 3G, 4G, and 5G. Each time a new cellular technology is introduced the underlying infrastructure is not able to handle the new protocols. The result is that a large number of improvements need to be made, hardware replaced, and hardware added all of which is expensive. 

What is a software-defined system?

A software-defined system is one whereby the underlying mechanism of a system is defined in software as opposed to hardware. While some may think of software as being code, it can also be firmware that runs on configurable hardware such as an FPGA. Such a system defines its function in software which allows for it to be easily changed and upgraded with time and requires minimal hardware adjustments when improvements to the system are introduced. Additional features can also be integrated that can work with attached peripherals.

One example of where software-defined systems will become important is the automotive industry. Traditionally, cars are made up of many independently operating modules and pieces of hardware that have no real cohesion; but a software-defined car would connect everything on the same network and allow for a central control system to interact with any and all attached hardware (near-identical to a PC). From there, new features can be added to the car as the software is upgraded, and such features can even be used as a part of a subscription service as an alternative income revenue stream for automotive companies. 

Why is the Navy turning to software-defined systems?

However, the use of software-defined systems is not just limited to the automotive and network industries; the US Navy is looking into implementing software-defined systems too. One of the biggest challenges faced by the military is the need to be constantly at the forefront of technology, and in a world where threats also change, the ability to detect new threats is critical.

Modern navy ships have some level of adaptability and can be outfitted with new defence and detection systems. But one major challenge faced is the one area that cannot be so easily changed; the hull of the ship. Upgrading network systems on a navy ship often requires hull modifications which are not only expensive but take a ship out of service, and as new threats are introduced, changing the underlying hardware becomes too monumental of a task. Thus, IT experts in the US Navy are looking towards software-defined networks to allow for upgradeable systems that allow for ship computers to be easily connected to new hardware. But software-defined networks are not the only area the navy is looking into; software-defined radar is also being developed for the very same reasons. A software-defined radar can be updated on the fly and altered to detect new threats without the need for underlying hardware changes. 

Read More


By Robin Mitchell

Robin Mitchell is an electronic engineer who has been involved in electronics since the age of 13. After completing a BEng at the University of Warwick, Robin moved into the field of online content creation, developing articles, news pieces, and projects aimed at professionals and makers alike. Currently, Robin runs a small electronics business, MitchElectronics, which produces educational kits and resources.