3 research outputs found

    Analysing accident reports using structured and formal methods

    Get PDF
    Formal methods are proposed as a means to improve accident reports, such as the report into the 1996 fire in the Channel Tunnel between the UK and France. The size and complexity of accident reports create difficulties for formal methods, which traditionally suffer from problems of scalability and poor readability. This thesis demonstrates that features of an engineering-style formal modelling process, particularly the structuring of activity and management of information, reduce the impact of these problems and improve the accuracy of formal models of accident reports. This thesis also contributes a detailed analysis of the methodological requirements for constructing accident report models. Structured, methodical construction and mathematical analysis of the models elicits significant problems in the content and argumentation of the reports. Once elicited, these problems can be addressed. This thesis demonstrates the benefits and limitations of taking a wider scope in the modelling process than is commonly adopted for formal accident analysis. We present a deontic action logic as a language for constructing models of accident reports. Deontic action models offer a novel view of the report, which highlights both the expected and actual behaviour in the report, and facilitates examination of the conflict between the two. This thesis contributes an objective analysis of the utility of both deontic and action logic operators to the application of modelling accident reports. A tool is also presented that executes a subset of the logic, including these deontic and action logic operators

    Logic programming and rapid prototyping

    Get PDF
    AbstractLogic programming has great potential for reducing the cost of software development. We argue that, with an appropriate programming methodology, a logic programming system provides a powerful tool for rapid software prototyping. It is sufficiently formal and high-level to allow reasoning about specifications, and it provides an immediate operational validation of the programmer's intuitions.The methodology is introduced by means of an example larger than those usually used to illustrate the advantages of logic programming. We start with an informal specification of a structure-editor, show how it is formalized into a directly executable prototype, and introduce guidelines for validating logic programming code as implemented in Prolog.The developed prototype can be used for a number of applications: syntax-directed editor, semantic network browser, etc. The editor is compact but readable, and is quite efficient
    corecore