Are there some guidelines/tips or specific frameworks/solutions for creating a test environment for a real-time system consisting of multiple asynchronous threads running simultaneously? Specifically, the system runs on a periodic clock, contains several threads communicating with each other via message-passing, contains real-time logging and tracing and has deterministic, but complex (and variable) execution states.
Thoughts?