# Principles of OBJ2

@article{Futatsugi1985PrinciplesOO, title={Principles of OBJ2}, author={Kokichi Futatsugi and Joseph A. Goguen and Jean-Pierre Jouannaud and Jos{\'e} Meseguer}, journal={Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages}, year={1985} }

0~12 is a functional programming language with an underlying formal semantics that is based upon equational logic, and an oprtationnl semantics that is based upon rewrite rules. Four clsssrs of design principles for 01352 ate discussed briefly in this inttoduct,ion, and then in mote detail brlnw: (1) motlulntizntion and patnmcteriantion; (2) subsorts; (3) implcmcntnt.ion IcBchniquc>s; and (4) inlrtaction and flexibility. WC also lrace C)II.l history, current shtus, and future plans, and give n…

## 570 Citations

### IS-RR-96-0024 S 1 Logical Semantics for CafeOBJ

- Computer Science
- 1996

This document presents the semantics of CafeOBJ system and language, a succesor of the famous algebraic specification and programming language OBJ but adding several new paradigms to the traditional OBJ language, such as specification of concurrent systems, object-orientation, and behavioural specification.

### A transformation for implementing on-demandstrategy annotations ?

- Computer Science
- 2007

This paper introduces a program transformation which can be computed automatically, in such a way that the use of on-demand strategy annotations becomes possible for programs which are then correctly executed in typical OBJ interpreters.

### Software Engineering with OBJ

- Computer ScienceAdvances in Formal Methods
- 2000

This is an introduction to the philosophy and use of OBJ, emphasizing its operational semantics, with aspects of its history and its logical semantics, and argues that first-order parameterized programming includes much of the power of higher-order programming, in a form that is often more convenient.

### An Introduction to OBJ 3

- Computer ScienceCTRS
- 1987

OBJ 3 is a new implementation of the OBJ language, with a new efficient operational semantics based on order-sorted term-rewriting, and is a wide-spectrum language that elegantly integrates coding, specification and design into a single framework.

### THE REWRITE RULE MACHINE, 1988

- Computer Science
- 1989

The Rewrite Rule Machine (RRM) has an innovative m~ sively parallel architecture that combines fine-grain SIMD computation with (two levels of) coarse-grain MIMD computation. This paper de 6Cribes…

### On the Operational Semantics of the Algebraic and Logic Programming Language LPG

- Computer ScienceCOMPASS/ADT
- 1994

This paper investigates such a narrowing-based algorithm for solving equations and disequations and gives new sufficient conditions that ensure the completeness of narrowing strategies, in presence of conditional term rewrite systems.

### Semantics of programs with strategy

- Computer Science
- 2003

It is shown that context-sensitive rewriting strategies provide an appropriate framework for mod-eling strategies and conditions and techniques guaranteeing correctness and completeness of computations regarding the usual semantics: head-normalization, normalization, functional evaluation, and innnitary normalization.

### Design Strategies for Rewrite Rules

- Computer ScienceCTRS
- 1990

This work proposes the concepts of under- and over-specification, determine sufficient and/or necessary conditions to avoid them, show how to obtain these conditions in a constructive way, and relate them to a number of desirable properties which have appeared in the literature.

### Extensions and foundations of object-oriented programming

- Computer ScienceOOPWORK '86
- 1986

This paper has three major objectives: (i) to provide several new features for object-oriented programming (OOP); (ii) t o p rovide a rigorous logical semantics for OOP; and (iii) to unify OOP with…

## References

SHOWING 1-10 OF 60 REFERENCES

### Equality, Types, Modules, and (Why not ?) Generics for Logic Programming

- Computer ScienceJ. Log. Program.
- 1984

### On the Theory of Specification, Implementation, and Parametrization of Abstract Data Types

- MathematicsJACM
- 1982

The imtlal algebra approach is adopted as providing an appropriate semantics for spec~ficauons, and the effects of the present concepts and results on the initial algebras are studied.

### Pattern Matching in Trees

- Computer ScienceJACM
- 1982

Five new techniques for tree pattern matching are presented, analyzed for time and space complexity, and compared with previously known methods.

### ALGEBRAS, THEORIES AND FREENESS: AN INTRODUCTION FOR COMPUTER SCIENTISTS

- Computer Science
- 1982

In the last ten years or so a lot of algebraic ideas have wormed their way into Computer Science, particularly in work connected with correctness of compilers, with abstract data types and with…

### Parameterized Programming

- Computer ScienceIEEE Transactions on Software Engineering
- 1984

Three new ideas that seem especially useful in supporting parameterized programming are introduced: theories, which declare global properties of program modules and interfaces; views, which connect theories with program modules in an elegant way; and module expressions, a kind of general structured program transformation which produces new modules by modifying and combining existing modules.

### Completion of a Set of Rules Modulo a Set of Equations

- MathematicsSIAM J. Comput.
- 1986

The Church–Rosser property is proved decidable for a very general reduction relation which may take into account the left-linearity of rules for efficiency reasons, under the only assumption of existence of a complete and finite unification algorithm for the underlying equational theory, whose congruence classes are assumed to be finite.

### Algebraic Denotational Semantics Using Parameterized Abstract Modules

- Computer ScienceICFPC
- 1981

This paper describes a method for giving structured algebraic denotational definitions of programming language semantics. The basic idea is to use parameterized abstract data types to construct a…

### Universal Realization, Persistent Interconnection and Implementation of Abstract Modules

- Computer ScienceICALP
- 1982

The approach clarifies the essential difference between data abstraction and object abstraction and stresses the connection of the behavior of objects with sequences of messages while maintaining the essence of state as an overt but completely abstract entity.

### Putting Theories Together to Make Specifications

- Computer ScienceIJCAI
- 1977

The present paper sets forth in an informal way the attempts to clarify and generalise the above methods of building up programs in terms of abstract data structures, which derive from the work on theories.