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.