## Referential Opacity In Nondeterministic Data Refinement (1993)

Citations: | 8 - 0 self |

### BibTeX

@MISC{Qian93referentialopacity,

author = {Xiaolei Qian and Allen Goldberg},

title = {Referential Opacity In Nondeterministic Data Refinement},

year = {1993}

}

### OpenURL

### Abstract

Data refinement is the transformation in a program of one data type to another. With the obvious formalization of nondeterministic data types in equational logic however, many desirable nondeterministic data refinements are impossible to prove correct. Furthermore, it is difficult to have a monotonic notion of refinement. We propose an alternative formalization of nondeterministic data types, in which the requirement of referential transparency applies only to deterministic operators. We show how the above-mentioned problems can be solved with our approach. Categories and Subject Descriptions: D.2.4[Software Engineering]: Program Verification --- Correctness proofs; D.3.3[Programming Languages]: Language Constructs and Features --- Abstract data types; F.3.2[Logics and Meanings of Programs]: Semantics of Programming Languages --- Algebraic approaches to semantics General Terms: Languages, Theory, Verification Additional Key Words and Phrases: Algebraic Specification, Data Refinemen...

### Citations

475 |
Conditional rewriting logic as a unified model of concurrency
- Meseguer
- 1992
(Show Context)
Citation Context ...ndeterminism. There it was also suggested that a well-defined notion of refinement should be reflexive, transitive, and such that all constructs are monotonic with respect to it. Meseguer observed in =-=[8]-=- that term rewriting should not be formalized in equational logic for applications such as nondeterministic data types, concurrent systems, and object-oriented computation. The rest of the paper is or... |

273 |
An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types
- Goguen, Thatcher, et al.
- 1978
(Show Context)
Citation Context ...ed by formalizing the semantics of abstract data types by initial algebras[6], data type specifications by algebraic theories in equational logic[1], and (correct) data refinements by theory morphisms=-=[5, 10]-=-. Such formalization has the nice property that, assuming abstract data type A is refined to abstract data type B, replacing A by B in program P preserves the correctness of P [4]. Nondeterminism prov... |

142 | Toward formal development of programs from algebraic specifications: Parameterisation revisited
- Sannella, Sokolowski, et al.
- 1992
(Show Context)
Citation Context ...ed by formalizing the semantics of abstract data types by initial algebras[6], data type specifications by algebraic theories in equational logic[1], and (correct) data refinements by theory morphisms=-=[5, 10]-=-. Such formalization has the nice property that, assuming abstract data type A is refined to abstract data type B, replacing A by B in program P preserves the correctness of P [4]. Nondeterminism prov... |

112 | The algebraic specification of abstract data types - Guttag, Horning - 1978 |

72 |
The Specification of Computer Programs
- Turski, Maibaum
- 1987
(Show Context)
Citation Context ...ils of an implementation prematurely. The stepwise refinement of a specification to an implementation can be viewed as a process in which nondeterminism is gradually removed by making design decisions=-=[12]-=-. The semantics of nondeterministic data types has been formalized as multi-algebras[7, 9], which essentially avoids nondeterminism by encapsulating it through the medium of set construction. However,... |

41 |
Non-deterministic data types: Models and implementations
- Nipkow
- 1986
(Show Context)
Citation Context ...mplementation can be viewed as a process in which nondeterminism is gradually removed by making design decisions[12]. The semantics of nondeterministic data types has been formalized as multi-algebras=-=[7, 9]-=-, which essentially avoids nondeterminism by encapsulating it through the medium of set construction. However, the straightforward formulation of nondeterministic data type specifications as algebraic... |

25 | DTRE - A Semi-Automatic Transformation System
- Blaine, Goldberg
- 1991
(Show Context)
Citation Context ...terministic data type specifications as algebraic theories in equational logic makes many desirable data refinements impossible to prove correct. Consider for example the refinement of set to sequence=-=[3]-=-. It is desirable to refine equality of set not to equality of sequence but to an equivalence relation of sequence, in which sequences that are permutations of the same set are equivalent. Meanwhile, ... |

17 |
Referential transparency, definiteness and unfoldability
- Søndergaard, Sestoft
- 1989
(Show Context)
Citation Context ...0 [ S) =) choose(S 0 ). Because of referential transparency, they lead to choose(S) = choose(S 0 ), which is clearly undesirable. Referential transparency and related issues were studied in detail in =-=[11]-=-. It was recognized in [2] that one might have to give up referential transparency in order to adequately deal with nondeterminism. There it was also suggested that a well-defined notion of refinement... |

16 |
A mathematical approach to nondeterminism in data types
- Hesselink
- 1988
(Show Context)
Citation Context ...mplementation can be viewed as a process in which nondeterminism is gradually removed by making design decisions[12]. The semantics of nondeterministic data types has been formalized as multi-algebras=-=[7, 9]-=-, which essentially avoids nondeterminism by encapsulating it through the medium of set construction. However, the straightforward formulation of nondeterministic data type specifications as algebraic... |

11 |
Algebraic Implementations Preserve Program Correctness
- Broy, Moller, et al.
- 1986
(Show Context)
Citation Context ... theory morphisms[5, 10]. Such formalization has the nice property that, assuming abstract data type A is refined to abstract data type B, replacing A by B in program P preserves the correctness of P =-=[4]-=-. Nondeterminism provides a convenient vehicle to avoid specifying all details of an implementation prematurely. The stepwise refinement of a specification to an implementation can be viewed as a proc... |

6 |
The Algebraic Specification of Abstract Data Types," Acta Informatica 10
- Guttag, Horning
- 1978
(Show Context)
Citation Context ...Introduction Data refinement is the transformation in a program of one data type to another. Data refinement has been approached by formalizing the semantics of abstract data types by initial algebras=-=[6]-=-, data type specifications by algebraic theories in equational logic[1], and (correct) data refinements by theory morphisms[5, 10]. Such formalization has the nice property that, assuming abstract dat... |

4 |
editors. Algebraic system specification and development
- Bidoit, Kreowski, et al.
- 1991
(Show Context)
Citation Context ...data type to another. Data refinement has been approached by formalizing the semantics of abstract data types by initial algebras[6], data type specifications by algebraic theories in equational logic=-=[1]-=-, and (correct) data refinements by theory morphisms[5, 10]. Such formalization has the nice property that, assuming abstract data type A is refined to abstract data type B, replacing A by B in progra... |

1 |
A common basis for algorithmic specification and development
- Bird, Meetens, et al.
- 1987
(Show Context)
Citation Context ...ause of referential transparency, they lead to choose(S) = choose(S 0 ), which is clearly undesirable. Referential transparency and related issues were studied in detail in [11]. It was recognized in =-=[2]-=- that one might have to give up referential transparency in order to adequately deal with nondeterminism. There it was also suggested that a well-defined notion of refinement should be reflexive, tran... |