Communications Research Centre Canada
Symbol of the Government of Canada

Eye on Technology

A New Trend in Software Development: How it Affects You

Once upon a time, software was just a nerdy term for somethingIllustration of five applications of Software Defined Radio related to a computer and used by scientists to resolve complex mathematical equations. Times have changed, and today software is anything but irrelevant. In fact, it has infiltrated nearly every industry and many aspects of our daily lives.

Simply defined as "a program that enables a computer to perform a specific task" (Wikipedia), software is now embedded in the computer systems of our programmable household electronics, car monitoring and safety equipment, medical equipment, radios and airplanes, to name but a few.

This ongoing proliferation of software is largely due to changes in the development process. Looking back to the early 80s, most electronic devices were developed using only hardware components. With the introduction of digital signal processors, however, we have slowly moved towards the use of software in our devices. By the 90s, software already had a major presence in "embedded systems" - those systems in which the computer is completely encapsulated by the device it controls. Embedded systems can range from portable devices such as MP3 players to large, stationary installations like traffic lights.

Today, an emerging trend in software development is "platform agnosticism," which means that the software is developed to operate on multiple platforms. This philosophy has been around for years in the personal computer industry, with software running on computers manufactured from different companies. For embedded systems, however, the platform is not as homogenous as a personal computer since it can be composed of a wide variety of processors (not just one Pentium processor), operating systems (such as Windows, Linux, VxWorks, Interity, QNX) and external peripherals (motors, sensors, displays, antennas).

At the Communications Research Centre Canada (CRC), researchers have created an environment that facilitates the development of platform agnostic software. Called the SCARI Suite, this environment provides a framework to isolate applications development from hardware development. In effect, the SCARI Suite enables a "component-based development" approach to software, in which an embedded system can be seen as an assembly of individual hardware and software components linked together. By using this approach, significant time and cost savings can be obtained in the development of embedded systems. Components from one project can be reused on other projects, and a modification to one component creates minimal impact on the overall system.

One applied area of technology where the component-based development approach is particularly useful is that of Software Defined Radio (SDR). Dubbed as the radio technology of the future, SDR can accommodate any communications protocol and frequency band simply by downloading the appropriate software on the selected radio hardware. While it was originally designed to solve military radio interoperability issues, SDR has many other real-life applications. For example, it enables emergency personnel (ambulance workers, police and firefighters) to quickly reconfigure their radios to a common communications protocol in order to connect during a crisis, such as a natural disaster like Hurricane Katrina.

In the near future, SDR and its approach to software development will not just be limited to configuring radios. While you may not see it, SDR-based technology will extend to many different domains, including space, avionics, automobile, public safety and commercial cellular industries. In the end, it means better products, developed faster and delivered to the store shelves - at a better price for you.