Formal Aspects of Computing (1990) 2: 1–23 c 1990 BCS A Reification Calculus for Model-Oriented Software Specification by J.N. Oliveira Grupo de C.Computa¸ c˜ ao, Universidade do Minho/INESC, Rua D.Pedro V, 88-3, 4700 Braga, Portugal. email: jno@di.uminho.pt Abstract. This paper presents a transformational approach to the derivation of implementations from model-oriented specifications of abstract data types. The purpose of this research is to reduce the number of formal proofs required in model refinement, which hinder software development. It is shown to be appli- cable to the transformation of models written in Meta-iv (the specification lan- guage of Vdm) towards their refinement into, for example, Pascal or relational DBMSs. The approach includes the automatic synthesis of retrieve functions between models, and data-type invariants. The underlying algebraic semantics is the so-called final semantics “`a la Wand”: a specification “is” a model (heterogeneous algebra) which is the final object (up to isomorphism) in the category of all its implementations. The transformational calculus approached in this paper follows from exploring the properties of finite, recursively defined sets. This work extends the well-known strategy of program transformation to model transformation, adding to previous work on a transformational style for operation- decomposition in META-IV. The model-calculus is also useful for improving model-oriented specifications. Keywords: Software engineering, Formal methods, Algebraic specification, Trans- formational design. Correspondence and offprint requests to: J.N. Oliveira