Building specifications in an arbitrary institution

  • Donald Sannella
  • Andrzej Tarlecki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 173)


A set of operations for constructing algebraic specifications in an arbitrary logical system is presented. This builds on the framework provided by Goguen and Burstall's work on the notion of an institution as a formalisation of the concept of a logical system for writing specifications. We show how to introduce free variables into the sentences of an arbitrary institution and how to add quantifiers which bind them. We use this foundation to define a set of primitive operations for building specifications in an arbitrary institution based loosely on those in the ASL kernel specification language. We examine the set of operations which results when the definitions are instantiated in an institution of first-order logic and compare these with the operations found in existing specification languages. The result of instantiating the operations in an institution of partial first-order logic is also discussed.


Specification Language Partial Algebra Satisfaction Relation Operation Symbol Building Specification 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8 References

  1. [ADJ 76]
    Goguen, J.A., Thatcher, J.W. and Wagner, E.G. An initial algebra approach to the specification, correctness, and implementation of abstract data types. IBM research report RC 6487. Also in: Current Trends in Programming Methodology. Vol. 4: Data Structuring (R. T. Yeh, ed.). Prentice-Hall. pp. 80–149 (1978).Google Scholar
  2. [ADJ 77]
    Goguen, J.A., Thatcher, J.W., Wagner, E.G. and Wright, J.B. Initial algebra semantics and continuous algebras. JACM 24, 1 pp. 68–95.Google Scholar
  3. [ADJ 80]
    Ehrig, H., Kreowski, H.-J., Thatcher, J.W., Wagner, E.G. and Wright, J.B. Parameterized data types in algebraic specification languages (short version). Proc. 7th ICALP. Noordwijkerhout, Netherlands. Springer LNCS 85.Google Scholar
  4. [AM 75]
    Arbib, M.A. and Manes, E.G. Arrow, Structures and Functors: the Categorical Imperative. Academic Press.Google Scholar
  5. [Bar 74]
    Barwise, K.J. Axioms for abstract model theory. Annals of Math. Logic 7 pp. 221–265.Google Scholar
  6. [Bau 81]
    Bauer, F.L. et al (the CIP Language Group) Report on a wide spectrum language for program specification and development (tentative version). Report TUM-18104, Technische Univ. München.Google Scholar
  7. [BR 83]
    Benecke, K. and Reichel, H. Equational partiality. Algebra Universalis 16 pp. 219–232.Google Scholar
  8. [BM 81]
    Bergstra, J.A. and Meyer, J.J. I/O computable data structures. SIGPLAN Notices 16, 4 pp. 27–32.Google Scholar
  9. [BW 82]
    Bloom, S.L. and Wagner, E.G. Many-sorted theories and their algebras, with examples from computer science (Working paper). US-French Joint Symp. on the Applications of Algebra to Language Definition and Compilation, Fontainebleau.Google Scholar
  10. [BrW 82]
    Broy, M. and Wirsing, M. Partial abstract types. Acta Informatica 18 pp. 47–64.Google Scholar
  11. [Bur 82]
    Burmeister, P. Partial algebras — survey of a unifying approach towards a two-valued model theory for partial algebras. Algebra Universalis 15 pp. 306–358.Google Scholar
  12. [BG 80]
    Burstall, R.M. and Goguen, J.A. The semantics of Clear, a specification language. Proc. of Advanced Course on Abstract Software Specifications, Copenhagen. Springer LNCS 86, pp. 292–332.Google Scholar
  13. [BG 81]
    Burstall, R.M. and Goguen, J.A. An informal introduction to specifications using Clear. In: The Correctness Problem in Computer Science (R.S. Boyer and J.S. Moore eds.), Academic Press. pp. 185–213.Google Scholar
  14. [ETLZ 82]
    Ehrig, H., Thatcher, J.W., Lucas, P. and Zilles, S.N. Denotational and initial algebra semantics of the algebraic specification language LOOK. Draft report, IBM research.Google Scholar
  15. [EWT 83]
    Ehrig, H., Wagner, E.G. and Thatcher, J.W. Algebraic specifications with generating constraints. Proc. 10th ICALP. Barcelona. Springer LNCS 154, pp. 188–202.Google Scholar
  16. [GGM 76]
    Giarratana, V., Gimona, F. and Montanarl, U. Observability concepts in abstract data type specification. Proc. 5th MFCS, Gdansk. Springer LNCS 45.Google Scholar
  17. [GDLE 82]
    Gogolla, M., Drosten, K., Lipeck, U. and Ehrich, H.D. Algebraic and operational semantics of specifications allowing exceptions and errors. Fb. 140, Abteilung Informatik. Univ. of Dortmund.Google Scholar
  18. [Gog 77]
    Goguen, J.A. Abstract errors for abstract data types. Proc. IFIP Working Conf. on the Formal Description of Programming Concepts, New Brunswick, New Jersey.Google Scholar
  19. [Gog 78]
    Goguen, J.A. Order sorted algebras: exceptions and error sorts, coercions and overloaded operators. Semantics and Theory of Computation Report No. 14, Dept. of Computer Science, UCLA.Google Scholar
  20. [GB 78]
    Goguen, J.A. and Burstall, R.M. Some fundamental algebraic tools for the semantics of computation. Research Report No. 5. Dept. of Artificial Intelligence. Univ. of Edinburgh: to appear in TCS.Google Scholar
  21. [GB 83]
    Goguen, J.A. and Burstall, R.M. Introducing institutions. Proc. Logics of Programming Workshop (E. Clarke, ed.), CMU.Google Scholar
  22. [GM 82]
    Goguen, J.A. and Meseguer, J. Universal realization, persistent interconnection and implementation of abstract modules. Proc. 9th ICALP, Aarhus, Denmark. Springer LNCS 140, pp. 265–281.Google Scholar
  23. [GM 83]
    Goguen, J.A. and Meseguer, J. An initiality primer. Draft report. SRI International.Google Scholar
  24. [Kam 83]
    Kamin, S. Final data types and their specification. TOPLAS 5, 1 pp. 97–121.Google Scholar
  25. [LB 77]
    Liskov, B.H. and Berzins, V. An appraisal of program specifications. Computation Structures Group memo 141-1, Laboratory for Computer Science, MIT.Google Scholar
  26. [MacL 71]
    MacLane, S. Categories for the Working Mathematician. Springer.Google Scholar
  27. [MM 83]
    Mahr, B. and Makowsky, J.A. Characterizing specification languages which admit initial semantics. To appear in TCS.Google Scholar
  28. [Pep 83]
    Pepper, P. On the correctness of type transformations. Talk at 2nd Workshop on Theory and Applications of Abstract Data Types, Passau.Google Scholar
  29. [Rei 81]
    Reichel, H. Behavioural equivalence — a unifying concept for initial and final specification methods. Proc. 3rd Hungarian Computer Science Conf., Budapest. pp. 27–39.Google Scholar
  30. [Rei 84]
    Reichel, H. Structural induction on partial algebras. Akademie-Verlag. Berlin.Google Scholar
  31. [San 83]
    Sannella, D.T. Behavioural equivalence and algebraic specification (extended abstract). Workshop on Semantics of Programming Languages. Goteborg, pp. 162–166.Google Scholar
  32. [SW 83]
    Sannella, D.T. and Wirsing, M. A kernel language for algebraic specification and implementation. Long version: Report CSR-131-83. Dept. of Computer Science, Univ. of Edinburgh: Extended abstract in: Proc. Intl. Conf. on Foundations of Computation Theory, Borgholm, Sweden, Springer LNCS 158, pp. 413–427.Google Scholar
  33. [Sch 82]
    Schoett, O. A theory of program modules, their specification and implementation (extended abstract). Report CSR-155-83, Dept. of Computer Science, Univ. of Edinburgh.Google Scholar
  34. [Suf 82]
    Sufrin, B. Formal specification of a display-oriented text editor. Science of Computer Programming 1 pp. 157–202.Google Scholar
  35. [Tar 83]
    Tarlecki, A. Free constructions in algebraic institutions. Long version: Report CSR-149-83, Dept. of Computer Science, Univ. of Edinburgh: Extended abstract in: Proc. MFCS 84. Prague. Springer LNCS (to appear).Google Scholar
  36. [Tar 84]
    Tarlecki, A. Free constructions in abstract algebraic institutions. Draft report, Univ. of Edinburgh.Google Scholar
  37. [Wand 79]
    Wand, M. Final algebra semantics and data type extensions. JCSS 19 pp. 27–44.Google Scholar
  38. [Wir 82]
    Wirsing, M. Structured algebraic specifications. Proc. AFCET Symp. on Mathematics for Computer Science, Paris, pp. 93–107.Google Scholar
  39. [Wir 83]
    Wirsing, M. Structured algebraic specifications: a kernel language. Habilitation thesis. Technische Univ. München.Google Scholar
  40. [ZLT 82]
    Zilles, S.N., Lucas, P. and Thatcher, J.W. A look at algebraic specifications. IBM research report RJ 3568.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1984

Authors and Affiliations

  • Donald Sannella
    • 1
  • Andrzej Tarlecki
    • 1
  1. 1.Department of Computer ScienceUniversity of EdinburghUK

Personalised recommendations