Functionally-Generalised MOQA Operations

https://doi.org/10.1016/j.entcs.2008.12.090Get rights and content
Under a Creative Commons license
open access

Abstract

The programming language MOQA was designed by Michel Schellekens in [Schellekens M.: Compositional Average-Case Analysis, Preprint, submitted to the Journal of ACM (2006), 78p.; M.P. Schellekens, A Modular Calculus for the Average Cost of Data Structuring, Springer book to appear (2008), 250 pp.] specifically to facilitate the average execution time analysis of its programs. MOQA is based on a special data structure and an associated suite of operations. This special data structure, said here as labeled partial orders (lpo), is a pair (P,) such that P=(X,) is a poset and :XL a strictly increasing bijection between X and a totally ordered set L. MOQA basic operations are defined on lpo's under some restrictions. These restrictions guarantee the main property of MOQA's operations, said here as Automatic Random Preservation. Random Preservation (RP) is a fundamental property used to calculate the average time of programs, opening the way to a (semi-)automation of this calculation in MOQA.

In the paper, we introduce functionally-generalised versions of some MOQA basic operations. Those versions are defined with more natural restrictions and in a more general way than the correspondent MOQA operations. As a consequence of their greater generality, they are not RP on all their domains in contrast to MOQA operations. Nevertheless, they have two good properties. The first one is that they have the intended semantics. For instance, the generalised split actually splits any lpo into two parts using a label as a pivot. The second one is that the subdomains on which they are RP are strictly bigger than the domains where MOQA basic operations are defined and RP. A tractable characterisation of those RP subdomains is an open problem and its solution would be an important step toward an implementation of the functionally-generalised operations as Automatic RP operations.

Keywords

Posets
Average Execution Time
Program Semantics
Data Structure Operations

Cited by (0)

1

Research supported by Science Foundation Ireland under Grant 02/IN.1/181