Mike Livesey
University of St Andrews
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Mike Livesey.
Theoretical Computer Science | 1997
M. D. Atkinson; Mike Livesey; D. Tulley
Abstract A transportation graph is a directed graph with a designated input node and a designated output node. Initially, the input node contains an ordered set of tokens 1,2,3, … The tokens are removed from the input node in this order and transferred through the graph to the output node in a series of moves; each move transfers a token from a node to an adjacent node. Two or more tokens cannot reside on an internal node simultaneously. When the tokens arrive at the output node they will appear in a permutation of their original order. The main result is a description of the possible arrival permutations in terms of regular sets. This description allows the number of arrival permutations of each length to be computed. The theory is then applied to packet-switching networks and has implications for the resequencing problem. It is also applied to some complex data structures and extends previously known results to the case that the data structures are of bounded capacity. A by-product of this investigation is a new proof that permutations which avoid the pattern 321 are in one to one correspondence with those that avoid 312.
Proceedings of Third International Workshop on Services in Distributed and Networked Environments | 1996
Colin Allison; Paul Harrington; Feng Huang; Mike Livesey
Sharing hardware and software resources among networked workstations has become common practice. Resource management in such systems is complex because of physical distribution of the resources, communication delays and the lack of global state informations. This paper describes a scalable load monitoring service and a scalable resource query service developed in the Warp project to provide necessary state information for resource management. Scalability is achieved by reducing the network traffic. Techniques include exploiting the IP multicast for one-to-many communications, using supply-driven and demand driven approaches for disseminating different classes of information, compressing information, and tailoring servers only to publish information when certain conditions are met. GUI tools, statistical analysers, and job scheduling are example clients of the services.
Distributed Computing | 2007
Mike Livesey; Ronald Morrison; David S. Munro
Distributed termination detection (DTD) algorithms are important since they detect globally stable states in distributed computations. Here we introduce a new DTD mechanism, the Doomsday protocol together with its proof of correctness. Doomsday is generic since it forms the basis for a number of new and existing DTD algorithms for which the correctness proof may be reused. The paper describes the Doomsday protocol, provides its formal proof, derives one new DTD algorithm and shows how other hitherto unrelated algorithms, Dijkstra–Scholten, Task Balancing and Credit Recovery, can be derived from the protocol. The paper concludes by examining various properties of the protocol in the context of existing DTD algorithms.
hawaii international conference on system sciences | 1989
Ronald Morrison; Alfred L. Brown; Raymund Carrick; Richard C. H. Connor; Alan Dearle; Mike Livesey; C.J. Barter; A.J. Hurst
The problems of shared access to large bodies of information raise difficulties in the understanding and semantics of concurrency, distribution, and stability. The authors identify these difficulties and clarify them with regard to database programming language design. They propose a model of concurrency that can be used as a solution to the problems. It is based on the rendezvous of Ada and integrated with a polymorphic type system with inheritance. This yields a process-oriented approach to system construction that has much in common with the object-oriented approach. The authors demonstrate the facilities of the language Napier, which allows the integration of these two methods along with a persistent environment to provide concurrently accessed object-oriented databases.<<ETX>>
Archive | 2000
Colin Allison; Feng Huang; Mike Livesey
Realtime distributed groupware (RDG) systems use computers and networks to support geographically separated users in their work on a common task at the same time. An RDG session typically consists of two types of interaction — that which involves one or more shared objects, and the use of audio-visual conferencing. It is important for users of such systems that the responsiveness of their interaction with shared objects has the same immediacy as their audio-visual communications. At the same time shared objects must have their integrity guarded in the face of multiple concurrent readers and writers. These coherence and responsiveness requirements often pull implementations in opposing directions. The concept of interactive atoms is introduced to address this problem. The successful construction of a distributed shared multi-user spreadsheet using multicast-based interactive atoms and multicast-based audio-visual channels is described.
hawaii international conference on system sciences | 1996
P. Burgess; Mike Livesey; Colin Allison
The paper describes the debugging and dynamic modification facilities provided for real time distributed systems within the Testbed embedded systems environment. We exploit natural break-points present in a state machine programming model to perform monitoring and debugging actions. This technique can avoid the probe effect which is a major problem in debugging concurrent and real-time systems. We describe the background debugging technique in which debugging is partially automated to further reduce interference. Testbed also supports a dynamic modification technique that avoids re-starting the application, which may be inappropriate for embedded systems that run continuously without a notion of stopping time. Background debugging and dynamic modification complement each other in Testbed to provide a powerful alternative to traditional debugging methods.
POS | 1993
Mike Livesey; Colin Allison
Distributed system builders are faced with the task of meeting a variety of requirements on the global behaviour of the target system, such as stability, fault-tolerance and failure recovery, concurrency control, commitment, and consistency of replicated data. Coherence means satisfying these types of requirements, although the subset may vary from system from to system.
IEEE Transactions on Neural Networks | 1991
Mike Livesey
A certain assumption that appears in the proof of correctness of the standard Boltzmann machine learning procedure is investigated. The assumption, called the clamping assumption, concerns the behavior of a Boltzmann machine when some of its units are clamped to a fixed state. It is argued that the clamping assumption is essentially an assertion of the time reversibility of a certain Markov chain underlying the behavior of the Boltzmann machine. As such, the clamping assumption is generally false, though it is certainly true of the Boltzmann machines themselves. The author also considers how the concept of the Boltzmann machine may be generalized while retaining the validity of the clamping assumption.
technical symposium on computer science education | 1997
Mike Livesey
This paper describes the STAMPS software workbench that supports Honours level computer architecture teaching. STAMPS was developed in response to a need perceived from experience of such teaching. It is a hierarchically structured CPU simulator that can be customised to any architecture and implementation of that architecture.STAMPS is written as a Tcl/wish application. Tcl facilitates interaction with the file system, simple naming conventions and highly flexible user interaction. STAMPS runs on any Unix platform.
international workshop on object orientation in operating systems | 1996
Colin Allison; P. Harrington; Feng Huang; Mike Livesey
This paper describes a novel mechanism that supports a global atomicity primitive. In distributed systems, it is important that concurrent access to shared data items does not violate some pre-defined notion of consistency. A global atomicity primitive is a simple programming paradigm for controlling access to shared data, that guarantees to preserve consistency (provided individual processes do) and suffices for many applications. The mechanism presented also provides other desirable coherency properties, including failure atomicity, liveness and responsiveness. In addition, its concurrency control can be configured variably between optimistic and pessimistic.