@MISC{Sooriamurthi95literateengines, author = {Raja Sooriamurthi}, title = {Literate Engines in Lisp}, year = {1995} }
Bookmark
OpenURL
Abstract
An engine is a programming language abstraction that implements timed preemption. Engines form a useful mechanism where bounded computation is needed. We describe an implementation of engines in Common Lisp and illustrate its functionality. We conclude with a discussion on how engines are being used in an ongoing project about goal-driven explanation. This paper is also an exercise in writing a literate program in Lisp. 1 Introduction The need for time bounded computation arises in several areas e.g., process scheduling in operating systems, heuristic search in AI, simulation. Primarily the ability to preempt a process from running and to be able to resume that process at a later time have been capabilities relegated to an operating system. In 1984 Haynes and Friedman [7, 8] introduced a programming language abstraction termed engines 1 for timed preemption. Engines allow a process to be preempted after a prespecified amount of computation has occurred. They also provide the ability...