Invited Papers

Recent Trends in Data Type Specification

Volume 906 of the series Lecture Notes in Computer Science pp 48-80


From abstract data types to logical frameworks

  • José MeseguerAffiliated withSRI InternationalCenter for the Study of Language and Information Stanford University
  • , Narciso Marti-OlietAffiliated withSRI InternationalCenter for the Study of Language and Information Stanford University

* Final gross prices may vary according to local VAT.

Get Access


This paper surveys ways in which the ideas and concepts developed in the research field of abstract data types have undergone a vigorous process of generalization that has led to the development of axiomatic notions of logic and of expressive multiparadigm logics. On the one hand, the generalization from equational specifications to specifications in any logic requires general metalogical concepts making precise what logics are. Beginning with the notion of institution, several notions have been proposed to cover different needs arising in this task; we discuss these notions and summarize in particular the main ideas of the theory of general logics, which is a specific line of work in this area. On the other hand, the extension of equational logic in several directions to make specifications and programs more expressive has given rise to powerful multiparadigm logics in which other specification and programming paradigms can be cleanly combined with the equational one; we discuss several of these extensions, including rewriting logic, which unifies equational, Horn, object-oriented, and concurrent specification and programming.

These two lines of research converge in the idea of a logical framework, that is, an expressive enough logic in which many other logics can be represented. We use notions from the theory of general logics to make precise the concept of a logical framework, and summarize our recent work on the use of rewriting logic as a logical framework as a promising particular approach.

Finally, we explain how these general concepts can help us achieve the practical goal of formal interoperability, that is, how they can provide a mathematical foundation to rigorously interoperate the different formalisms and tools that we need to use in order to formally specify and verify systems.