Some design principles and theory for OBJ-0, a language to express and execute algebraic specifications of programs

  • Joseph A. Goguen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 75)


Operational Semantic Parse Tree Horn Clause Abstract Data Type Conditional Equation 
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.


  1. ADJ (1975).
    J.A. Goguen, J.W. Thatcher, E.G. Wagner and J.B. Wright. "Abstract data types as initial algebras and correctness of data representations." Proceedings, Conference on Computer Graphics, Pattern Recognition and Data Structure. (May 1975) pp. 89–93.Google Scholar
  2. ADJ (1977).
    "Initial algebra semantics and continuous algebras." IBM Research Report RC-5701 (November 1975). Also, JACM 24 (1977) pp. 68–95.Google Scholar
  3. Ashcroft and Wadge(1976).
    E.A. Ashcroft, and W.W. Wadge, "LUCID — A Formal System for Writing and Proving Programs," SIAM Journal of Computing 5 (1976) pp. 336–354.Google Scholar
  4. Burstall(1978).
    R.M. Burstall, "Design Considerations for a Functional Programming Language," to appear.Google Scholar
  5. Burstall and Darlington(1977).
    R.M. Burstall, and J. Darlington, "Some Transformations for Developing Recursive Programs," JACM 24 (1977), pp. 44–67.Google Scholar
  6. Burstall and Goguen(1977).
    R.M. Burstall, and J.A. Goguen, "Putting Theories Together to Make Specifications," Proceedings of Fifth International Joint Conference on Artificial Intelligence (August 1977) pp. 1045–1058.Google Scholar
  7. Cohn(1965).
    P.M. Cohn, Universal Algebra Harper and Row (1965).Google Scholar
  8. de Bakker and de Roever(1973).
    J.W. DeBakker, and W.P. DeRoever, "A Calculus for Recursive Program Schemes," Proceedings, International Conference on Automata, Languages, and Programs, Nivat, M., editor, North-Holland Publishing Co., Amsterdam, the Netherlands (1973) pp. 167–196.Google Scholar
  9. Floyd(1967).
    R.W. Floyd, "Assigning Meanings to Programs," Proceedings, Symposium on Applied Math 19, American Mathematical Society, Providence, R.I. (1967) pp. 19–32.Google Scholar
  10. Goguen(1974).
    J.A. Goguen, "Semantics of Computation", in Category Theory Applied to Computation and Control (ed E.G. Manes) Math and Computer Science Departments, University of Massachusetts at Amherst (1974) pp. 234–249; also Springer-Verlag, Lecture Notes in Computer Science, vol. 25 (1975) pp. 151–163.Google Scholar
  11. Goguen(1977).
    J.A. Goguen, "Abstract Errors for Abstract Data Types," UCLA Semantics Theory of Computation Report #6, February 1977. Proceedings IFIP Working Conference on Formal Description of Programming Concepts. St. Andrews, New Brunswick (August 1977), pp. 21. 1–21. 32. Also, Formal Description of Programming Concepts (ed. E.J. Newhold) North Holland (1978) pp. 491–522.Google Scholar
  12. Goguen(1978).
    J.A. Goguen, "Algebraic Specification," in New Directions in Software Technology (ed. P. Wegner) MIT Press (1978).Google Scholar
  13. Goguen and Tardo(1977).
    J.A. Goguen, and J. Tardo, "OBJ-0 Preliminary Users Manual," UCLA Semantics and Theory of Computation Report No. 10, (1977).Google Scholar
  14. Goguen, Thatcher and Wagner(1976).
    J.A. Goguen, J.W. Thatcher, and E.G. Wagner, "An initial algebra approach to the specification, correctness and implementation of abstract data types," IBM Research Report RC-6487 (October 1976). To appear in Current Trends in Programming Methodology, IV: Data Structuring (R. Yeh. Ed.) Prentice Hall. New Jersey (1978).Google Scholar
  15. Goguen, Tardo, Williamson, and Zamfir(1978).
    J.A. Goguen, J. Tardo, N. Williamson, and M. Zamfir, "A Practical Method for Testing Algebraic Specifications," to appear, UCLA Semantics and Theory of Computation Report (1978).Google Scholar
  16. Guttag(1975).
    J.V. Guttag, "The Specification and Application to Programming of Abstract Data Types," University of Toronto, Computational Sciences Research Group, Report CSRG-59 (1975).Google Scholar
  17. Guttag(1977).
    J.V. Guttag, "Abstract Data Types and the Development of Data Structures," Communications of the ACM, Vo. 20 (June 1977) pp. 397–404.Google Scholar
  18. Guttag, Horowitz, and Musser(1976).
    J.V. Guttag, E. Horowitz, and D.M. Musser, "Abstract Data Types and Software Validation, USC Information Sciences Institute, RR-76/48 (August 1976.).Google Scholar
  19. Guttag, Horowitz, and Musser(1976a).
    J.V. Guttag, E. Horowitz, and D.M. Musser, "The Design of Data Type Specifications," USC Information Sciences Institute, RR-76/49 (November 1976). An expanded version of a paper which appeared in Proceedings of the Second International Conference on Software Engineering, San Francisco (October 1976).Google Scholar
  20. Harm(1977).
    D. Harm, "SCHEMER: An Initial Implementation," UCLA Artificial Intelligence Memo #8 (July 1977).Google Scholar
  21. Harm(1978).
    D. Harm, "An Abstract Specification of a Programming Language," UCLA Semantics and Theory of Computation, Report No. 11 (March 1978).Google Scholar
  22. Haskell and Harrison(1977).
    R. Haskell, and P.G. Harrison, "System Conventions for Non-procedural Languages," Publication 77/21, Department of Computing and Control, Imperial College, London (1977).Google Scholar
  23. Henderson and Morris(1977).
    P. Henderson, and J. Morris, "A Lazy Evaluator," Third ACM Symposium on Principles of Programming Languages (1976) pp. 95–103.Google Scholar
  24. Hoare(1969).
    C.A.R. Hoare, "An Axiomatic Basis for Computer Programming," Communications of the ACM 12 (1969) pp. 576–583.Google Scholar
  25. Huet(1977).
    G. Huet, "Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems," IRIA — Report No. 250, Rocquencourt, France (1977).Google Scholar
  26. Kaufman(1977).
    T.M.S. Kaufman, "TED: A Text Editor Specified in OBJ," M.S.C. Essay, UCLA (1977).Google Scholar
  27. Knuth and Bendix(1970).
    D. Knuth, and P. Bendix, "Simple Word Prblems in Universal Algebra," in Computational Problems in Abstract Algebra, (J. Leech, editor) Pergammon Press, New York (1970), pp. 263–297.Google Scholar
  28. Lankford(1975).
    D.S. Lankford, "Canonical Inference," University of Texas Automatic Theorem Proving Project Report ATP-32, (December 1975).Google Scholar
  29. Levi and Sirovich(1975).
    G. Levi, and F. Sirovich, "Proving Program Properties Symbolic Evaluation, and Logical Procedural Semantics," in Math Foundations of Computer Science, Lecture Notes in Computer Science, Vol. 32, Springer-Verlag (1975) pp. 294–301.Google Scholar
  30. Liskov, and Berzins(1977).
    B. Liskov and V. Berzins, "An Appraisal of Program Specification," MIT. Computational Structures Group, Memo 141–1 (1977); in New Directions in Software Technology (ed. P. Wegner), (1978).Google Scholar
  31. Manna(1969).
    Z. Manna, "Properites of Programs and the First Order Predicate Calculus," Journal of the ACM 16 (1969) pp. 244–255.Google Scholar
  32. Majster(1977).
    M.E. Majster, "Limits of the ‘Algebraic’ Specification of Abstract Data Types," SIGPLAN Notices 12 (October, 1977) pp. 37–42.Google Scholar
  33. McCarthy(1965).
    McCarthy, Levin et al(1965) J. McCarthy, P. Abrahams, D. Edwards, T. Hart, and M. Levin, LISP 1.5 Programmer's Manual, MIT Press, Cambridge, Massachusetts (1965).Google Scholar
  34. Melkanoff and Zamfir(1978).
    M.A. Melkanoff, and M. Zamfir, "The Axiomatization of Data Base Conceptual Models by Abstract Data Types," Computer Science Department Report, UCLA-ENG-7785, UCLA (1978).Google Scholar
  35. Musser(1978).
    D.R. Musser, "A Data Type Verification System Based on Definite Rules," USC Information Sciences Institute, Marina del Rey, CA (1978).Google Scholar
  36. O'Donnell(1977).
    M.J. O'Donnell, Computing in Systems Described by Equations, Lecture Notes in Computer Science, Vol. 58, Springer-Verlag (1977).Google Scholar
  37. Robinson(1965).
    J.A. Robinson, "A Machine-Oriented Logic Based on the Resolution Principle," JACM 12 (1965) pp. 23–44.Google Scholar
  38. Rosen(1973).
    B.A. Rosen, "Tree-Manipulating Systems and Church-Rosser Theorems," Journal of the ACM, Vol. 20 (January 1973) pp. 160–187.Google Scholar
  39. Thatcher, Wagner, and Wright(1976).
    J.W. Thatcher, E.G. Wagner, and J.B. Wright, "Specification of abstract data types using conditional axioms," IBM Research Report RC-6214 (September 1976).Google Scholar
  40. Thatcher, Wagner, and Wright(1978).
    J.W. Thatcher, E.G. Wagner, and J.B. Wright, "Data Type Specification: Parameterization and the Power of Specification Techniques," Proceedings, SIGACT 10th Annual Syposium on Theory of Computing (May, 1978) pp. 119–132.Google Scholar
  41. Wand(1977).
    M. Wand, "Algebraic Theories and Tree Rewriting Systems," Technical Report No. 66, Computer Science Department, Indiana University (July 1977).Google Scholar
  42. Wand(1977a).
    M. Wand, "Compiling Lambda Expressions Using Continuations and Factorizations," Technical Report No. 55, Computer Science Department, Indiana University, (July 1977).Google Scholar
  43. Zilles(1974).
    S. Zilles, "Abstract Specificational Data Types," Computation Structures Group Memo 119, MIT, Cambridge, MA (1974).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1979

Authors and Affiliations

  • Joseph A. Goguen
    • 1
  1. 1.Computer Science DepartmentUCLALos AngelesUSA

Personalised recommendations