333 research outputs found

    Rapid Recovery for Systems with Scarce Faults

    Full text link
    Our goal is to achieve a high degree of fault tolerance through the control of a safety critical systems. This reduces to solving a game between a malicious environment that injects failures and a controller who tries to establish a correct behavior. We suggest a new control objective for such systems that offers a better balance between complexity and precision: we seek systems that are k-resilient. In order to be k-resilient, a system needs to be able to rapidly recover from a small number, up to k, of local faults infinitely many times, provided that blocks of up to k faults are separated by short recovery periods in which no fault occurs. k-resilience is a simple but powerful abstraction from the precise distribution of local faults, but much more refined than the traditional objective to maximize the number of local faults. We argue why we believe this to be the right level of abstraction for safety critical systems when local faults are few and far between. We show that the computational complexity of constructing optimal control with respect to resilience is low and demonstrate the feasibility through an implementation and experimental results.Comment: In Proceedings GandALF 2012, arXiv:1210.202

    The foundational legacy of ASL

    Get PDF
    Abstract. We recall the kernel algebraic specification language ASL and outline its main features in the context of the state of research on algebraic specification at the time it was conceived in the early 1980s. We discuss the most significant new ideas in ASL and the influence they had on subsequent developments in the field and on our own work in particular.

    Architecture of Advanced Numerical Analysis Systems

    Get PDF
    This unique open access book applies the functional OCaml programming language to numerical or computational weighted data science, engineering, and scientific applications. This book is based on the authors' first-hand experience building and maintaining Owl, an OCaml-based numerical computing library. You'll first learn the various components in a modern numerical computation library. Then, you will learn how these components are designed and built up and how to optimize their performance. After reading and using this book, you'll have the knowledge required to design and build real-world complex systems that effectively leverage the advantages of the OCaml functional programming language. What You Will Learn Optimize core operations based on N-dimensional arrays Design and implement an industry-level algorithmic differentiation module Implement mathematical optimization, regression, and deep neural network functionalities based on algorithmic differentiation Design and optimize a computation graph module, and understand the benefits it brings to the numerical computing library Accommodate the growing number of hardware accelerators (e.g. GPU, TPU) and execution backends (e.g. web browser, unikernel) of numerical computation Use the Zoo system for efficient scripting, code sharing, service deployment, and composition Design and implement a distributed computing engine to work with a numerical computing library, providing convenient APIs and high performance Who This Book Is For Those with prior programming experience, especially with the OCaml programming language, or with scientific computing experience who may be new to OCaml. Most importantly, it is for those who are eager to understand not only how to use something, but also how it is built up

    Is type checking practical for system configuration?

    Full text link

    Prototyping Wearables: A Code-First Approach to the Design of Embedded Systems

    Get PDF
    As wearable devices become ubiquitous, there will be an increased demand for platforms that allow engineers and researchers to quickly prototype and evaluate new wearable devices. However, many of these platforms require that the hardware be configured before the code is written, thereby limiting the programmer to the limitations of the hardware. In this paper, we present a platform that allows researchers and engineers to quickly prototype new wearable devices using a code-first approach. This approach allows software developers to create new prototypes by first writing the code that the prototype is required to run. Once the code has been written, the hardware that is required to run the application can be generated by analyzing the code that the software developer has specified. This code-first approach is possible because of the system\u27s architecture which is comprised of both a hardware and software component. The hardware component consists of a main board with four expansion ports, while the software platform is a modular middleware which consists of a collection of stateless libraries that abstract each hardware module. These modular abstractions allow us to synthesize the hardware configuration from the software definition. We evaluated our design using it to prototype three wearable devices: 1) an environmental exposure monitoring smartwatch; 2) an infrared indoor localization system; and 3) a step counter

    Object-oriented domain specific compilers for programming FPGAs

    No full text
    Published versio
    corecore