O. Nierstrasz. Proceedings of the 8th ACM Conference on Object-Oriented Programming
Systems, Languages and Applications (OOPSLA-93), volume 28, 10 of ACM SIGPLAN Notices, page 1--15. (October 1993)
Abstract
Previous work on type-theoretic foundations for object-oriented
programming languages has mostly focussed on applying or extending
functional type theory to functional öbjects." This approach,
while benefitting from a vast body of existing literature, has the
disadvantage of dealing with state change either in a roundabout way
or not at all, and completely side-stepping issues of concurrency. In
particular, dynamic issues of non-uniform service availability and
conformance to protocols are not addressed by functional types. We
propose a new type framework that characterizes objects as regular
(finite state) processes that provide guarantees of service along
public channels. We also propose an original notion of subtyping for
regular types that extends Wegner and Zdonik's "principle of
substitutability" to non-uniform service availability, and we relate
it to known process equivalences. Finally, we formalize what it means
to "satisfy a client's expectations," and we show how regular
types can be used to tell when sequential or concurrent clients are
satisfied. NB: a revised version is available by ftp.
%0 Conference Paper
%1 nierstrasz1993a
%A Nierstrasz, Oscar
%B Proceedings of the 8th ACM Conference on Object-Oriented Programming
Systems, Languages and Applications (OOPSLA-93)
%D 1993
%K osg-ftp types oopsla93 rtao olit-obc vo93 equivalence pcalc
%P 1--15
%T Regular Types for Active Objects
%V 28, 10
%X Previous work on type-theoretic foundations for object-oriented
programming languages has mostly focussed on applying or extending
functional type theory to functional öbjects." This approach,
while benefitting from a vast body of existing literature, has the
disadvantage of dealing with state change either in a roundabout way
or not at all, and completely side-stepping issues of concurrency. In
particular, dynamic issues of non-uniform service availability and
conformance to protocols are not addressed by functional types. We
propose a new type framework that characterizes objects as regular
(finite state) processes that provide guarantees of service along
public channels. We also propose an original notion of subtyping for
regular types that extends Wegner and Zdonik's "principle of
substitutability" to non-uniform service availability, and we relate
it to known process equivalences. Finally, we formalize what it means
to "satisfy a client's expectations," and we show how regular
types can be used to tell when sequential or concurrent clients are
satisfied. NB: a revised version is available by ftp.
@inproceedings{nierstrasz1993a,
abstract = {Previous work on type-theoretic foundations for object-oriented
programming languages has mostly focussed on applying or extending
functional type theory to functional {"}objects.{"} This approach,
while benefitting from a vast body of existing literature, has the
disadvantage of dealing with state change either in a roundabout way
or not at all, and completely side-stepping issues of concurrency. In
particular, dynamic issues of non-uniform service availability and
conformance to protocols are not addressed by functional types. We
propose a new type framework that characterizes objects as regular
(finite state) processes that provide guarantees of service along
public channels. We also propose an original notion of subtyping for
regular types that extends Wegner and Zdonik's {"}principle of
substitutability{"} to non-uniform service availability, and we relate
it to known process equivalences. Finally, we formalize what it means
to {"}satisfy a client's expectations,{"} and we show how regular
types can be used to tell when sequential or concurrent clients are
satisfied. [NB: a revised version is available by ftp.]},
added-at = {2006-03-09T08:15:35.000+0100},
author = {Nierstrasz, Oscar},
biburl = {https://www.bibsonomy.org/bibtex/27ee76294f11a49bd80facb93b7fe9233/snowball},
booktitle = {Proceedings of the 8th {ACM} Conference on Object-Oriented Programming
Systems, Languages and Applications ({OOPSLA}-93)},
interhash = {8bf6e2f2a4143850563c028150a48b29},
intrahash = {7ee76294f11a49bd80facb93b7fe9233},
keywords = {osg-ftp types oopsla93 rtao olit-obc vo93 equivalence pcalc},
month = {October},
myurl = {ftp://ftp.iam.unibe.ch/pub/scg/Papers/regularTypes.ps.gz},
pages = {1--15},
series = {ACM SIGPLAN Notices},
timestamp = {2006-03-09T08:15:35.000+0100},
title = {Regular Types for Active Objects},
volume = {28, 10},
year = 1993
}