602 research outputs found

    The development and deployment of formal methods in the UK

    Full text link
    UK researchers have made major contributions to the technical ideas underpinning formal approaches to the specification and development of computer systems. Perhaps as a consequence of this, some of the significant attempts to deploy theoretical ideas into practical environments have taken place in the UK. The authors of this paper have been involved in formal methods for many years and both have tracked a significant proportion of the whole story. This paper both lists key ideas and indicates where attempts were made to use the ideas in practice. Not all of these deployment stories have been a complete success and an attempt is made to tease out lessons that influence the probability of long-term impact.Comment: This work has been submitted to the IEEE for possible publication. Copyright may be transferred without notice, after which this version may no longer be accessibl

    System-Level Energy-Aware Design of Cyber-Physical Systems

    Get PDF
    In this technical report we present the work conducted during the first part of the PhD thesis ā€œSystem-Level Energy-Aware Design of Cyber-Physical Systemsā€. We present the application of modelling techniques and methodologies to study energy consumption during the design and implementation of cyber-physical systems. This study is made from the electro-mechanical and computation angle. Additionally we present a setup that allows the combination of abstract models with hardware and software preliminary realizations. This allows a stepwise model to implementation transformation and improved model accuracy. Some of these techniques have been applied to the case study e-Stocking and others have been studied with more simple experimental setups.In addition to the scientific content, we also present a description of the envisioned future work and the plans that will lead to completion of this PhD thesis by April 2015

    On the Extensibility of Formal Methods Tools

    Get PDF
    Modern software systems often have long lifespans over which they must continually evolve to meet new, and sometimes unforeseen, requirements. One way to effectively deal with this is by developing the system as a series of extensions. As requirements change, the system evolves through the addition of new extensions and, potentially, the removal of existing extensions. In order for this kind of development process to thrive, it is necessary that the system have a high level of extensibility. Extensibility is the capability of a system to support the gradual addition of new, unplanned functionalities. This dissertation investigates extensibility of software systems and focuses on a particular class of software: formal methods tools. The approach is broad in scope. Extensibility of systems is addressed in terms of design, analysis and improvement, which are carried out in terms of source code and software architecture. For additional perspective, extensibility is also considered in the context of formal modelling. The work carried out in this dissertation led to the development of various extensions to the Overture tool supporting the Vienna Development Method, including a new proof obligation generator and integration with theorem provers. Additionally, the extensibility of Overture itself was also improved and it now better supports the development and integration of various kinds of extensions. Finally, extensibility techniques have been applied to formal modelling, leading to an extensible architectural style for formal models

    Systems of Systems with Security

    Get PDF
    In this report we present two case studies with Systems of Systems modelling. One model illustrates how Cryptographic parameter consistency can be checked using VDMPP for a System of Systems uses encryption to enforce Digital Right Management. The other model shows how a new formalism (CML) tailored specifically to Systems of Systems can express Multi-Party Computation protocol. The idea of using Canetti simulation proofs from Multi-Party computation as a model for refinement of models in CML is presented. Our goal is modest. We do not aim at proving security through refinement but to assists modellers/developers in maintaining security properties during refinement of a concept to designs

    Evaluation of Development Process and Methodology for Co-Models

    Get PDF
    An embedded control system often requires a tight association between computational and physical system components. In such cases, embedded system development is difficult, as it requires the collaboration among stakeholders with different backgrounds (software engineers, mechanical engineers, managers etc.). With the constant increase in design complexity, caused by advances in implementation technologies, new ways of approaching embedded system development are needed.This thesis presents an evaluation of a tool-oriented development process and methodology, supporting embedded system development. The philosophy of the development process and methodology, is that design complexity can be managed through collaborative work and multi-disciplinary modeling. To obtain input for the evaluation work, the development process is applied during a case study, involving the development of a route following robot and a model of this. To demonstrate the value of this model, it is simulated to predict route completion times for the physical robot.The evaluation work identifies possibilities and challenges of the development process and methodology, with respect to traditional physicalprototyping. This will support developers in choosing the most optimal way of approaching development. In addition to this, suggestions for extensions to the methodology are provided. These intend to increasethe value the development process and methodology may bring thedevelopment work

    Model-based Testing

    Get PDF
    This paper provides a comprehensive introduction to a framework for formal testing using labelled transition systems, based on an extension and reformulation of the ioco theory introduced by Tretmans. We introduce the underlying models needed to specify the requirements, and formalise the notion of test cases. We discuss conformance, and in particular the conformance relation ioco. For this relation we prove several interesting properties, and we provide algorithms to derive test cases (either in batches, or on the fly)

    NOODLE++: a 3 Dimensional Net-based Object-orientated Development Model

    Get PDF
    HKU CS Tech Report TR-95-04Object-oriented analysis and design methodologies are considered as the most popular software development methods for the 1990s. A common drawback, however, is that they have been developed informally. There is no theoretical framework enabling us to define precisely the object-oriented concepts involved, to solve concurrency problems, and to verify the correctness of the implementation. We propose a 3-dimensional net structure behind object-oriented software development. This structure consolidates the concepts of classes, inheritance, overloading and message passing through a single model. Inheritance and overloading can be unified with message passing in a 3-dimensional representation, but are physically differentiable by occupying the vertical and horizontal planes,respectively, of the model. Furthermore, the formal model can be mapped to various object-oriented analysis and design notations. The theoretical framework can thus be adopted for systems validation and verification for existing methodologies. The liveness and consistencies of objects can be verified, and inheritance and interaction coupling can be identified and checked.preprintThis research is supported in part by a grant of the Research Grants Council

    Enhancing System Realisation in Formal Model Development

    Get PDF
    Software for mission-critical systems is sometimes analysed using formal specification to increase the chances of the system behaving as intended. When sufficient insights into the system have been obtained from the formal analysis, the formal specification is realised in the form of a software implementation. One way to realise the system's software is by automatically generating it from the formal specification -- a technique referred to as code generation. However, in general it is difficult to make guarantees about the correctness of the generated code -- especially while requiring automation of the steps involved in realising the formal specification. This PhD dissertation investigates ways to improve the automation of the steps involved in realising and validating a system based on a formal specification. The approach aims to develop properly designed software tools which support the integration of formal methods tools into the software development life cycle, and which leverage the formal specification in the subsequent validation of the system. The tools developed use a new code generation infrastructure that has been built as part of this PhD project and implemented in the Overture tool -- a formal methods tool that supports the Vienna Development Method. The development of the code generation infrastructure has involved the re-design of the software architecture of Overture. The new architecture brings forth the reuse and extensibility features of Overture to take into account the needs and requirements of software extensions targeting Overture. The tools developed in this PhD project have successfully supported three case studies from externally funded projects. The feedback received from the case study work has further helped improve the code generation infrastructure and the tools built using it

    Automated specification-based testing of graphical user interfaces

    Get PDF
    Tese de doutoramento. Engenharia ElectrĆ³nica e de Computadores. 2006. Faculdade de Engenharia. Universidade do Porto, Departamento de InformĆ”tica, Escola de Engenharia. Universidade do Minh
    • ā€¦
    corecore