Go to main content

School of Computer Science Intranet

APT research areas

Discover our main research areas

A Framework for the Emulation of Windowing Systems

Daniel Owen


The aim of this research is to determine whether the techniques used in the area of modern operating system design for the construction of flexible/customisable operating systems, can be applied with equal success to the area of windowing system emulation. The technique believed to provide the greatest benefit is the separation of policy and mechanism. Policy describes what is to be done, whilst mechanism refers to the tools used to implement the policies.

Many of the emulation systems that currently exist are fragile, with restricted functionality providing support to only a limited number of applications. Furthermore the majority only provide a static �ook and feel� which means applications are forced into a particular appearance and behaviour.

A framework was constructed that provides a structure from which emulation systems can be constructed. It makes use of the techniques found in modern operating system design with the aim of overcoming many, if not all, of the drawbacks found in existing systems.

Once the framework had been designed an example implementation was constructed to validate the benefits of the framework. The example implementation was built on the X Window system, and emulates applications written for the XView, Athena, and Motif toolkits.

It is concluded that the techniques used in modern operating system design greatly aid in the construction of windowing emulation software. The complexity in building the windowing software was found to be substantially reduced compared to existing toolkits. Furthermore through the replacement of policy modules it was possible for an applications��ook and feel�to be altered. The only drawback with the system was performance, which was slower than native. However the implemented system was a prototype and with further work it is believed that performance could be made comparable to the native windowing software.