CMU-CS-90-158
Computer Science Department
School of Computer Science, Carnegie Mellon University



CMU-CS-90-158

GLINDA: Natural Language Text Generation in the Oz Interactive Fiction Project

Mark Kantrowitz

July 1990

CMU-CS-90-158.ps

Keywords:


A concurrent object is a data structure shared by concurrent processes. Since proving correctness of an implementation of a concurrent object can be a daunting task, we aim to provide users with a library of "verified" implementations. Users are then freed from having to design, implement, and verify commonly-used abstractions.

This paper presents a library of concurrent objects of different data types: FIFO queues, priority queues, semiqueues, stuttering queues, sets, multiple sets, and registers. For each different kind of concurrent object, we provide a (sequential) specification written in Larch, an implementation in C, and a proof of correctness. We use linearizability as our basic correctness condition.

22 pages


Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by reports@cs.cmu.edu