Computing and Information Systems - Theses

Permanent URI for this collection

Search Results

Now showing 1 - 2 of 2
  • Item
    Thumbnail Image
    Safety critical multi-agent systems
    Liu, Ching Louis ( 2018)
    Artificial intelligence (AI) has come of age, especially with the rapid growth in the variety and quantity of data, together with automation in industrial and private applications, such as 3D printing and automated manufacturing, all of which require computing for control and interaction with humans at some point. Computer-controlled machines that operate in industrial or domestic settings must also operate to ensure the safety of any humans in the vicinity or who interact with the machines. Further, if we are to realise the dream of autonomous agents interacting freely with humans, then the issue of safety becomes even more critical. In this regard, the aim of this thesis is to propose methods that complement existing Agent-Oriented Software Engineering methods and provide a means of safety engineering at the agent design stage. Our proposed methods can also build accident knowledge in such a way that a safety analysis on one type of multi-agent system can be transferred to another provided that the other multi-agent system shares enough similarities with the first. The current situation is that it is difficult to apply agent-oriented methods in situations where safety is critical because of the lack of available agent-specific safety analysis methods. Traditional safety engineering methods are not tailored to the analysis of the full capability of agents and although a number of attempts has been made to automate traditional safety engineering methods, a gap between the dynamic behaviour of multi-agent systems and safety analysis remains. Further, there is no single accepted definition of a multi-agent system, but there is a list of concepts common to most definitions and widely accepted among different methodologies: the concept of an open system, dynamic behaviour and adaption to name a few. Current safety analysis methods do not fully handle concepts with much success. Of the existing methods, which we review in chapter 3, all require domain knowledge as well as expertise in the application of the methods themselves and are limited by the size of the component that can be analysed. This thesis contributes to safety analysis in agent-oriented software engineering by providing safety analysis methods that generate tangible safety goals based on previous accident data and system behaviour. Another contribution of this thesis is that our method enables agents to dynamically calculate accident likelihood and then, through a specific systems level ontology, to translate the safety analysis from one multi-agent system to another with similar agent characteristics. An example of where this latter case can be applied is to provide estimations on the design of a new multi-agent system that does not yet have any accident data. We first look at ways of modelling system behaviour and, importantly, the interactions between different agents. Then, we present a way to convert the interaction model to a Bayesian network that combines data from multiple previous accidents and a method for identifying which system component to change to improve the safety of the overall multi-agent system. When we apply this method to real-life situations, we find that the current limitation is the lack of data at the right level of detail. However, exploring the interactions in the system and the relationships between agents, we can overcome the limitations in data to some extent. Our approach can be used to estimate the accident rate by combining accident data from different existing physical systems. Doing this provides a quick way to estimate the accident rate and provide design feedback to the multi-agent system designer. Our thesis will advance the application of multi-agent systems by improving their safety aspects. Moreover, the ability provided by our Bayesian networks to dynamically calculate the likelihood of accidents provides agents with the means to improve safety as they encounter new incidents. Our method of translating the analysis from one type of multi-agent system to another on the basis of ontology provides an interesting approach for sharing accident knowledge between related systems when they are in the field.
  • Item
    Thumbnail Image
    A lock-free environment for computer music: concurrent components for computer supported cooperative work
    Shelton, Robert James ( 2011)
    More than fifty years of computer music research has established a wide range of techniques and tools. Implementing all of these within a single application is impractical, yet each task might require a different selection to be applied. Therefore, the sharing of structured information between distinct applications becomes a key challenge for computer music as a field. While existing protocols provide a great deal of support for communication between the synthesis engines, minimal facilities exist for communicating user-interface constructs between distributed computer music applications. As a result, it remains difficult to apply techniques for computer supported cooperative work in a format which can be reused by a wide range of applications. This diminishes the opportunities by which more general collaborative composition and performance environments can be developed. In a distributed environment where user-interface objects may be replicated across multiple remote locations, concurrency control is required to maintain the integrity of each object. Previous methods for managing concurrent objects have typically introduced strong guarantees regarding a range of behaviours; however, these guarantees come at the cost of more complicated object frameworks which have failed to gain widespread community acceptance. Instead, a light-weight component model providing only the essential facilities is seen as a viable alternative. This dissertation investigates the use of lock-free shared-memory techniques for distributed computer music composition and performance environments. A method is presented by which the underlying user-interface structures may be separated from their manipulation, establishing an environment in which concurrent applications can provide multiple real-time views of shared components. Results include a formal correctness model for lock-free algorithms, a portable framework for concurrent components and a practical demonstration using a collection of components to implement a distributed text buffer.