Traditional test equipment typically offers a fixed set of pre-determined functionality that is exposed to the test engineer by one or more fixed application programming interfaces. When building a general purpose test system using traditional test equipment, it is common to include a separate piece of test equipment for each supported protocol or bus type. As a result, these purpose-built test systems tend to have a large footprint, are difficult to maintain, and have a high obsolesce risk. To combat these issues, many system integrators are moving towards synthetic test instrumentation that can provide the functionality of several traditional test instruments.