As hardware products become ever more complex, the spotlight is turning toward the software tools needed to visualize, manage, code, and verify the development of application software. This is particularly the case with multicore SBCs and multicomputer, fabric-based DSP products. It is very difficult to analyze and debug the behavior of a system containing tens to hundreds of processors sharing data across high-speed fabrics; just one incorrectly configured node may affect the performance of the entire system, plus the isolation of a fault to its root cause can be a complex and time-consuming exercise. The vendors of these products are striving to offer as many supporting tools as possible to make them easier to use and more productive to program.
Multicomputer systems were once the domain of the few specialized sensor developers. These systems were developed and integrated with limited toolsets by highly skilled staff needing special skills for effective use. However, today many types of military systems are rapidly growing in complexity to encompass expert systems, autonomous unmanned operation, multispectral sensors, broad situational awareness, and the need to participate collaboratively in the Internet-like digital battlefield. Multicomputer systems will be required to provide the processing power to support these sophisticated applications, along with more dedicated sensor development. However, they will also need a new breed of tools enabling them to be as user friendly and tool rich as current single-processor systems.
Vendors of multicomputer systems must make tough investment decisions to resolve which development platforms are to be supported for these additional toolsets. For a vendor such as Curtiss-Wright Controls Embedded Computing (CWCEC) with their CHAMP-AV and CHAMP-FX lines of processors and FPGA solutions (Figure 1), this might mean supporting multiple vendors’ platforms, development tools, and operating systems with these new toolsets. However, the industry’s rapid adoption of open source development platforms – such as the market-leading Eclipse – makes tool development cheaper and faster and provides customers with a broader range of products from which to choose.
Eclipse was originally developed by IBM but is now released as open source by the Eclipse Foundation, an independent body committed to the evolution and continued growth of Eclipse by the vendor and user community. The advantage for vendors of Eclipse-based products is that they can create their own derivative development platforms for redistribution or create plug-in tools for any Eclipse-derived platforms with just one product investment outlay. Plug-ins are developed to specifications controlled by the Eclipse Foundation, thus ensuring compatibility with the core Eclipse open source and any commercial derivative products. Support for Eclipse has already been announced by Wind River Systems, Inc. for their new Workbench tools platform and by Xilinx for their EDK FPGA development tools.
Vendors of complex VMEbus products are anticipating a range of plug-in tools that will exploit the new breed of processors’ and fabrics’ capabilities to complement Eclipse-based environments being introduced by major embedded software providers. Initially, these tools are expected to fall into three classes:
- Instrumentation and postmortem analysis – Tools to collect pre- and post-event data from many different event types or groups of events for analysis at a later time. This kind of tool should also include extensive analysis tools to review data and pinpoint where any problems may exist.
- Real-time monitoring – Enables real-time display of, for example, threads, processor utilization, task allocations, and fabric performance
of individual nodes or clusters. It might also include the ability for real-time user interaction to control processes or data transfers and
to display the results in a dashboard-like display format. - System management – Because the testing and integration of these complex systems is done in a dynamic environment, the exact configuration of the hardware must always be matched to the analysis and monitoring tools. Additionally, the tool could be used as a systemwide flash manager. This could be used to view flash contents on any node or stored kernels and executables of any one node or groups of nodes.
The manager would provide the assurance that the correct hardware configuration is present for every build of software and tools.
The widespread adoption of Eclipse as an open source software development platform is encouraging the vendor community to develop and market plug-in tools with real added value to their customers. In the case of multicore SBCs and large multicomputer systems, these tools will shorten the development cycles and make the technology more accessible to a broader range of military systems integrators. The use of an open source development platform ensures wide industry support and the longevity that is so essential to the long-term evolution, support, and maintenance demanded by military end users.
For more information, e-mail John at [email protected].