Browsing by Author "MacGregor, Ken"
Now showing 1 - 20 of 21
Results Per Page
Sort Options
- ItemOpen AccessThe development of an expert system shell with a mixed knowledge representation, explicit control of reasoning and a truth maintenance system(1988) Jacobson, Guy; MacGregor, KenThis thesis concentrates on several important issues in expert system research, namely - representation of knowledge - control of reasoning - implementation of non-monotonic logics via truth maintenance systems. There are three parts to this thesis. PART1 covers the background research in the above mentioned topics. PART2 discusses the WISE system and the way in which research from PART1 was applied to the development of the WISE shell. PART3 considers the features of other expert system shells.
- ItemOpen AccessA distributed computing environment (DCE) based object request broker(1996) Van der Vlugt, Anique; MacGregor, KenObject oriented technology has moved beyond being a tool for design and programming and is now being used to implement enterprise wide computer systems. Also, there has been a move from centralised mainframe systems to distributed computing due to the advent of more powerful workstations and faster, more reliable networks. The integration of object oriented technology and distributed computing is becoming a generally accepted method for implementing networked computer solutions. The purpose of the research presented in this thesis is to investigate how the evolving object oriented technologies can build upon the current distributed computing technology by using there underlying infrastructure and then to implement a CORBA compliant distributed Object Request Broker. This involves the design and implementation of a compiler which maps CORBA objects to DCE remote procedure calls. Our objective is to investigate the operation of a distributed object implementation and in particular the performance which can be achieved by a DCE-based Object Request Broker which is CORBA compliant.
- ItemOpen AccessDistributed shared memory for virtual environments(1997) Godfrey, Andrew; Blake, Edwin H; MacGregor, KenThis work investigated making virtual environments easier to program, by designing a suitable distributed shared memory system. To be usable, the system must keep latency to a minimum, as virtual environments are very sensitive to it. The resulting design is push-based and non-consistent. Another requirement is that the system should be scaleable, over large distances and over large numbers of participants. The latter is hard to achieve with current network protocols, and a proposal was made for a more scaleable multicast addressing system than is used in the Internet protocol. Two sample virtual environments were developed to test the ease-of-use of the system. This showed that the basic concept is sound, but that more support is needed. The next step should be to extend the language and add compiler support, which will enhance ease-of-use and allow numerous optimisations. This can be improved further by providing system-supported containers.
- ItemOpen AccessEvaluation of a multiprogramming time sharing system through simulation.(1975) Kissemlis, Demetrios Nik; MacGregor, KenThe thesis describes the design and implementation of a simulation model. The model is patterned after the EXEC-8 multiprogramming time sharing operating system on the UNIVAC 1106 computer at the computer centre of the University of Cape Town. Essential elements of the environment have been included such as the maximum number of batch jobs allowed to be in progress concurrently, the core and CPU allocation strategies, swapping, and the sharing of systems resources between batch and demand tasks. The model is conducted in such a manner that makes it capable of assuming and analysing, up to a certain extent, different hardware configurations of the UNIVAC 1100 series computers under the EXEC-8. This is achieved by modifying some parameters or by limited rewriting. The model is implemented in GPSS 1100, a language specially designed for simulation studies.
- ItemOpen AccessAn expert system utility prototype for the evaluation of environmental impacts of civil engineering projects(1994) Mercer, K G; Martin, JB; MacGregor, KenThe idea of this thesis is to create a prototype primary environmental impact assessment computer program for use by engineers in the planning of civil engineering projects. The idea is that this system will be used early in the planning phase of projects, to identify potential negative environmental impacts and there by iteratively modify proposals before further work on them is undertaken. The result would be a saving in time and money to clients by minimising abortive work. The problem is highly complex in that there are almost limitless combinations of environmental characteristics available for selection for the evaluation of a project proposal. Each characteristic in turn, is able to assume a varying level of importance. The structure of the system developed to solve this problem uses a combination of an expert system shell and conventional computer programs. The trend of modern environmental impact assessment methods is towards qualitative methods of assessment. As a result, the expert system shell SYNAPSE was chosen to provide a decision making facility for each environmental characteristic using heuristic techniques. Due to certain limitations of SYNAPSE a number of computer programs were developed to enable other supporting capabilities to be available to users. These programs were written in the Turbo Pascal language together with Turbo Vision, an object-orientated application framework for providing features such as windowing and event-driven regimens.
- ItemOpen AccessHarnessing open sound control for networked music in VST systems(2009) Hector, Jason; MacGregor, KenProfessional audio equipment is migrating towards general purpose computers running professional audio software systems such as Virtual Studio Technology [VST) and VST plugins that have been adopted as an informal standard for audio and MIDI plugins. The proliferation of computer networks has facilitated sharing and distributing musical content over networked technology and has benefits of allowing multiple, simultaneous, remote access to audio resources, it allows processing and computer hardware resources to be distributed amongst many computers and therefore has potential for VST processing farms, and facilities location independent musical collaborations. Open Sound Control is an open high-level application protocol developed to facilitate modern networked communications amongst audio processing units like VST plugins. OSC has been suggested as a successor to MIDI addressing its shortcomings in its design. This dissertation presents a prototype VST plugin called OscVstBridge that bridges the network isolated VST plugin and VST host to the OSC network domain. The prototype facilitates modern, high speed, networked, musical control communications amongst VST audio processes. OSC is an open protocol allowing OscVstBridge to communicate between VST systems from different vendors furthering inter-operability of audio and musical system and promotes standardisation.
- ItemOpen AccessThe implementation of a front end processor for a subset of ADA(1983) Epstein, Jacqueline; MacGregor, KenADA is a high level programing language sponsored by the United States Department of Defence primarily for use in real-time systems. It has all the structures present in modern algorithmic languages with additional features for tasking. This thesis discusses the University of Cape Town implementation of a front end processor for a subset of ADA. A compiler generator package was used to construct a syntax checker for the ADA language and a subset of this was extended through the semantic analysis phase finally to produce the intermediate code - DIANA. DIANA is the standard intermediate code for all ADA programs and a representation for transfer between systems has been defined. DIANA is intended to function as an interface between the front and back ends of ADA compilers, and as an intermediate form which can be used by tools designed for ADA.
- ItemOpen AccessThe implementation of a generalized table driven back end processor(1987) Broadbent, Christopher Frank; MacGregor, KenThis thesis discusses the University of Cape Town implementation of a table driven back end processor. The back end processor takes as input an intermediate tree representation of a high level programming language. It produces as output an object text ready for assembly. The specifications of the input tree and the output object are supplied to the back end processor via two tables. The initial motivation for this project was the need to provide a back end processor capable of taking the DIANA tree output of the University of Cape Town front end processor and producing a corresponding P-code object. The University of Cape Town back end processor is implemented using Pascal and C in a Unix V environment.
- ItemOpen AccessImplementation of a structured PL/I subset compiler(1974) Goldberg, Colin Barry; MacGregor, KenThe thesis describes the design and implementation of a PL/I subset compiler which produces a hypothetical stack code as output. The compiler was based on a Pascal compiler developed by N. Wirth and U. Amman of Eidgenössische Technische Hochschule, Zurich, and was itself written in the Pascal language. PL/I programs using the compiler can now be compiled and executed (interpretively) on the UNIVAC 1106 computer at U.C.T. The compiler was designed mainly as a teaching system. Its lesson is that structured programming is a powerful technique which facilitated its design and implementation.
- ItemOpen AccessImplementing the reliable data protocol on a Java enabled mobile device(2003) Walsh, Justin; MacGregor, KenThe author examines the architecture and discusses the implementation and problems encountered during implementation of the Reliable Data Protocol on a Java enabled mobile. A preliminary evaluation of the protocol implementation is presented.
- ItemOpen AccessIncompatibility of lognormal forward-Libor and Swap market models(2005) Goschen, Wayne S; MacGregor, KenThe lognormal forward-Libor and Swap market models were formulated to price caps and swaptions. However, the prices computed by these two models, under equivalent measures, are reported to be unequal. This study investigates this incompatibility by computing the prices of caps and swaptions under both the forward Libor measure and the forward Swap measure, in both the Libor and Swap market models. This was done by building a computer program that implements the Monte Carlo versions of the models, using data from caps and swaptions traded in the South African market. It was found that the actual price of caps, using the same implied volatility, were simulated accurately in both the Libor and Swap market models under both the forward Libor measure and the forward Swap measure. On the other hand, although the actual swaption prices were also simulated accurately in both the Libor and Swap market models under both the forward Libor measure and the forward Swap measure, a different implied volatility was used for each model. Therefore, the swaption price computed by the Libor market model was inconsistent with the price generated by the Swap market model; the two models are indeed incompatible. In order to price interest rate derivatives consistently, either the Libor market model or the Swap market model must be chosen. Since the Libor market model priced consistently under the two forward measures, and the time taken to simulate a price in the Libor market model was much less than in the Swap market model, the practice in the market to use the Libor market model in favour of the Swap market model is justified.
- ItemOpen AccessMapping the vegetation of the fynbos biome with the aid of Landsat imagery(1983) Bossi, Lucia; MacGregor, Ken
- ItemOpen AccessMicrocomputer-assisted diagnosis of inherited disorders of the skeleton(1988) Van Greunen, Francois; Beighton, Peter; MacGregor, KenSeveral hundred inherited disorders of the skeleton have been delineated. Individually these conditions are rare, but as a group they cause much crippling and hardship. Several factors, including the rarity and complexity of the manifestations of these conditions, as well as semantic overlap, impede the accurate diagnosis which is essential for effective treatment. In this regard, the adoption of microcomputers warrants evaluation as a high technology aid. Microcomputers have developed tremendous capabilities during recent years. The state of the art has become such that a diagnostic aid facility on such a device has been demonstrated in various disciplines of medicine and may also be feasible in the area of inherited skeletal disorders. The study which forms the basis of this thesis, concerns the investigation of this feasibility and has led to the development of an effective working model which sets the basis for microcomputer-aided diagnosis. The design features followed in this project are similar to those conventionally employed for "Expert systems" on mainframe computers. A comprehensive knowledge base consisting of over 200 skeletal disorders and 700 radiographic and clinical manifestations, has resulted. Furthermore, the application is capable of "learning", although inference as employed by the inference engines of real expert systems, is not employed. In this context learning implies that the knowledge base, with the passage of time, improves considerably when used by experts. Serendipitous findings in this regard are: • 1) Considerable improvement of existing profile descriptions can occur without any increased demands on computer memory and storage space; • 2) Growth of the knowledge base in the form of additional disease profiles can be effected with very modest inroads on memory and storage resources. The computerized diagnostic aid which resulted from this thesis, has been demonstrated to be successful in both the Department of Human Genetics of the University of Cape Town and the Department of Paediatrics of the Johannes Gutenberg University in Mainz. Evaluated both in terms of efficiency and utility, the system provides an enhancement to the specialist genetic diagnostician. These achievements have been effected by means of a unique newly developed application of compressed bit-mapping, attained by writing the applicable programs in Turbo Pascal and 8086- assembler languages. Calculations indicate that much larger data bases may possibly be implemented on present-day microcomputers by means of the methods developed in this project.
- ItemOpen AccessOrganization of industrial control computers(1976) Rodd, Michael Godfrey; Enslin, NC de V; MacGregor, KenThe efficient use of industrial control computers is recognized as an organizational problem akin to the traffic-switching problem in communications. A systematic approach to this problem is proposed, based on theory developed for the handling of telephone traffic. The application of the approach indicates that it is necessary to re-evaluate traditional hardware/software relationships. A change in these relationships is desirable, since multi-programmed computers spend too much time in handling their own organization. This situation is compounded in time-critical industrial process-control applications. It is proposed that the solution lies in the use of a flexible hardware operating system, working in close relationship with a conventional minicomputer. The unit proposed to implement this function, termed a microcontroller, makes use of the new bipolar microprocessor elements and provides a high-speed, flexible control unit, adaptable to user requirements. To retain a high degree of flexibility the microcontroller is microprogrammable. In essence, the unit executes the principal functions of a real-time operating system, acts as a pre-processor for all incoming requests, and ensures a high rate of task-switching. This system is applied to a series of configurations, each selected to demonstrate, quantitatively, the value of the technique in real applications. Comparisons are made between real-time control configurations based on the software-implemented approach and the identical configurations based on this system. The proposed strategy is shown to result in a better and more economical industrial controller. The wider implication for any aspect of organization is that "bigger" is not necessarily "better". Successful management implies effective use of facilities, rather than a proliferating structure.
- ItemOpen AccessP-Pascal : a data-oriented persistent programming language(1991) Berman, Sonia; MacGregor, KenPersistence is measured by the length of time an object is retained and is usable in a system. Persistent languages extend general purpose languages by providing the full range of persistence for data of any type. Moreover, data which remains on disk after program termination, is manipulated in the same way as transient data. As these languages are based on general purpose programming languages, they tend to be program-centred rather than data-centred. This thesis investigates the inclusion of data-oriented features in a persistent programming language. P-Pascal, a Persistent Pascal, has been designed and implemented to develop techniques for data clustering, metadata maintenance, security enforcement and bulk data management. It introduces type completeness to Pascal and in particular shows how a type-complete set constructor can be provided. This type is shown to be a practical and versatile mechanism for handling bulk data collections in a persistent environment. Relational algebra operators are provided and the automatic optimisation of set expressions is performed by the compiler and the runtime system. The P-Pascal Abstract Machine incorporates two complementary data placement strategies, automatic updating of type information, and metadata query facilities. The protection of data types, primary (named) objects and their individual components is supported. The challenges and opportunities presented by the persistent store organisation are discussed, and techniques for efficiently exploiting these properties are proposed. We also describe the effects on a data-oriented system of treating persistent and transient data alike, so that they cannot be distinguished statically. We conclude that object clustering, metadata maintenance and security enforcement can and should be incorporated in persistent programming languages. The provision of a built-in, type-complete bulk data constructor and its non-procedural operators is demonstrated. We argue that this approach is preferable to engineering such objects on top of a language, because of greater ease of use and considerable opportunity for automatic optimisation. The existence of such a type does not preclude programmers from constructing their own bulk objects using other types - this is but one advantage of a persistent language over a database system.
- ItemOpen AccessPerformance benchmarking physical and virtual linux envrionments(2012) Fisher, Mario; MacGregor, KenVirtualisation is a method of partitioning one physical computer into multiple "virtual" computers, giving each the appearance and capabilities of running on its own dedicated hardware. Each virtual system functions as a full-fledged computer and can be independently shutdown and restarted. Xen is a form of paravirtualisation developed by the University of Cambridge Computer Laboratory and is available under both a free and commercial license. Performance results comparing Xen to native Linux as well as to other virtualisation tools such as VMWare and User Mode Linux were published in the paper "Xen and the Art of Virtualization" at the Symposium on Operating Systems Principles in October 2003 by Barham et al. (2003). Clark et al. (2004) performed a similar study and produced similar results. In this thesis, a similar performance analysis of Xen is undertaken and also extended to include the performance analysis of Open VZ, an alternative open source virtualisation technology. This study made explicit use of open-source software and commodity hardware.
- ItemOpen AccessThe semantic database model as a basis for an automated database design tool(1983) Berman, Sonia; MacGregor, KenThe automatic database design system is a design aid for network database creation. It obtains a requirements specification from a user and generates a prototype database. This database is compatible with the Data Definition Language of DMS 1100, the database system on the Univac 1108 at the University of Cape Town. The user interface has been constructed in such a way that a computer-naive user can submit a description of his organisation to the system. Thus it constitutes a powerful database design tool, which should greatly alleviate the designer's tasks of communicating with users, and of creating an initial database definition. The requirements are formulated using the semantic database model, and semantic information in this model is incorporated into the database as integrity constraints. A relation scheme is also generated from the specification. As a result of this research, insight has been gained into the advantages and shortcomings of the semantic database model, and some principles for 'good' data models and database design methodologies have emerged.
- ItemOpen AccessSpecification and implementation of the Larch shared language(1989) Everett, Yvonne; MacGregor, KenThis project aims to prototype formal specification in Larch. The motivation for looking at formal specifications stems from an appreciation of the problem outlined above, frustration with current methods, and a desire to practise what is preached. The aim is to implement a formal specification language, to write a non-trivial specification and to employ formal methods of specification during software development. As a result, one should have a thorough understanding of a formal specification language, and the practical implications of using it as a basis for formal methods.
- ItemOpen AccessSpecification and verification of context conditions for programming languages(1986) Kaplan, Simon Mark; MacGregor, KenContext conditions - also called static semantics - are the constraints on computer programs that cannot be reasonably expressed by a context-free grammar, but that can be statically checked without considering the execution properties - semantics - of the program. Such conditions tend to be arbitrary and complex. This thesis presents a new specification formalism called CFF/AML. This formalism is · designed to be both useful for the specification of programming languages to an environment generator and also simple to use. The driving insight behind CFF/AML is that a language specifier conceives of the context condition checks associated with a programming language syntax description in procedural terms. CFF/AML supports this view of context condition specification, thus simplifying the task of the language specifier. CFF/AML has been formally by constructing a temporal proof system for the metalanguage. This proof system can also be used to verify CFF/AML specifications. The construction of the temporal proof system for CFF/AML uncovered a deficiency in the existing theory, namely that there was no way to prove subprograms, especially recursive subprograms, correct. The theory was extended to handle recursive subprograms. The approach developed in this thesis allows recursive subprograms to be proven correct using the same approach as was used previously for iterative constructs. This thesis makes a number of contributions to Computer Science. An approach to language specification - CFF/AML - is developed that greatly reduces the problems associated with building a language specification for input to a programming language environment generator. The theory of temporal proof systems is extended to include a methodology for handling proofs of recursive subprograms. A formal description of the CFF/AML metalanguage has been developed using temporal logic as the framework for the description. This is the first attempt to use temporal logic for such a task. As CFF/AML constructs can be dynamically scoped, this development differs from that required for statically scoped languages. We have also used this temporal proof system formally to prove that context condition specifications are correct. These proofs are an advancement on earlier work in the field of formal reasoning about context condition specification as they allow formal proof of the correctness of evaluations, as well as proving termination.
- ItemOpen AccessUsing CAMAC hardware for access to a particle accelerator(1988) Truter, J N J; MacGregor, KenThe design and implementation of a method to software interface high level applications programs used for the control and monitoring of a Particle Accelerator is described. Effective methods of interfacing the instrumentation bus system with a Real time multitasking computer operating system were examined and optimized for efficient utilization of the operating system software and available hardware. Various methods of accessing the instrumentation bus are implemented as well as demand response servicing of the instruments on the bus.