DSDP/DD/Board Report 2008
This is the proposed Report for the Device Debugging project, to be presented to the Eclipse Board on September 17, 2008.
Review of project scope and charter
As described in its about page Device Debugging is a broad effort to improve the overall experience of debugging embedded applications with Eclipse. Much of the project's focus has been on working with CDT and Platform projects to ensure that their architecture accommodates device debugging use cases. A framework and tools have also been developed within the Device Debugging project.
A high-level review of technical progress, strategy and release plans.
In its early phases, the Device Debugging project focused on contributing use cases and testing of new APIs in Platform Debug, in order to allow for more flexibility in presentation of data in Eclipse's shared debugger views. These provisional "Flexible Hierarchy" API was first included in Platform release 3.2, and has since been refined in 3.3 and 3.4 releases. This API is likely to remain provisional in 3.5 as well, and finally be made public in e4.
Within the Device Debugging project, a new Debugger Services Framework (DSF) has been developed, which is an alternative to the standard debug model in Platform. Its 0.9 version was first released with the Europa train in 2007. A 1.0 version of DSF was released on the Ganymede train along with a reference implementation which integrates the GDB debugger. Currently additional features are being developed in this area for a DD 1.1 release scheduled for November 2008. Looking forward, the Device Debugging project is in talks with the CDT community to contribute DSF and the GDB integration to the CDT project starting with the Galileo train release.
The IP-XACT editor is a tool for editing schemas as defined by the SPIRIT consortium. It was first included in the Device Debugging project in the DD 0.9 release on the Europa train and has remained in the 0.91 version for the Ganymede train release. In the future this tool may be contributed to the proposed DSDP/Virtual Prototyping Platform project, which is the incubator project for DSDP.
Finally a Traditional Memeory Rendering was developed for viewing memory in the Platform memory view when debugging embedded applications. This tool was first included in the DD 0.9 release and has been incrementally improved since. In the future this tool may also be contributed to the CDT project.
Looking forward, as the various components developed within the Device Debugging project are contributed to other projects as planned, we must consider whether to continue maintaining Device Debugging as an active project. The vibrant community that contributes to this project is a very positive influence in improving the debugging user experience in Eclipse, so whatever the outcome we will strive to maintain it.
Self-assessment of the performance of the project
Performance as an Eclipse open source project
Developer community participation has been great, while building a user community is only beginning. The project has participated in train releases and complies with EMO processes.
DD is open to external observers and participants. There are regular monthly calls with updates on project status as well as other technical phone meetings. All meetings are logged on DSDP/DD Wiki pages.
All technical discussions and project related announcements are sent to the public developer mailing list, which everyone is welcome to participate in.
All our work is documented using the standard Eclipse tools, Bugzilla, IP Zilla, and CVS commit logs. In addition to monthly DD meetings, we also hold weekly technical meetings for contributors focused on extended DSF for the GDB community. All code contributions come in through patches and are code reviewed by one additional committer (not the submitter) before being applied.
We evaluate feature proposals on technical merit, and all participants on the DD committer team have equal voice in the discussions.
The currently actively contributing committers are from Wind River, Ericsson and Arm. Recent contributions came from ST Microelectronics, Nokia, and Freescale.
Compliance with the Purposes (e.g. are they successfully “..supplying frameworks and exemplary, extensible tools..”?)
Yes. DD is successfully coordinating with other projects on improving user experience, and it is developing new frameworks and tools that fill in the missing functionality. The primary framework in DD is the Debugger Services Framework (DSF). Tools include the IP-XACT editor, traditional memory rendering, and the GDB debugger implementation under DSF.
End user community and adoption.
The project is only starting to build a user community with the GDB debugger integration. There is also some uptake in the IP-XACT editor in companies that participate in the SPIRIT consortium.
Commercial community and adoption. E.g. is the technology from the project showing up in products.
The DSF framework is currently being used in Wind River product, and is also being adopted by ST Microelectronics and Ericsson for internal development. IP-XACT editor is used by Arm, and Traditional Memory Rendering is being adopted by Wind River and Freescale.
Compliance with the Roadmap
We are currently very well aligned and deliver along the road map defined earlier this year.
Much of the Device Debugging project has been to organize the diverse community of embedded development tools vendors and to use its collective wisdom in improving Eclipse. For example, much of the feature development in Platform Debug starting with release 3.2 came by request from this project. Likewise, the contribution of DSF to the CDT project will help the CDT project to revive its aging debugger architecture.