Understanding Specification Languages through Their Model Theory
This paper studies the design of specification languages through their model theory. We show how language constructs and specification idioms are deeply rooted in the underlying model theory. We also show that some problems are fundamentally difficult to specify due to the underlying foundation of the language. The languages we study are Alloy, Maude, and FORMULA. FORMULA attempts to handle a large class of specifications problems while utilizing constraint solvers for formal analysis