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}
}
  • K. FutatsugiJ. Goguen J. Meseguer
  • Published 1 January 1985
  • Computer Science
  • Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
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… 

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

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 ?

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

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

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.

An Implementation of Narrowing

THE REWRITE RULE MACHINE, 1988

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

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

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

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

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

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

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

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

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

  • J. Goguen
  • Computer Science
    IEEE 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

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

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

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.

Equations and rewrite rules: a survey

Putting Theories Together to Make Specifications

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.
...