Model-based Automatic Synthesis and Analysis in Second-Order Monadic Logic

This paper shows how monadic second-order logic on strings M2L(Str) can pro tably be used as a description language for model-based analysis of software as well as hardware systems. It is therefore a good candidate formalism for hardware/software codesign. This logic conveniently combines two important features in a single formalism: It is both an abstract speci cation language and an e ective programming language. As a predicate logic it admits high-level behavioral design capture in which we focus on what is to be achieved rather than how this is done. Yet, in contrast to full higher-order logic, this expressiveness is not compromised by a loss of e ectiveness. Every speci cation can be translated into an equivalent nite state automaton, and thus is decidable and executable. We illustrate these features along a case study.