Documents

GNU Modula-2 Manual

GNU Modula-2 is one of the many frontends for GCC. The compiler implements the PIM2, PIM3, PIM4 and ISO dialects of Modula-2 (and a number of GNU extensions).

PGE 3.0 Documentation

PGE is a Predictive physics Game Engine implemented in Python, Modula-2 and C++. The engine is accessible as a Python module and it can be integrated with PyGame.

PGE allows you to create an object and give it physical attributes and PyGame will draw the image the object will behave as it would in the real world. Users can interfere with the object using mouse and keyboard input and the Python program can also modify the PGE world dynamically. The PGE Python API is powerful enough to implement breakout in about 2 hours and the Python interface allows programmers to define call backs to occur when objects collide and define timer functions to execute in the future.

Gaius Mulley PhD Thesis

The performance of realtime systems is limited by hardware constraints, software synchronisation and the quality of code generated by a compiler. This thesis is interested in realtime multiprocessor performance prediction. A design tool has been designed and constructed to investigate the performance of realtime systems and consists of a Modula-2 compiler and a simulator. The simulation models an executive with explicit processes, interrupts,direct memory access and process synchronisation. The simulator also models the interaction between hardware and software. The executive processes may be distributed between different physical processors and thus multiprocessor realtime systems can be examined. Processes can initially be described in a form of Modula-2 and refined into real implementation software.

The correspondence between next event simulation and the operation of a multitasking executive is exploited to generate an efficient implementation of the systems simulator which allows extensive performance analysis of the components within the system. A Model Processing Element, MPE is defined which can be replicated to form a multiprocessor model. Each MPE has its own processor, memory, devices and two machines containing conventional microprocessors have been mapped onto it. Software is described, at various levels of detail, in Modula-2 and the hardware is described in a system configuration language. Software workloads, consisting of functionality and execution costs, are generated automatically using an adapted compiler.

The realtime system design tool was validated, firstly against a mathematical model and secondly against an existing and extensively measured realtime system. The design tool, after validation, was used to explore novel protocol engine design. The protocol engine was designed using a top down stepwise refinement strategy. These results within this particular experiment show that system bottlenecks were only discovered when the hardware/software interaction was closely modelled.

This system design tool can be used to closely examine the performance of a variety of realtime systems. The tool allows the designer to explore the consequences of a design decision from process description down to hardware configuration.

3D Human Detection Technical Paper

The algorithm presented in this paper is designed to detect and track human movement in real-time from 3D footage. Techniques are discussed that hold potential for a tracking system when combined with stereoscopic video capture using the extra depth included in the footage. This information allows for the production of a robust and reliable system.

One of the major issues associated with this problem is computational expense. Real-time tracking systems have been designed that work off a single image for tasks such as video surveillance. The different images will be recorded as if they are eyes, at the same distance apart from one another approximately 6-7cm. In order to use 3D imagery two separate images need to be analysed, combined and the human motion detected and extracted. The greatest benefit of this system would be the extra image of information to which conventional systems do not have access such as the benefit of depth perception in the overlapping field of view from the cameras.

In this paper, we describe the motivation behind using 3D footage and the technical complexity of the problem. The system is shown tracking a human in a scene indoors and outdoors with video output from the system of the detected regions. This first prototype created here has further uses in the field of motion capture, computer gaming and augmented reality.

Bertie Muller PhD thesis

Linear Logic Based Calculi for Object Petri Nets

The theory of Petri nets has evolved in the past decades and has proved to be of great value in various fields of software development. Since the original net formalism emerged from Carl-Adam Petri’s work on communication and automata ([Pet62]) in the nineteen-sixties many flavours of extensions have been developed. Amongst these are predicate/transition nets ([GL79]), coloured Petri nets ([Jen79],[Jen80],[Jen81a],[Jen81b]), and hierarchical Petri nets ([Feh90],[Feh91],[Feh92],[Feh93],[HJS89], [HJS91]), to name but the most prominent examples of high-level nets. The emergence of object-oriented modular techniques in software design has only recently had a great impact on further extensions to the standard models of high-level Petri nets.
Petri nets are being used successfully for the specification and analysis of a diverse range of problems. The theory of Petri nets has had direct impact on computing and information sciences but the scope in which applications of the theory can be found is not limited to these. In fact there are many other disciplines that are influenced by Petri net theory in some way or another.

The design and analysis of parallel and distributed algorithms has benefited a lot from the research in Petri nets. The basic model of place/transition nets is well-studied, so that there is a wealth of results and techniques available. More recent development has shown that this basic model — even though it is well-understood — is lacking in support essential for the design of complex systems. This has led to some con- servative extensions of the basic model. Further high-level concepts have been added since, so that we are faced by an overwhelming diversity of net concepts.

The other main ingredient in this thesis is Linear Logic. Introduced in 1987 ([Gir87]) it has won a small but steadily growing group of admirers over the past decade, partly due to the beauty of the formalism and partly due to its usefulness in a variety of fields. Applications of Linear Logic can be found in areas like proof theory — its origin —, linguistics (e.g. [Hod92]), category theory (e.g. [See89], [Bar91]), and the theory of computation (e.g. [Abr93], [Kan94]), to name but a few.

Linear Logic has a close resemblance to Petri nets in that it has connectives that can handle resources in the same manner as ordinary Petri nets do. In a simplistic attempt to characterize Linear Logic, it can be described as allowing arguments over multisets, while classical logic ar- guments range over sets.
We try to mingle the two formalisms, defining Linear Logic Petri nets as a new formalism, allowing the study of different object Petri net formalisms in a uniform framework.

Andy Weller PhD Thesis

The PhD thesis of Dr Andy Weller, entitled “The Semi-Automated Classification of Sedimentary Organic Matter and Dinoflagellate Cysts in Palynological Preparations”.

Sam Kemp PhD Thesis

The PhD Thesis of Dr Samuel Kemp, entitled “Gamma Test Analysis Tools For Non-Linear Time Series”.

Paul Jarvis PhD Thesis

The PhD Thesis of Dr Paul Jarvis, entitled “Determining Geographical Causal Relationships through the Development of Spatial Cluster Detection and Feature Selection Techniques”.

Ian Wilson PhD Thesis

The PhD Thesis of Dr Ian Wilson, entitled “The Application of Artificial Intelligence Techniques to the Deep-Sea Container-Ship Cargo Stowage Problem”.