The latest version of your system is past primary development and ready for regression testing. You’ve got just a few systems available, and they’re in a lab under the watchful eyes of the hardware development team. Your software development and QA groups are ready with a bevy of regression tests, but access to the working prototype hardware in the lab is the tricky part. Complicating the problem, your developers and QA engineers are scattered across three continents in six different time zones. How do you coordinate use of the hardware for software testing and debug, maintain centralized control of the hardware itself, and keep some level of efficiency in the process?
Many of Wind River’s device software development customers have asked these exact questions, which is why the company is announcing a new set of capabilities called “Wind River Lab Diagnostics” – the latest addition to the “Wind River Management Suite.” Wind River Management Suite’s first installment was called “Wind River Workbench Diagnostics” – a product for creating dynamic instrumentation to help analyze and correct software defects in running systems. The second set of capabilities, “Wind River Field Diagnostics,” was announced mid-2006 and was designed to enable field service engineers to securely collect and manage operational information from deployed devices. That product took the “sensorpoint” technology introduced in Wind River Workbench Diagnostics and made it operate across a network via a client-server scheme.
Now those technologies have been re-spun into a new product, “Wind River Lab Diagnostics.” Lab Diagnostics takes these same remote management and monitoring capabilities and focuses them on the device software QA cycle – allowing widely-dispersed QA and development engineers to collaboratively test and debug working systems located and managed remotely. By removing the need for systems under test to be co-located (and managed) with software development and QA teams, the device software QA cycle can be much more easily adapted to today’s global product development environment.
Wind River Lab Diagnostics
Beginning with the software developer side of the team, Workbench Diagnostics allows software engineers to dynamically instrument live devices with “sensorpoints,” which are analogous to breakpoints in a debugger. Sensorpoints can modify any function and can monitor, log, and modify any data without changing application code and without recompiling or reloading device applications or even stopping the device. Once sensorpoints have been created, the site manager can apply them across an entire set of working devices under the control of a site manager.
In the QA process, sensorpoints can be inserted into the code to increase test coverage and speed up the error detection and correction process. Sensorpoints can be used to measure runtime performance and timing, automate user interactions such as button presses, simulate I/O, inject faults to test error handlers, and observe variations across multiple boards in a chassis. Each sensorpoint trigger is matched with a corresponding set of code that executes when the sensorpoint’s conditions are met.
Above the site manager sits a device management server that acts as a repository for using and sharing sensorpoints, manages and monitors multiple devices-under-test, and acts as an aggregation point for development, test, and QA to create, share, monitor and track the sensorpoint logs and other information coming from running systems. The management server provides a secure access mechanism for geographically dispersed engineers to use for accessing centrally managed hardware, QA suites, and results. The system can also work over VPN, allowing even authorized third parties such as contractors and other outsourced development and test resources to have controlled access.
Lab Diagnostics is complementary with the previously-announced Field Diagnostics, as it allows development and QA to be linked with field service and support in a common environment. This seamless integration allows information gathered in the field to be factored into the QA process as well, providing a monitor (and even repair) mechanism that is closely coordinated with the device software QA process.
Wind River Lab Diagnostics is available now worldwide, packaged as a “workgroup,” which includes the device management server plus developer/tester seats. The system currently supports VxWorks 6.x on PowerPC and Intel processors, VxWorks 5.5.1 on PowerPC, and Wind River Linux 1.4 on PowerPC and Intel. Additional OS and processor support is planned and will be announced when available.
The Wind River Management Suite is a prime example of the type of value-added product that embedded tools companies are creating, at least partially in response to the commoditization and open-source-ification of traditional embedded software products like operating systems, debuggers and IDEs, middleware, and generic software IP. As the legacy technologies become a less profitable business over time, companies like Wind River are constantly evolving and re-inventing themselves – finding new places to inject value into the chain and thus preserving the viability of their businesses.