A Unifying Model for Specification and Design

The application of formal languages in the software development process is becoming more and more evident. Providing formal semantics and tools for the synthesis, analysis and transformation of behavioural models is usually the first step in the process of formal methods development. Many formal methods exist but, as yet, there is an absence of a meta-theory of formal methods. Such a meta-theory is the subject of this paper: we call it a unifying framework. We present a generalisation of the software development model which reflects the standard approach of using different languages at different stages of development. A unifying model will give a better understanding of why and how this happens; together with strengthening the rigour of such standard multi-semantic approaches to software development.