Results 1 -
4 of
4
Formal Objects in Type Theory Using Very Dependent Types
- In Foundations of Object Oriented Languages 3
, 1996
"... In this paper we present an extension to basic type theory to allow a uniform construction of abstract data types (ADTs) having many of the properties of objects, including abstraction, subtyping, and inheritance. The extension relies on allowing type dependencies for function types to range over ..."
Abstract
-
Cited by 27 (8 self)
- Add to MetaCart
In this paper we present an extension to basic type theory to allow a uniform construction of abstract data types (ADTs) having many of the properties of objects, including abstraction, subtyping, and inheritance. The extension relies on allowing type dependencies for function types to range over a well-founded domain. Using the propositions--as--types correspondence, abstract data types can be identified with logical theories, and proofs of the theories are the objects that inhabit the corresponding ADT. 1 Introduction In the past decade, there has been considerable progress in developing formal account of a theory of objects. One property of object oriented languages that make them popular is that they attack the problem of scale: all object oriented languages provide mechanisms for providing software modularity and reuse. In addition, the mechanisms are intuitive enough to be followed easily by novice programmers. During the same decade, the body of formal mathematics has be...
Object-Oriented Specification of Distributed Systems in the µ-Calculus and Maude
- ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE
, 1997
"... We refine an abstract property-oriented specification in the µ-calculus to a specification in Maude. As an intermediate step, we use a structured specification in the µ-calculus blended with propositions on states appropriate for object-oriented specification. We use the loose approach in refinement ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
We refine an abstract property-oriented specification in the µ-calculus to a specification in Maude. As an intermediate step, we use a structured specification in the µ-calculus blended with propositions on states appropriate for object-oriented specification. We use the loose approach in refinement and refine data types as well as behavior. Throughout, our example is the bounded buffer.
Modelling inheritance in an algebraic specification language
- IN JIANPING WU ETAL.,EDITOR,PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE FOR YOUNG COMPUTER SCIENTISTS, BEIJING
, 1993
"... This paper points at the retract problem that arises, when using subsorting in a not necessarily executable algebraic specification language. We showhow this problem can be circumvented in many important cases by the use of conditionally polymorphic functions. Further, we will see that this sorting ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This paper points at the retract problem that arises, when using subsorting in a not necessarily executable algebraic specification language. We showhow this problem can be circumvented in many important cases by the use of conditionally polymorphic functions. Further, we will see that this sorting facility is well-suited to model inheritance in a smart way. Wegive a simple example which demonstrates this approach in the speci cation language Spectrum.
A Universally Polymorphic Specification Language - A Brief Informal Introduction
, 1993
"... This paper first discusses the advantages of sorts in algebraic specification languages. It gives a brief introduction into polymorphism approaches used in functional programming languages to weaken the strength of traditional sort systems. We then sketch a universally polymorphic specification lang ..."
Abstract
- Add to MetaCart
This paper first discusses the advantages of sorts in algebraic specification languages. It gives a brief introduction into polymorphism approaches used in functional programming languages to weaken the strength of traditional sort systems. We then sketch a universally polymorphic specification language which combines all polymorphism concepts within one universal approach. The approach is based on qualified sorts which generalize the Haskell sort classes to n-ary sort predicates. To describe the properties of arbitrary sort predicates we use a separate Horn-Clause specification. In an introductory example we show how to model sort classes with our approach. A further example...

