1. A method for testing operation of a system against a natural language design specification defining a closed set of behaviors thereof, the system being operationally specific to at least one problem domain, the method comprising the steps of: translating the natural language specification to a specification in at least one description language specific to a corresponding one of the at least one problem domain, each of said at least one domain specific description language including a set of axioms, each of said set of axioms corresponding to a respective syntactical relationship between morphemes of said corresponding domain specific description language; generating a model of the system from said domain specific description language specification, said model behaving in accordance with a first set of behaviors and a second set of behaviors, each of said first set of behaviors corresponding to a respective one of the closed set of behaviors and each of said second set of behaviors corresponding to a respective one of said set of axioms; generating from said model a test case for each behavior of a set union of said first set of behaviors and said second set of behaviors; and providing to the system every test case generated from said model as the set of test cases for testing the system operation.