Skip to main content

An implementation of OBJ2: An object-oriented language for abstract program specification

  • Session 1 Software Technology
  • Conference paper
  • First Online:
Book cover Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1986)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 241))

Abstract

This paper describes an implementation of a functional and object-oriented programming language called OBJ2. It is a programming language manifestation of a new programming paradigm called parametrization. Parametrization enables programs to be written in as general a form as possible. By choosing suitable parameter values, the generic objects can be tailored to a variety of applications. Theories provide semantic interface requirements of a parametrized object while views formally specify exactly how given objects satisfy given theories. Instantiation mechanisms provide the formal machinery for generating new objects from generic ones. OBJ2 programs are evaluated by interpreting equations as rewrite-rules. The underlying term rewriting system is assumed to have the Church-Rosser and finite termination properties. This implementation was done in Franz Lisp on a Vax 11/750, running Unix.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Burstall, R. M., and Goguen, J. A. The Semantics of CLEAR, a Specification Language. Lecture Notes in Computer Science, vol. 86., Springer-Verlag, 1980.

    Google Scholar 

  2. Futatsugi, K., Goguen, J. A., Jouannaud, J. and Mesegeur, J. Principles of OBJ2. In Proceedings, ACM Symposium on Principle of Programming Languages, 1985.

    Google Scholar 

  3. Goguen, J. A. Parametrized Programming. IEEE Transactions on Software Engineering, pp. 528–543, September 1984.

    Google Scholar 

  4. Goguen, J.A and Meseguer, J. Rapid Prototyping in the OBJ2 Executable Specification Language. Software Engineering Notes 7(5), ACM SIGSOFT, pp 75–84, 1982.

    Google Scholar 

  5. Goguen, J. A. and Tardo, J. An Introduction to OBJ: A Language for writing and Testing Software Specifications. In Specification of Reliable Software, pp. 170–189, IEEE Press, 1979.

    Google Scholar 

  6. Goguen, J. A., Jouannaud, J. and Meseguer, J. Operational Semantics for Order-sorted Algebra. Technical Report, SRI International, Menlo Park, CA, 1985.

    Google Scholar 

  7. Goguen, J. A., Thatcher, J. W. and Wagner, E. An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. Current Trends in Programming Methodology IV:80–149, 1978.

    Google Scholar 

  8. Knuth, D. E. and Bendix, P. Simple Word Problems in Universal Algebra. In Computation Problems in Abstract Algebra, Leech, J. (ed.), pp. 263–297, Pergamom Press, 1970.

    Google Scholar 

  9. Nilsson, N. J. Principles of Artificial Intelligence. Tioga Press, 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kesav V. Nori

Rights and permissions

Reprints and permissions

Copyright information

© 1986 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sridhar, S. (1986). An implementation of OBJ2: An object-oriented language for abstract program specification. In: Nori, K.V. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1986. Lecture Notes in Computer Science, vol 241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17179-7_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-17179-7_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17179-9

  • Online ISBN: 978-3-540-47239-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics