Grasp
Understanding and validating the timing behavior of real-time systems is not trivial. Many real-time operating systems and their development environments do not provide tracing support, and provide only limited visualization, measurements and analysis tools. Grasp is a tool for tracing, visualizing and measuring the behavior of real-time systems. It provides a simple plugin infrastructure for extending Grasp with custom visualization and measurement methods.We are using Grasp extensively for the development of various extensions for the uC/OS-II real-time operating system. In particular, we have developped a versatile hierarchical scheduling framework. We have been tracing the execution of uC/OS-II applications on a commercial camera platform and inside the OpenRISC simulator. Here you can find more information about the integration of uC/OS-II and the OpenRISC simulator.
Download Grasp
You can download the latest version of Grasp here:
- Linux (32 bit)*, Mac (64 bit), Mac (32 bit), Windows, TclKit** (version )
*) To get it running on a 64 bit version of Linux make sure to install ia32-libs.
**) Grasp by Mike Holenderki is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
The download includes several example trace files. Take a look at the example_explained.log trace using your favourite text editor to get started on the Grasp trace format. It contains an explanation of many trace commands and their parameters. Note that it is also a proper trace, so you can open it with Grasp.Download Grasp Recorder
The Grasp Recorder provides a set of methods for recording a Grasp Trace. These methods are called by the instrumentation code inserted into the traced system. For example, during a context switch the instrumentation code should call a method in the Grasp Recorder to log a preemption of the currently running task. You are free to generate a Grasp Trace however you want, but for your convenience we have implemented a sample Grasp Recorder.You can download the latest version the Grasp Recorder here:
- grasp_recorder.zip (version )
Contributors
- Joćo Craveiro added support for fractional server consumption rate.
Screenshots


Trace of tasks executing on a dual-core processor sharing a mutex.

Publications
- M. Holenderski, R.J. Bril and J.J. Lukkien, Grasp: Visualizing the Behavior of Hierarchical Multiprocessor Real-Time Systems, Journal of Systems Architecture, July 2012.
- Mike Holenderski, Reinder J. Bril and Johan J. Lukkien, Grasp: Visualizing the Behavior of Hierarchical Multiprocessor Real-Time Systems, International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS), July 2011.
- Mike Holenderski, Martijn M. H. P. van den Heuvel, Reinder J. Bril and Johan J. Lukkien, Grasp: Tracing, Visualizing and Measuring the Behavior of Real-Time Systems, International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS), July 2010.