Object protocols as functional parsers

6Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.
Get full text

Abstract

A service definition is an specification of the behavior of a software component. It provides the interface between the users of an object and its (hidden) implementation. A protocol can be a part of a service definition. It captures the conditions under which interface operations can be invoked. This is of use for the designers of clients, but also for implementers of the service, at least if the protocol mechanism provides automatic (static or dynamic) acceptability checking of invocations or messages. Existing protocol formalisms are mostly based on finite state machines that describe legal orderings of messages. This is too limited, however, to model more complex services or to handle conditions that go beyond the ordering (such as accesscontrol or time-dependencies) without referring to a service implementation. In this paper we explore a grammar-based approach to protocol definition, i.e. we define protocols as non-deterministic grammars extended with provisions for parallellism. The resulting protocols not only define legal message sequences but can also impose context-sensitive constraints on properties of messages, like its sender or a time stamp. Protocotols are truly abstract, i.e. independent of the implementation of a service. Since we want to investigate the kinds of constructs needed in specifying protocols we do not introduce a new notation, but instead express protocols as parsers written in a lazy functional language using a technique called combinator parsing. Besides giving a complete picture of the semantics of the constructs this also allows us to show how dynamic protocol checking can be provided. The approach is illustrated through several examples and its potential and limitations are discussed.

Cite

CITATION STYLE

APA

Florijn, G. (1995). Object protocols as functional parsers. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 952, pp. 351–373). Springer Verlag. https://doi.org/10.1007/3-540-49538-x_17

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free