H ? « »

Language peer sets for OBJ:
United States
United States/1976
Designed 1976
1970s languages
Fourth generation
High Cold War

OBJ(ID:728/obj002)

alternate simple view
Country: United States
Designed 1976
Published: 1976


Joseph Goguen 1976. A family of declarative "ultra high level" languages. Abstract types, generic modules, subsorts (subtypes with multiple inheritance), pattern-matching modulo equations, E-strategies (user control over laziness), module expressions (for combining modules), theories and views (for describing module interfaces). For the massively parallel RRM (Rewrite Rule Machine).

OBJ arose around 1976 as an executable formal notation for abstract data types with subsorts. Initial algebra semantics is executed by interpreting equations as rewrite rules.

OBJ can be considered an implementation of Clear for the conditional order-sorted equational institution, since it supports both initial and loose semantics, as well as powerful generic modules and module inheritance; OBJ also makes explicit and extends the notion of module expression which was implicit in Clear. Viewed as a programming language, OBJ is first order and purely functional. The style of programming that results from the systematic use of generic modules and module expressions is called parameterized programming


People:
Structures:
Related languages
CLEAR OBJ   Evolution of
OBJ ABEL   Incorporated some features of
OBJ MC-OBJ   Interpreter for
OBJ OBJ0   Implementation

References:
  • Goguen, J.A. (1976) Goguen, J.A. "Higher-Order Functions Considered Unnecessary for Higher-Order Programming", in Research Topics in Functional Programming. Extract: Some History Abstract Extract: Introduction Extract: Parameterized Programming Extract: Aspects of OBJ
  • Joseph Goguen. (1979) Joseph Goguen. "Abstract errors for abstract data types"
          in IFIP Working Conference, 1977 Formal Description o (1978) IFIP Working Conference, 1977 Formal Description of Programming Concepts, North-Holland Pub. Co. 1978
  • Goguen, J. Meseguer, J. and Plaisted, D. (1982) Goguen, J. Meseguer, J. and Plaisted, D. "Programming with parametrized abstract objects in OBJ"
          in Theory and Practice of Software Technology, edited (1982) Theory and Practice of Software Technology, edited by D. Ferrari, M. Bolognani, and J. Goguen, North-Holland, 1982
  • Goguen, J. and J. Meseguer, (1984) Goguen, J. and J. Meseguer, "Equality, types, modules and generics for logic programming," Technical Report No. 5, Center for the Study of Language and Information (CSLI), Stanford University, 1984.
          in Theory and Practice of Software Technology, edited (1982) Theory and Practice of Software Technology, edited by D. Ferrari, M. Bolognani, and J. Goguen, North-Holland, 1982
  • Malachi, Yonathan; Manna, Zohar and Waldinger, Ric (1984) Malachi, Yonathan; Manna, Zohar and Waldinger, Richard "TABLOG: The deductive tableau programming language" Abstract Extract: Introduction Extract: Introduction
          in [ACM] (1984) [ACM] Logic and Functional Programming, 1984
  • Goguen, Joseph and Joseph Tardo. (1985) Goguen, Joseph and Joseph Tardo. "An introduction to OBJ: A language for writing and testing software specifications"
          in (1985) Zelkowitz, Marvin (ed) Specification of Reliable Software, IEEE, 1979.
  • Joseph Goguen. (1989) Joseph Goguen. "OBJ as a theorem prover, with application to hardware verification". pp218-267
          in Subramanyan, V.P. and Birtwhistle, Graham [eds], (1989) Subramanyan, V.P. and Birtwhistle, Graham [eds], "Current Trends in Hardware Verification and Automated Theorem Proving" Springer, 1989.
  • J.A. Goguen, D. Coleman and R. Gallimore (1992) J.A. Goguen, D. Coleman and R. Gallimore "Applications of Algebraic Specification using OBJ", Cambridge Press, 1992
          in Subramanyan, V.P. and Birtwhistle, Graham [eds], (1989) Subramanyan, V.P. and Birtwhistle, Graham [eds], "Current Trends in Hardware Verification and Automated Theorem Proving" Springer, 1989.
  • Goguen, Joseph Malcolm, Grant (1996) Goguen, Joseph Malcolm, Grant "Algebraic Semantics of Imperative Programs" (Foundations of Computing) by CIT Press - Foundations of Computing 1996 Abstract
          in Subramanyan, V.P. and Birtwhistle, Graham [eds], (1989) Subramanyan, V.P. and Birtwhistle, Graham [eds], "Current Trends in Hardware Verification and Automated Theorem Proving" Springer, 1989.
  • Cerioli et al (1997) Cerioli, Maura; Gogolla, Martin; Kirchner, Helene; Bruckner, Bernd Krieg; Qian, Zhenyu; Wolf, Markus "Algebraic System Specification and Development - Survey and Annotated Bibliography" Second Edition Compass Group Bremen 1997 Abstract ps Extract: OBJ Extract:
          in Subramanyan, V.P. and Birtwhistle, Graham [eds], (1989) Subramanyan, V.P. and Birtwhistle, Graham [eds], "Current Trends in Hardware Verification and Automated Theorem Proving" Springer, 1989.
  • Skillicorn, David B. and Talia, Domenico (1998) Skillicorn, David B. and Talia, Domenico "Models and languages for parallel computation" pp123-169
          in [ACM] (1998) [ACM] ACM Computing Surveys (CSUR) 30(2) June 1998
  • Futatsugi, K. (1999) Futatsugi, K. ; J.A. Goguen, J. Meseguer (Eds.), OBJ/CafeOBJ/Maude Workshop at Formal Methods '99: Formal Specification, Proof, and Applications, Theta, Bucharest, 1999
          in [ACM] (1998) [ACM] ACM Computing Surveys (CSUR) 30(2) June 1998
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder