1. A system for automating testing of control devices, the system comprising: a computer memory that stores a grammar comprising one or more terminal and nonterminal symbols with tags that describe a set of test cases; and a processor that generates the set of test cases for a device under test using the grammar, receives feedback about the execution of the set of test cases from the device under test, and in response to the feedback, automatically modifies the set of test cases as a function of the feedback.