Eclipse Target Communication Framework 1.4.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

1.4.0

Description

Minor release with Eclipse Neon. Focus on quality, robustness, Ada support and ARM stack crawling.

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

Again, new adopters of TCF have confirmed the excellent architectural quality of the TCF debugger this year. Architectural issues are the same as in previous releases:

  • The fully asynchronous nature of the TCF debugger is sometimes at odds with the synchronous nature of the Eclipse Platform / Debug model. Removing the few remaining blocking synchronous API's in Platform / Debug has been suggested as cure for this problem. See bug 423205 for background and details.
  • While TCF Core and Debugger are focused around a small, polished set of APIs, the Target Explorer offers a broad range of public (API) classes. This makes it hard to understand the big picture and how to adapt the Target Explorer.
Security Issues

TCF connections use a plaintext protocol based on JSON by default, but can optionally be routed over SSL ports or tunneled through other communication channels (like SSH). This is by design, as TCF itself is focused on APIs and communication, independent of a secure (or not so secure) channel.

A TCF server that runs with root privileges will provide root access to the target by default. Using a firewall is therefore recommendet to protect access to the TCF server ports.

Non-Code Aspects

A growing number of adopters reports success building a debugger based on TCF. While the existing "Getting Started", "Porting Guide" and "API Docs" are good, there is also continued demand on more documentation and examples.

Usability Details

Commercial adopters confirm excellent usability of the TCF software. For plain Open Source users, some requests on the mailing list indicate confusion around end-to-end workflows. This will be addressed with more user-facing documentation (Tutorials, videos).

End of Life

No EOL functionality this year.

There are plans to stop supporting Eclipse Platform 3.x in the upcoming TCF 1.5 release.

Standards
  • The SSL support uses X.509 certificates.
  • Data structures are transferred using JSON encoding.
  • Python code has been formatted using the latest PEP8 recommendations.
Communities

The TCF Communities continue to grow as shown by requests on the mailing list. 

Main interest of adopters is building their own debuggers using TCF building blocks, as well as getting commercial grade Eclipse integration for existing debuggers. In this respect, the well-designed TCF APIs are a very strong asset, along with the TCF C building blocks (agent) being released under the permissive EDL (BSD) license.

This release is part of Neon