Trustworthy Systems

An intensional engine on L4


Vincent Jayawardene

    School of Computer Science and Engineering
    Sydney 2052, Australia


Title: An Intensional Engine on L4 Author: Vincent Jayawardene School of Computer Science and Engineering, The University of New South Wales, Sydney 2052, Australia, Abstract: Intensional programming is a paradigm of programming that breaks away from the usual imperative computational model. An intensional program is based on intensional logic where the value of an expression depends on the context in which it is computed. The most common implementation for intensional programming is a demand-driven computational system. Demands in an intensional system are similar to queries in a database system, except instead of requesting values, an intensional demand requests a value computed in a specified context. To facilitate this system an intensional engine is required to process demands and compute the results. The advantage to this system is that multiple demands can be computed in parallel. However implementations of intensional engines suffer in efficiency because the overhead in propagating a large number of demands around the engine far outweighs any benefit gained from parallel execution. The aim of this thesis is to implement an intensional engine on top of the L4 micro-kernel. As L4 has very low overhead for thread and inter process communication operations, the overhead in managing demands in the engine should be kept to a minimum. The implementation of the L4 micro-kernel used for the engine only runs on a single-processor system which will prevents any parallel processing. This thesis is supposed to be a stepping stone for implementation of the engine on multi-processor versions of L4 or potentially on other distributed environments with very low communication overhead.

BibTeX Entry

    address          = {Sydney, Australia},
    author           = {Vincent Jayawardene},
    month            = nov,
    note             = {Available from publications page at \url{}},
    paperUrl         = {},
    school           = {School of Computer Science and Engineering},
    title            = {An Intensional Engine on {L4}},
    year             = {1999}