DSDP/RTSC/BoardReport2008

From Eclipsepedia

< DSDP‎ | RTSC
Jump to: navigation, search

This is the proposed Report for the RTSC project, to be presented to the Eclipse Board on September 17, 2008.


Contents

Review of project scope and charter

The Real-Time Software Components (RTSC) project provides foundational tools and low-level runtime content to enable component-based development using the C language targeting all embedded platforms.

While other component technologies exist for embedded systems, RTSC is unique in that it scales down to highly resource constrained embedded systems including DSPs and 16-bit micro-controllers. In addition, RTSC components have a "dual existance": in addition to embedded target code, they include code that executes on a rich client platform to help manage the component's entire lifecycle - from building the component to monitoring the real-time operation of the component within a deployed application. This dual existance enables RTSC components to fully leverage Eclipse infrastructure without incurring overhead on the embedded platform.

The starting point for the RTSC project will include the XDCtools currently available from Texas Instruments as a free download. By making these tools freely and openly available, we hope to foster deeper levels of integration with the Eclipse platform, encourage adoption of RTSC by eliminating the understandable fears of proprietary ties to Texas Instruments, and bring modern component-based development tools to the embedded C programmer.

A high-level review of technical progress, strategy and release plans.

The RTSC project, formally proposed in Feburary 2008, has successfully passed two early milestone reviews and is now a fully provisioned incubation sub-project of DSDP. The RTSC team presented a short and long talk at EclipseCon 2008 describing the technical contributions of the RTSC project.

As a first step to moving XDCtools to open source, the previously TI internal RTSC documentation wiki (RTSC-Pedia) is now open to the community at http://rtsc.eclipse.org/docs.

Next steps include

  • submission of the XDCtools source code base for parallel IP review (mid 4Q 2008)
  • transition of an internal technical support and discussion mailing list to the RTSC newsgroup (end of 4Q 2008)
  • migration & integration of existing TI internal ClearQuest RTSC bug database to Bugzilla (1Q 2009)
  • migration from Antlr 2.x to Antlr 3.x (to eliminate current IP dependencies) and refactoring of XDCtools to eliminate internal tool usage (1Q 2009)

We are shooting for an initial release by the end of the year or early 2009. See the RTSC project plan for more information.

Self-assessment of the performance of the project

Performance as an Eclipse open source project

Openness

As a first step toward transitioning TI internal RTSC development to Eclipse, we've moved our documentation wiki to http://rtsc.eclipse.org. This allows the RTSC team to quickly respond to community questions. Next steps include

  • submission of the XDCtools source code base for parallel IP review (mid 4Q 2008)
  • transition of an internal technical support and discussion mailing list to the RTSC newsgroup (4Q 2008)

We've recently completed a major release of the XDCtools (3.10) and this work has slowed our transition to Eclipse. Now that this release is completed, we need to do some refactoring of the code base in preparation for maintaining it within an Eclipse SVN repository. We hope to complete this work and submit the code base for IP review by mid 4Q this year.

Although we have been "advertising" this newsgroup as the preferred way to ask questions, TI users have been reluctant to post questions to a public newsgroup. There are concerns about inadvertent leaking of TI proprietary information and there is the (purely psychological/emotional) difficulty of creating an Eclipse account. We plan to shutdown the internal TI mailing list before years end and create an internal newsgroup (for internal questions only). This will force users to create accounts to get support and hopefully remove one of the psychological barriers that currently exists.

Transparency

Although we've held open technical calls about RTSC, there is little external visibility of the day-to-day technical discussions and roadmap plans. The RTSC team has been using an TI internal mailing list for support and technical discussions. We plan to transition support traffic to the eclipse news group and design discussions/feature requests to Bugzilla.

The current TI product development process does track product requirements in its bug tracking system (ClearQuest); separate requirements documents and tracking tools are used in conjunction with this bug database. This "process discontinuity" needs to be bridged in order to maintain our ISO compliance and minimize the impact to existing TI development processes.

Next steps include

  • migration & integration of existing TI internal ClearQuest RTSC bug database to Bugzilla (4Q 2008 / 1Q 2009)

Migration of current open issues to Bugzilla should be relatively easy, but it's important that we build an automated means to "push" internally filed bugs to the RTSC project's Bugzilla database. Again, some bugs may contain TI proprietary information so we will not be able to always use Bugzilla, but unless we have a way to easily review and publish bugs, laziness will prevent complete transparency. We hope to get current issues into the Bugzilla data base by years end; full automation may take a bit longer, however.

Meritocracy

We're still creating our presence in Eclipse, and we haven't yet had a chance to demonstrate meritocracy.

Diversity

The initial team of committers is made up entirely of TI engineers. This is something we hope to change next year as we transition the XDCtools development to the Eclipse infrastructure.

Increasing diversity is, as a practical matter, largely blocked until we can get the XDCtools code base available on the Eclipse servers.

Compliance with the Purposes

RTSC is extensible and allows the user to integrate a wide range of SDKs and 3rd party tools. The XDCtools product itself consists of over 125 RTSC packages. Many of these packages provide a "bridge" to commonly used embedded tools (e.g., MinGW and gcc compiler tool chains) and serve as exemplars for extensions to other tools chains.

Greenhills, for example, has created RTSC packages that enable the use of the Greenhills toolchain within the RTSC environment. This allows anyone in the community to easily deploy and manage target content pre-built with the Greenhills tools.

End user community and adoption.

Even though the RTSC project is still in incubation, the starting code base for the RTSC project is is code the TI's XDCtools product. This product has been in continuous development/refinement and use since 2001. The XDCtools are the foundation tools used to create and use several of TI's most popular embedded target content products, including DSP/BIOS and Codec Engine.

Within TI, XDCtools is actively being used with a fair amount of activity within our internal bug tracking system and support mailing lists.

  • we currently have 442 open bugs against the XDCtools (mostly minor!),
  • it is not uncommon to have 1 or 2 threads per week on our internal "rtsc_champs" mail list, and
  • in the first 20 days of august 2008, I've posted 32 messages to this list

Although we have had several very positive deep technical reviews by external companies (Nokia, Ericsson, and Huawei), external adoption has yet to occur. Ericcson, in particular, was very positive and requested that these tools be made open source. The risk of being tied to TI proprietary technology as well as the risk that TI might stop support of these tools, made it impossible for Ericcson to adopt and depend on these tools. Our hope is that by making these tools available to the community and integrating them into the Eclipse environment, we can attract contributors from other companies. This will greatly facilitate community adoption.

Commercial community and adoption

TI currently ships several products based on the XDCtools (the product associated with the RTSC project)

Compliance with the Roadmap

Board Assistance

The board has already been very helpful in clearing sticky licensing issues that had the potential to significantly hamper commercial adoption of the runtime elements provided by RTSC. At this time, the ball's entirely in our court.

Noteworthy