Results 1 - 10
of
14
Towards an Algebraic Semantics for the Object Paradigm
- In Hartmut Ehrig and Fernando Orejas, editors, Proceedings, Tenth Workshop on Abstract Data Types
, 1994
"... This paper surveys our current state of knowledge (and ignorance) on the use of hidden sorted algebra as a foundation for the object paradigm. Our main goal is to support equational reasoning about properties of concurrent systems of objects, because of its simple and ecient mechanisation. We sho ..."
Abstract
-
Cited by 85 (34 self)
- Add to MetaCart
This paper surveys our current state of knowledge (and ignorance) on the use of hidden sorted algebra as a foundation for the object paradigm. Our main goal is to support equational reasoning about properties of concurrent systems of objects, because of its simple and ecient mechanisation. We show how equational speci cations can describe objects, inheritance and modules; our treatment of the latter topic emphasises the importance of reuse, and the r^ole of the so-called Satisfaction Condition. We then consider how to prove things about objects, how to unify the object and logic paradigms by using logical variables that range over objects, and how to connect objects into concurrent systems.
Little Theories
- Automated Deduction|CADE-11, volume 607 of Lecture Notes in Computer Science
, 1992
"... In the "little theories" version of the axiomatic method, different portions of mathematics are developed in various different formal axiomatic theories. Axiomatic theories may be related by inclusion or by theory interpretation. We argue that the little theories approach is a desirable way to forma ..."
Abstract
-
Cited by 42 (14 self)
- Add to MetaCart
In the "little theories" version of the axiomatic method, different portions of mathematics are developed in various different formal axiomatic theories. Axiomatic theories may be related by inclusion or by theory interpretation. We argue that the little theories approach is a desirable way to formalize mathematics, and we describe how imps, an Interactive Mathematical Proof System, supports it.
An Infrastructure for Intertheory Reasoning
- AUTOMATED DEDUCTION|CADE-17
, 2000
"... The little theories method, in which mathematical reasoning is distributed across a network of theories, is a powerful technique for describing and analyzing complex systems. This paper presents an infrastructure for intertheory reasoning that can support applications of the little theories meth ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
The little theories method, in which mathematical reasoning is distributed across a network of theories, is a powerful technique for describing and analyzing complex systems. This paper presents an infrastructure for intertheory reasoning that can support applications of the little theories method. The infrastructure includes machinery to store theories and theory interpretations, to store known theorems of a theory with the theory, and to make denitions in a theory by extending the theory "in place". The infrastructure is an extension of the intertheory infrastructure employed in the imps Interactive Mathematical Proof System.
Maude as a Metalanguage
, 1998
"... One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
One of the key goals of rewriting logic from its beginning has been to provide a semantic and logical framework in which many models of computation and languages can be naturally represented. There is by now very extensive evidence supporting the claim that rewriting logic is indeed a very flexible and simple logical and semantic framework. From a language design point of view the obvious question to ask is: how can a rewriting logic language best support logical and semantic framework applications, so that it becomes a metalanguage in which a very wide variety of logics and languages can be both semantically defined, and implemented? Our answer is: by being reflective. This paper discusses our latest language design and implementation work on Maude as a reflective metalanguage in which entire environments---including syntax definition, parsing, pretty printing, execution, and input/output---can be defined for a language or logic L of choice. 1
Proof Systems for Structured Specifications and Their Refinements
, 1999
"... Reasoning about specifications is one of the fundamental activities in the process of formal program development. This ranges from proving the consequences of a specification, during the prototyping or testing phase for a requirements speci cation, to proving the correctness of refinements (or imple ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
Reasoning about specifications is one of the fundamental activities in the process of formal program development. This ranges from proving the consequences of a specification, during the prototyping or testing phase for a requirements speci cation, to proving the correctness of refinements (or implementations) of specifications. The main proof techniques for algebraic specifications have their origin in equational Horn logic and term rewriting. These proof methods have been well studied in the case of nonstructured speci cations (see Chapters 9 and 10). For large systems of specifications built using the structuring operators of speci cation languages, relatively few proof techniques have been developed yet; for such proof systems, see [SB83, HST94, Wir91, Far92, Cen94, HWB97]. In this chapter we focus on proof systems designed particularly for modular specifications. The aim is to concentrate on the structuring concepts, while abstracting as much as possible from the par...
Metalevel Computation in Maude
, 1998
"... Maude's language design and implementation make systematic use of the fact that rewriting logic is reflective. This makes the metatheory of rewriting logic accessible to the user in a clear and principled way, and makes possible many advanced metaprogramming applications, including user-definable st ..."
Abstract
-
Cited by 11 (7 self)
- Add to MetaCart
Maude's language design and implementation make systematic use of the fact that rewriting logic is reflective. This makes the metatheory of rewriting logic accessible to the user in a clear and principled way, and makes possible many advanced metaprogramming applications, including user-definable strategy languages, language extensions by new module composition operations, development of theorem proving tools, and reifications of other languages and logics within rewriting logic. A naive implementation of reflection can be computationally very expensive. We explain the semantic principles and implementation techniques through which efficient ways of performing reflective computations are achieved in Maude through its predefined META-LEVEL module.
An Algebraic Framework For The Definition Of Compositional Semantics Of Normal Logic Programs
, 1994
"... ion) Given two normal programs P1 and P2, the following three facts are equivalent: (i) Sem(P 1) = Sem(P 2) (ii) For every program P , Sem(P [ P 1) = Sem(P [ P 2) (iii) For every program P , MP[P1 = MP[P2 . Proof. It is enough to prove that (iii) implies (i), because the other implications are d ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
ion) Given two normal programs P1 and P2, the following three facts are equivalent: (i) Sem(P 1) = Sem(P 2) (ii) For every program P , Sem(P [ P 1) = Sem(P [ P 2) (iii) For every program P , MP[P1 = MP[P2 . Proof. It is enough to prove that (iii) implies (i), because the other implications are direct consequences of lemma 3.1 and theorem 5.1. Let us suppose that there exists a model A in Mod(; ;) such that F 1(A) 6= F 2(A), where F1 = Sem(P 1) and F2 = Sem(P 2). Then, we will show that there exists a program P such that MP[P1 6= MP[P2 . Let j 2 IN be the least layer such that F 1(A) + j 6= F 2(A) + j or F 1(A) j 6= F 2(A) j . Then we can consider two cases. First, if there exists the given level k 2 IN , and F 1(A) + j 6= F 2(A) + j , for some j < k, then F 1(B) 6= F 2(B) for all models B 2 Mod(; ;) such that A + j = B + i and A j 1 = B i 1 for some layer i. This is the case for the model B such that, for all i 2 IN : B + i = A + j B i = A j 1 In any other cas...
Maude's Module Algebra
, 2000
"... The reflective capabilities of rewriting logic and their efficient implementation in the Maude language can be exploited to endow a reflective language like Maude with a module algebra in which structured theories can be combined and transformed by means of a rich collection of module operations. We ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
The reflective capabilities of rewriting logic and their efficient implementation in the Maude language can be exploited to endow a reflective language like Maude with a module algebra in which structured theories can be combined and transformed by means of a rich collection of module operations. We have followed this approach and we have used the specification of such a module algebra as its implementation, including a user interface and an execution environment for it. The high level at which the specification of the module algebra has been given makes this approach particularly attractive when compared to conventional implementations, because of its shorter development time and the greater flexibility, maintainability, and extensibility that it affords. We explain the general principles of the reflective design of the module algebra and explain the categorical semantics of parameterized theories, modules and views and their instantiation, and the reflective algebraic specification of the different module and view operations.
The Maude Specification of Full Maude
, 1999
"... This document describes the executable formal specification of Full Maude -- a version of Maude supporting a rich module algebra with module hierarchies, parameterization, views, theories, module expressions, and object-oriented modules -- which is in fact its implementation in the Maude 1.00 system ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
This document describes the executable formal specification of Full Maude -- a version of Maude supporting a rich module algebra with module hierarchies, parameterization, views, theories, module expressions, and object-oriented modules -- which is in fact its implementation in the Maude 1.00 system
CafeOBJ: Logical Foundations and Methodologies
- Computing and Informatics
, 2003
"... CafeOBJ is an executable industrial strength multi-logic algebraic speci cation language which is a modern successor of OBJ and incorporates several new algebraic speci cation paradigms. ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
CafeOBJ is an executable industrial strength multi-logic algebraic speci cation language which is a modern successor of OBJ and incorporates several new algebraic speci cation paradigms.

