8 research outputs found

    Automated Error-Detection and Repair for Compositional Software Specifications

    Get PDF

    MORPH: A Reference Architecture for Configuration and Behaviour Self-Adaptation

    Full text link
    An architectural approach to self-adaptive systems involves runtime change of system configuration (i.e., the system's components, their bindings and operational parameters) and behaviour update (i.e., component orchestration). Thus, dynamic reconfiguration and discrete event control theory are at the heart of architectural adaptation. Although controlling configuration and behaviour at runtime has been discussed and applied to architectural adaptation, architectures for self-adaptive systems often compound these two aspects reducing the potential for adaptability. In this paper we propose a reference architecture that allows for coordinated yet transparent and independent adaptation of system configuration and behaviour

    Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases

    Get PDF
    Building on concepts drawn from control theory, self-adaptive software handles environmental and internal uncertainties by dynamically adjusting its architecture and parameters in response to events such as workload changes and component failures. Self-adaptive software is increasingly expected to meet strict functional and non-functional requirements in applications from areas as diverse as manufacturing, healthcare and finance. To address this need, we introduce a methodology for the systematic ENgineering of TRUstworthy Self-adaptive sofTware (ENTRUST). ENTRUST uses a combination of (1) design-time and runtime modelling and verification, and (2) industry-adopted assurance processes to develop trustworthy self-adaptive software and assurance cases arguing the suitability of the software for its intended application. To evaluate the effectiveness of our methodology, we present a tool-supported instance of ENTRUST and its use to develop proof-of-concept self-adaptive software for embedded and service-based systems from the oceanic monitoring and e-finance domains, respectively. The experimental results show that ENTRUST can be used to engineer self-adaptive software systems in different application domains and to generate dynamic assurance cases for these systems

    A verification-driven framework for iterative design of controllers

    Get PDF
    Controllers often are large and complex reactive software systems and thus they typically cannot be developed as monolithic products. Instead, they are usually comprised of multiple components that interact to provide the desired functionality. Components themselves can be complex and in turn be decomposed into multiple sub-components. Designing such systems is complicated and must follow systematic approaches, based on recursive decomposition strategies that yield a modular structure. This paper proposes FIDDle鈥揳 comprehensive verification-driven framework which provides support for designers during development. FIDDle supports hierarchical decomposition of components into sub-components through formal specification in terms of pre- and post-conditions as well as independent development, reuse and verification of sub-components. The framework allows the development of an initial, partially specified design of the controller, in which certain components, yet to be defined, are precisely identified. These components can be associated with pre- and post-conditions, i.e., a contract, that can be distributed to third-party developers. The framework ensures that if the components are compliant with their contracts, they can be safely integrated into the initial partial design without additional rework. As a result, FIDDle supports an iterative design process and guarantees correctness of the system at any step of development. We evaluated the effectiveness of FIDDle in supporting an iterative and incremental development of components using the K9 Mars Rover example developed at NASA Ames. This can be considered as an initial, yet substantive, validation of the approach in a realistic setting. We also assessed the scalability of FIDDle by comparing its efficiency with the classical model checkers implemented within the LTSA toolset. Results show that FIDDle scales as well as classical model checking as the number of the states of the components under development and their environments grow

    Synthesis of live behaviour models for fallible domains

    No full text

    T茅cnicas autom谩ticas para la elaboraci贸n, validaci贸n y verificaci贸n de requisitos de Software

    Get PDF
    Tesis (Doctor en Cs. de la Computaci贸n)--Universidad Nacional de C贸rdoba, Facultad de Matem谩tica, Astronom铆a y F铆sica, 2015.Es ampliamente aceptado que los errores son m谩s f谩ciles (y menos costosos) de corregir si se capturan lo m谩s temprano posible en el proceso de desarrollo. Luego, obtener una especificaci贸n de requisitos de buena calidad, es de fundamental importancia pr谩ctica y econ贸mica en la mayor铆a de las metodolog铆as de desarrollo de software modernas. Esto motiv贸 a que las notaciones formales para la especificaci贸n de requisitos adquirieran mayor atenci贸n en las 煤ltimas d茅cadas. En este trabajo, se presentan dos t茅cnicas autom谩ticas que brindan soporte al proceso de elaboraci贸n y validaci贸n de requisitos de software. En breve, 茅stas se basan en manipulaciones de formulas l贸gicas, explotando la eficiencia de varios mecanismos de an谩lisis provenientes de los m茅todos formales, como SAT solving, model checking e interpolaci贸n
    corecore