The MOQA Language
In this chapter we provide the specifications for theMOQAlanguage. The intention is to sketch in sufficient detail the main concepts of the language as opposed to a strict and exhaustive formal development. The language specifications suffice to develop the examples considered in Chapters 8 and 9.
Note that MOQAis a domain specific language. It shares its restrictive nature with current languages aimed at automating average-case timing, including [Coh74, Weg 75, Ram96, FSZ89, FSZ91].MOQA’s distinctive feature is that it enables one to implement algorithms built from randomness preserving operations over abstract data types, which supports its modularity. MOQAcan be interpreted as a suite of purposely designed operations aimed at facilitating average time analysis.
Most languages for automated average-case analysis can not incorporate traditional data structures, such as lists, binary search trees and heaps, in a natural way and hence stay quite removed from traditional programming practice. TheMOQAlanguage, though still restricted in nature, aims at incorporating traditional data structures and provides a new basis to support the development of static average-case analysis tools, where its main distinctive feature is the incorporation of the notion of randomness preserving operations to support compositionality.
KeywordsPartial Order Conditional Statement Recursive Call Random Structure Boolean Expression
Unable to display preview. Download preview PDF.