It would be quite handy if we are able to fully test our application code on a simulator that we can make communicated with a project specific environment simulator.
Preparing an environment simulator (such as a pool with a water inlet which fills the pool and motor pump that drains it out) is our concern, obviously. But as the IO modules use a custom kernel drivers, the IO interaction of the modules should be simulated.
IMHO, A qemu image would be nice and IO module bus might be simulated by TCP/IP channel per IO module, so we could "write" our own IO simulations (the environment simulation) easily.