Ceramic tiling viewer
Observing and interacting with multi-thread programs can be difficult for the programmer. Simple input/output (I/O) can become a nightmare when multiple threads read and write simultaneously. A solution would separate the I/O streams of the multiple threads, windowing techniques can achieve this. This honours project report presents the design and implementation of Ceramic, a development tool which assists in observing and interacting with multi-thread programs. Multiple viewers (windows) can be opened to control I/0 streams of multiple threads. Ceramic has an object-oriented design based on design patterns captured from Mossenbock's OberonO viewer system. Another feature are the hierarchical tiling viewers which are a hybrid of Elastic Windows developed by Kandogan & Shneiderman. Tiling viewers have some significant advantages over overlapping windows which Ceramic has exploited.