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.