"The engineer's first problem in any design situation is to discover what the problem really is."
George C. Beakley
This article briefly describes OSSIE, a university-based open source Software Defined Radio (SDR) project based on the U.S. Department of Defense's Software Communications Architecture (SCA). The OSSIE software has proven useful for rapid prototyping by industry as well as for published research and education of hundreds of graduate and undergraduate students and short course participants. In addition to examples of OSSIE's successes, the project's challenges and approaches to mitigating and overcoming them are described.
SDR is a flexible approach to radio design that allows a radio to support new communications standards by changing the radio's software. SDR is becoming increasingly prevalent in commercial as well as military arenas, with examples that include Vanu's AnyWave cellular basestation, Apple's iPhone, and the U.S. Department of Defense's Joint Tactical Radio System (JTRS).
The OSSIE project, based at Virginia Tech, provides open source SDR software based on the SCA. The software, collectively known as OSSIE, includes a core framework or infrastructure software, as well as rapid prototyping tools and building blocks for developing SDR applications or waveforms. The SCA is an open SDR architecture associated with JTRS and other U.S. government programs, and has also been used to implement commercial communications standards. The SCA's military and commercial relevance has given rise to a community of SDR developers who can benefit from SCA-based open source software.
History and Role of Open Source in SCA-based Software Defined Radio
Prior to OSSIE's initial development by IC postdoctoral fellow Max Robert and a team of Jeff Reed's students at Virginia Tech in 2003, the Communications Research Centre Canada (CRC) developed SCARI open, a Java-based open source reference implementation of the SCA .
The OSSIE core framework was developed in the C++ programming language to facilitate portability to embedded platforms. OSSIE also includes readily mastered tools, processing blocks, device interface code, and documentation that enable basic tasks of SDR development. OSSIE fills a niche as a free resource for SCA-based SDR research, education, development, and rapid prototyping. OSSIE implements a subset of the SCA sufficient to build working waveforms, which can be ported to run with commercial SCA frameworks. OSSIE is licensed under the GNU General Public License (GPL) and Lesser General Public License (LGPL) and can be downloaded at no charge. In contrast, full-featured commercial SCA frameworks and development tools, while providing close fidelity to the SCA and optimization for operational use under demanding conditions, are expensive and can run into the tens of thousands of dollars per seat or per copy.
The high costs associated with commercial SCA software were the initial motivation for developing OSSIE as a tool for research and education in resource-limited university settings. At the same time, OSSIE's low cost has proven advantageous in industry. OSSIE is used for SDR rapid development and proof of concept implementation, as well as to introduce new users, developers, or customers to SCA concepts. OSSIE's licensing is attractive because it allows users to customize the software for their own applications.
Successes of the Project
The open source approach has benefited SDR education, research, and development at Virginia Tech and elsewhere. Accomplishments of the OSSIE project include:
widely distributed open source SDR software
over 20,000 estimated total downloads of source code and ready-to-run live DVD and VMware images
confirmed use by students and engineers at over 20 universities, companies, nonprofit research centers, and government laboratories
eight free laboratory/tutorial exercises, suitable for classroom use or self-paced study, developed with the Naval Postgraduate School
additional documentation via an 80+ page user and installation guide
over 20 graduate and undergraduate students supported through work on OSSIE related projects
more than 10 graduate theses and projects at Virginia Tech, the Naval Postgraduate School, and elsewhere that have used the software
more than 10 short courses and tutorials, serving over 200 participants
three peer-reviewed journal articles, four online articles, and more than twenty conference papers resulting from the project or using the software
over US$3,000,000 in related sponsored and gift-supported research
OSSIE is used by projects in industry, government, and university settings. Aalborg University and GateHouse each reported its use. OSSIE is being used in a proof of concept of the Government Reference Architecture (GRA), a U.S. government architecture for above 2 GHz communications terminals. Other studies have focused on performance of the OSSIE software, used the software to explore effects of waveform granularity, and demonstrated and documented porting and interoperability of waveforms between OSSIE and CRC's commercial SCA framework and toolset. Also noteworthy is OSSIE's inclusion in the OpenCPI initiative.
Potential challenges to a university-based open source project such as OSSIE include:
managing competing university, developer, and stakeholder priorities
maintaining open communications with and among stakeholders
maintaining continuity of student funding throughout each student's degree program
maintaining project continuity in an environment where high turnover among project personnel is desirable as part of the university's primary, educational mission
development, testing, maintenance, and configuration management of the software itself
Addressing the Challenges - Lessons Learned
As mentioned earlier, Virginia Tech has benefited from the project in terms of students supported, degrees completed, and support for related research including use of the software in other radio design efforts. Like many universities, Virginia Tech has a center that manages licensing and commercialization of technologies developed by its students, faculty, and staff, a mission that could be seen as in tension with the open source approach. Over the course of the project, we have kept Virginia Tech Intellectual Properties (VTIP) informed of the software's status. VTIP has been very supportive of the OSSIE project and recognizes the benefits of the open source model for the university and the broader community, while also providing the option to negotiate alternative licensing for those desiring it.
Developers on the OSSIE project are students, whose main academic priority is completion of their degrees, including coursework and research that are not directly related to development and enhancement of the OSSIE software. OSSIE's growing capability and improved ease of use over the past few years have made it more useful for thesis research, increasing students' motivation to further improve the software. Students are also motivated by the opportunity to work on software that is unusual and widely used within the SDR community. This enthusiasm on the part of the students and Dr. Robert sustained the project through its early period in which there was no external support.
The project has stakeholders that include university, industry, government users, funding companies, and government agencies. Interest in and preferences for particular capabilities or characteristics of the software varies depending on the stakeholder's immediate and longer term goals, so it may not be possible to support or accommodate all stakeholders equally. Tension exists between the desire for rapidly enhancing the software and maintaining stability and backward compatibility, supporting new operating system releases, supporting a wider variety of hardware platforms, and supporting SDR research and general wireless communication research, all within project resource constraints. As the project progresses, it is increasingly desirable to maintain open communication with and among stakeholders. This is partially achieved through use of a mailing list and a wiki that includes planned project milestones, bug fixes, and enhancements. At the suggestion of some of our stakeholders, we plan to initiate a users' group to encourage and formalize this interaction, possibly including periodic teleconferences.
Continuity in every sense is important to the project. Although challenging, effective solutions have been found. New and related research projects are required to support students through two or more years of graduate school. To date, this has been possible due to multi-year projects and new projects that build on past successes or explore new application areas. Maintaining project funding conducive to both software development and presentable, publishable research is a long-term challenge. Continuity of project staff is maintained by research faculty, by students who stay or return for additional degrees or postdoctoral fellowships, involvement of undergraduate researchers over multiple years, and by frequent interaction of new students with more experienced students. Students and postdoctoral fellows who come from other institutions where they have used the software provide another potential source of continuity. The software, as well as documentation of installation procedures, must also keep pace with updates to software dependencies and the operating system to remain useful over time. This requires extra effort on the part of student developers. User reports on the project mailing list or wiki help identify incompatibilities and often users identify solutions as well.
Additional challenges relate to software development itself. OSSIE development began and continues in an electrical and computer engineering department. As the project has progressed, we have involved faculty and student developers from our computer science department as well as computer engineers and communications engineers. Some work, such as development of rapid development tools and user interfaces, does not require specialization in communications theory or computing hardware and is often more easily and better developed by computer science students. Electrical and computer engineers can now concentrate on the core framework, development and optimization of digital signal processing components and waveform applications, and porting the software to work with new digital and radio frequency hardware. Configuration management is achieved using the subversion revision control system, connected to a Trac wiki, while bug reporting occurs via a mailing list and the wiki.
OSSIE benefits from use of other open source software. OSSIE runs in Linux and has been ported to embedded platforms such as an OMAP starter kit (OSK). We have avoided reimplementing major functionality where possible; however, it is also desirable to minimize the number of dependencies to simplify maintenance. The current version of OSSIE uses omniORB, an open source CORBA implementation. OSSIE was recently updated to use the GNU Radio interface to the Ettus Research Universal Software Radio Peripheral (USRP), a popular low cost radio frequency front end. The OSSIE rapid prototyping tools leverage the Eclipse open source integrated development environment and use Jython to interface with legacy Python code. It is possible that future versions of the OSSIE Eclipse Feature will be implemented entirely in Java to simplify maintenance.
The OSSIE project provides an open source resource for SDR education, research, and rapid prototyping. Development and use of OSSIE has led to multiple publications and presentations and several graduate and undergraduate students have been supported on related research projects. The software has been downloaded over 20,000 times and each of the accompanying labs, suited for university or self-paced study, are downloaded at a rate of about 1,000 per year, while well over 100 graduate and undergraduate students and 200 professionals have attended semester, quarter, and short courses that feature hands-on experience with the software. The project faces interesting challenges and opportunities due to its specialized but heterogeneous user base and reliance on student developers supported by funded research projects and grants. Use of open source tools for configuration management, bug tracking, and communication has proven valuable to the project.
OSSIE is supported in part by the National Science Foundation under Grant No. 0520418. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.