Introducing Real-Time Software Components (RTSC)

dave russo (Texas Instruments)

Mobile And Embedded · Short Talk
Tuesday, 11:10, 10 minutes | Room 209/210 | Download in iCal Format


While overwhelmingly successful in the mainstream, component technology has had minimal impact on the development of embedded applications where C (still!) remains the programming language of choice. Given the constraints of time, space, and power under which most embedded systems must operate, the run-time overhead typically incurred by mainstream component frameworks is simply too high a price to pay. And yet, given the rising complexity of embedded applications coupled with a desire to field portable (and re-usable) program elements across a range of embedded processors and platforms, C programmers continually struggle with tradeoffs between developing flexible, generic – yet inefficient – building-blocks versus more specialized software optimized for one particular application domain or hardware platform.

Several component models have been created to meet these challenges (ECOS Component Model, Koala, Knit, TinyOS/nesC, Real-time Corba, Minimal Corba), but these models and their toolchains are often tied to a specific compiler, embedded operating system, embedded hardware platform, or host development platform. In addition, the more sophisticated models can't be scaled down to support popular but resource constrained devices such as an Intel 8051 or a Texas Instruments MSP430. As a result, embedded developers can rarely leverage these models and can't afford to invest the time required to learn them. Components created for these models can only be used in a limited number of embedded platforms, defeating the opportunity to reuse these components or the skills required to create them in more than just a few closely related projects.

The Real-Time Software Component (RTSC) model supported by its associated tool set (XDCTOOLS) has been developed over a period of 7 years, is in active use by several Texas Instruments (TI) development groups, and has been used to produce "mass market" products such as the DSP/BIOS Real-Time Operating System and the Codec Engine multi-media middleware framework. XDCTOOLS enables development of components written in C using any compiler toolchain on any development host. These components can then be configured, assembled, and optimized for use within any embedded real-time system. By focusing on design-time rather than on runtime component assembly, XDCTOOLS enables many of the component-based benefits to scale down to even the most resource constrained embedded system while leveraging existing C/C++ code bases and tool chains.

Starting with the XDCTOOLS product from TI, the RTSC project seeks to enable adoption by groups outside TI by making these tools freely and openly available to the community, encourage extensions, and provide seamless integration with the existing Eclipse embedded development environment. XDCTOOLS includes elements that form the foundation for extensions that span eclipse-based development tools to deeply embedded C-based runtime support and these elements roughly fall into one of three "levels":

The RTSC project is currently in the Incubation Phase in DSDP.

Dave Russo is a Distinguished Member of Technical Staff at TI, and currently serves as the Target Content Infrastructure CTO within TI's Software Development Organization. Before joining TI, Dave was co-founder of Spectron Microsystems, where he helped create the world's first real-time operating system for DSP (SPOX/C3x) in 1988 and DSP/BIOS in 1997. After TI acquired Spectron, Dave guided evolution and diffusion of DSP/BIOS for use on TI architectures. He is the original author of eXpressDSP Algorithm Standard (xDAIS), recently served as lead architect and developer of TI's Codec Engine multi-media framework for advanced SOCs, and is co-creator of the Real-Time Software Component model and its associated XDC tools. Dave has a Bachelors degree in Mathematics from MIT and a PhD from University of California, Santa Barbara.

Floor Plan

Gold sponsors

BEA logo

IBM logo

Wind River logo

Replay Solutions logo

JBoss logo


Cloudsmith logo

BIRT Exchange logo

Skyway Software logo


BlackBerry logo

AMD logo

Silver sponsors








Business Objects

LynuxWorks logo

Hardware sponsor

AMD logo

Media sponsors

Extension Media

Methods and Tools


Addison-Wesley logo

SD Times logo

Open Systems Publishing

Software Test & Performance logo


Be a Sponsor