The COORDES Approach
Due to the increasing complexity of embedded systems, trends towards highly integrated and distributed solutions as well as the advent of multi-processor architectures the tasks of testing and debugging become more and more important. This fact is also underlined by the well known ARTEMISIA Stratetic Research Agenda.
Support for test and debugging today is routinely built into microcontrollers and SoCs (System on Chips). However, existing tools and technologies for test and debugging are mainly focused towards single nodes with one or more CPUs on a board or in an SoC. Most of the time these methods heavily depend on auxiliary debug interfaces (e.g., JTAG, UART or other proprietary interfaces) to access the CPUs as well as trace data.
Up to date these approaches entirely neglect the distributed nature of many applications. Traditionally, to perform debug and test actions in a distributed system a dedicated debugger has to be connected to each node, see figure to the right. However, connecting monitoring computers via direct cables is impractical in real-life networked embedded systems.
Since existing technologies and tools for test and debugging of embedded systems entirely neglect the distributed character of many applications a radically new patent-registered concept was developed by the Research Group Embedded Systems. The new approach proposes that each of the networked embedded systems contributing to a distributed system uses a high-precision clock synchronization mechanism to guarantee a system wide global notion of time. Furthermore, moderate hardware support is added to each node to allow the execution of debug and test tasks in the background. Software, mainly the integrated development environment (IDE), on a single monitoring computer connected to the network performs all debug and test actions at a central location, see figure. Using this new solution it becomes for the first time possible to perform precisely coordinated test, debug, trace, and replay actions in distributed systems, thereby not requiring extra cabling and being operational even if the nodes are already embedded in their place of installation.
In summary, the most important advantages of this new approach are:
- Debug activities can be coordinated from a central point (e.g., IDE) in a distributed system
- Debug activities can be precisely synchronized among the number of embedded nodes
- No need for extra cabling
- The synchronized clocks can be used for the application as well
- The concept is independent from the network and central processing unit (CPU) technology used
The invention was submitted to the Austrian Patent Office in 2008. Meanwhile, a patent was granted by the patent office under the file number AT505630. The patent (full text) is available via the website of the European Patent Agency (enter "AT505630" in the search mask).