Design and Implementation of Triveni: A Process-algebraic API for Threads + Events

01 January 1998

New Image

Current programming practice with threads does not directly support compositional software design. This paper aims to solve this problem and enhance the practice of threads programming with ideas from the theory of concurrency. We present Triveni, a framework and API for integrating threads and events. Design: Triveni is based on an algebra, including preemption combinators, of processes. Triveni is compatible with existing threads standards, such as Pthreads and Java threads; Triveni is also compatible with t he event models structured on the Observer pattern. Implementation: We describe the software architecture and algorithms underlying a concrete design and implementation of Triveni in Java using Java's thread and event models. This environment includes specification-based testing of safety properties.