In my last Emulation 101 post, I talked about why we use emulation instead of expensive real-world systems testing or abstracted software-only simulation. This time, we're talking about the design of our emulation testbed and the software under test.
Emulation Testbed
Our emulation testbed has three main components:
- The emulation software / framework
- The software (or system) under test, and
- The middleware abstraction boundary that makes it possible
I talked about the emulation software and framework in the last post. The software or system under test is the software we're writing that needs to be tested - and emulation is the means we've chosen to do it. The "middleware" is the important part I'd like to discuss today.