Can you give one or more examples of the kind of interface bugs you mean?
In my experience, the most frequent issue – at least initially – with connecting nodes is that something is not connected, because of a wrong name. The next most frequent seems to be spelling and/or range issues in parameters.
I wouldn’t call these interface issues as such, or at least we don’t need new specs on that, it would be sufficient to actually check the current ones.
Have you seen my talk at ROSCon? It’s not specifically about that, but I mention how we used LTTng to trace messages and callback invocations. This is in the soon-to-be-released tracetools package.
Aren’t those specs strongly related to your requirements or, in other words, to the outward behavior your system is expected to have? For example, when I drive a 1m/s in a warehouse, I might have different requirements regarding pose update rate then when I drive 50km/h through city traffic.
Hmm, most of what I know about embedded systems comes from the automotive people here at Bosch, and they are very concerned with safety. I might have got it wrong, of course, but given how often we’ve internally talked about this, I would be surprised.
What is true is that rates are often specified on a task level, with callbacks being assigned to a task according to their rate needs, but that is an implementational aspect, which most people actually don’t like, but accept as the way things are, unfortunately, implemented.
Anyway, in most cases, they are not interested in rates at all, only in response time, and that’s again a system-level aspect.