93 research outputs found

    Analyzing Behavioural Scenarios over Tabular Specifications Using Model Checking

    Get PDF
    Tabular notations, in particular SCR specifications, have proved to be a useful means for formally describing complex requirements. The SCR method offers a powerful family of analysis tools, known as the SCR Toolset, but its availability is restricted by the Naval Research Laboratory of the USA. This toolset applies different kinds of analysis considering the whole set of behaviours associated with a requirements specification. In this paper we present a tool for describing and analyzing SCR requirements descriptions, that complements the SCR Toolset in two aspects. First, its use is not limited by any institution, and resorts to a standard model checking tool for analysis; and second, it allows to concentrate the analysis to particular sets of behaviours (subsets of the whole specifications), that correspond to particular scenarios explicitly mentioned in the specification. We take an operational notation that allows the engineer to describe behavioural "scenarios" by means of programs, and provide a translation into Promela to perform the analysis via Spin, an efficient off-the-shelf model checker freely available. In addition, we apply the SCR method to a Pacemaker system and we use its tabular specification as a running example of this article.Comment: In Proceedings LAFM 2013, arXiv:1401.056

    Automated Workarounds from Java Program Specifications based on SAT Solving

    Get PDF
    The failures that bugs in software lead to can sometimes be bypassed by the so-called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Existing approaches to workaround-based system recovery consider workarounds that are produced from equivalent method sequences, automatically computed from user-provided abstract models, or directly produced from user-provided equivalent sequences of operations. In this paper, we present two techniques for computing workarounds from Java code equipped with formal specifications, that improve previous approaches in two respects. First, the particular state where the failure originated is actively involved in computing workarounds, thus leading to repairs that are more state specific. Second, our techniques automatically compute workarounds on concrete program state characterizations, avoiding abstract software models and user-provided equivalences. The first technique uses SAT solving to compute a sequence of methods that is equivalent to a failing method on a specific failing state, but which can also be generalized to schemas for workaround reuse. The second technique directly exploits SAT to circumvent a failing method, building a state that mimics the (correct) behaviour of a failing routine, from a specific program state too. We perform an experimental evaluation based on case studies involving implementations of collections and a library for date arithmetic, showing that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run-time repairs. Our results also show that our state-specific workarounds enable us to produce repairs in many cases where previous workaround-based approaches are inapplicable.Fil: Uva, Marcelo Ariel. Universidad Nacional de Río Cuarto; ArgentinaFil: Ponzio, Pablo Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; ArgentinaFil: Regis, Germán. Universidad Nacional de Río Cuarto; ArgentinaFil: Aguirre, Nazareno Matias. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; ArgentinaFil: Frias, Marcelo Fabian. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Instituto Tecnológico de Buenos Aires; Argentin

    Towards scaling up DynAlloy analysis using predicate abstraction

    Get PDF
    DynAlloy is an extension to the Alloy specifi cation language suitable for modeling properties of executions of software systems. DynAlloy provides fully automated support for verifying properties of programs, in the style of the Alloy Analyzer, i.e., by exhaustively searching for counterexamples of properties in bounded scenarios (bounded domains and iterations of programs). But, as for other automated analysis techniques, the so called state explotion problem makes the analysis feasible only for small bounds. In this paper, we take advantage of an abstraction technique known as predicate abstraction, for scaling up the analysis of DynAlloy specifi cations. The implementation of predicate abstraction we present enables us to substantially increase the domain and iteration bounds in some case studies, and its use is fully automated. Our implementation is relatively e cient, exploiting the reuse of already calculated abstractions when these are available, and an "on the fly" check of traces when looking for counterexamples. We introduce the implementation of the technique, and some preliminary experimental results with case studies, to illustrate the benefi ts of the technique.VI Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    Towards scaling up DynAlloy analysis using predicate abstraction

    Get PDF
    DynAlloy is an extension to the Alloy specifi cation language suitable for modeling properties of executions of software systems. DynAlloy provides fully automated support for verifying properties of programs, in the style of the Alloy Analyzer, i.e., by exhaustively searching for counterexamples of properties in bounded scenarios (bounded domains and iterations of programs). But, as for other automated analysis techniques, the so called state explotion problem makes the analysis feasible only for small bounds. In this paper, we take advantage of an abstraction technique known as predicate abstraction, for scaling up the analysis of DynAlloy specifi cations. The implementation of predicate abstraction we present enables us to substantially increase the domain and iteration bounds in some case studies, and its use is fully automated. Our implementation is relatively e cient, exploiting the reuse of already calculated abstractions when these are available, and an "on the fly" check of traces when looking for counterexamples. We introduce the implementation of the technique, and some preliminary experimental results with case studies, to illustrate the benefi ts of the technique.VI Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    Computer Science and Technology Series : XV Argentine Congress of Computer Science. Selected papers

    Get PDF
    CACIC'09 was the fifteenth Congress in the CACIC series. It was organized by the School of Engineering of the National University of Jujuy. The Congress included 9 Workshops with 130 accepted papers, 1 main Conference, 4 invited tutorials, different meetings related with Computer Science Education (Professors, PhD students, Curricula) and an International School with 5 courses. CACIC 2009 was organized following the traditional Congress format, with 9 Workshops covering a diversity of dimensions of Computer Science Research. Each topic was supervised by a committee of three chairs of different Universities. The call for papers attracted a total of 267 submissions. An average of 2.7 review reports were collected for each paper, for a grand total of 720 review reports that involved about 300 different reviewers. A total of 130 full papers were accepted and 20 of them were selected for this book.Red de Universidades con Carreras en Informática (RedUNCI

    Herramientas de model finding para asistir en la construcción de especificaciones formales

    Get PDF
    Este trabajo plantea el desafío técnico de asistir en la construcción de especificaciones en el contexto de la enseñanza de la programación, en materias introductorias, a través de la provisión automática de información de análisis, basada en constraint solving relacional. Se presentan a través de ejemplos concretos, por un lado, la traducción de especificaciones que involucran expresiones cuantificadas al lenguaje Alloy, y por otro la definición de consultas de análisis que, mediante las herramientas Alloy y DynAlloy, brindan feedback automático a los estudiantes. Se discuten además algunas dificultades técnicas que se presentan al construir modelos de especificaciones con dominios numéricos, para su utilización en herramientas de model finding.Workshop: WTIAE – Tecnología Informática Aplicada en EducaciónRed de Universidades con Carreras en Informátic

    Lightweight specification and analysis of dynamic systems with rich configurations

    Get PDF
    Model-checking is increasingly popular in the early phases of the software development process. To establish the correctness of a software design one must usually verify both structural and behavioral(or temporal) properties. Unfortunately, most specification languages, and accompanying model-checkers, excel only in analyzing either one or the other kind. This limits their ability to verify dynamic systems with rich configurations: systems whose state space is characterized by rich structural properties, but whose evolution is also expected to satisfy certain temporal properties.To address this problem, we first propose Electrum, an extension of the Alloy specification language with temporal logic operators, where both rich configurations and expressive temporal properties can easily be de fined. Two alternative model-checking techniques are then proposed, one bounded and the other unbounded, to verify systems expressed in this language, namely to verify that every desirable temporal property holds for every possible configuration.ERDF - European Regional Development Fund()info:eu-repo/semantics/publishedVersio

    Conceptualization and Fabrication of a Bioinspired Mobile Robot Actuated by Shape Memory Alloy Springs

    Get PDF
    This work is an experimental study and fabrication of design concepts to validate the feasibility of smart materials and their applications in bio-inspired robotics. Shape-Memory Alloy (SMA) springs are selected as the smart material actuators of interest to achieve locomotion in the proposed mobile robot. Based on a previous design of the robot, this work focuses on both implementing a new locomotion concept and reducing size and weight of the previous design, both using SMA based actuators. Objectives are met in consideration of the conceptual mechanics of circular robot locomotion. The first prototype is a variation of the original design. It consists of a soft, rubber outer shell with three intrinsically attached diametric SMA springs that deform the outer shell during contraction and relaxation. The springs were provided with electrical current in patterns to produce deformation needed to generate momentum and allow the robot to tumble and roll. This design was further improved to provide more stability while rolling. The second design concept is a modification of our previous design leading to reduction in size and weight while maintaining essentially the same mechanism of locomotion. In this case, the SMA springs were externally configured between the end of equi-spaced spokes and the circular core. Upon actuation, the spokes function as diametrically translating legs to generate locomotion. These design concepts are fabricated and experimented on, to determine their feasibility, i.e. whether rolling/tumbling motion is achieved. The scope of the project was limited to demonstration of basic locomotion, which was successful. Future work on this project will address the design of automatic control to generate motion using closed-loop sensor-based actuation

    Reparación de programas aplicando templates: generando workarounds permanentes a través de SAT

    Get PDF
    La aplicación de procesos modernos y sistemáticos en el desarrollo de sistemas informáticos con estrictos estándares de calidad no ha podido evitar la presencia de defectos en el software. A pesar de extensas test-suites, un alto porcentaje de sistemas son implantados con fallas. El desarrollo de técnicas de reparación de programas ha cobrado gran importancia en esta última década. El concepto de workaround ha sido utilizado por diversos enfoques para la reparación de programas. Un workaround aprovecha la redundancia implícita en un sistema con el propósito de evitar fallas detectadas en runtime. A partir de una técnica de cómputo automático de state-bound workarounds (workarounds dependientes de estado) que utiliza SAT-Solving, se propone un procedimiento de búsqueda de workaround templates independientes de estado, es decir, state-free workarounds que permitan mejorar los tiempos de reparación de programas.XVI Workshop Ingeniería de Software.Red de Universidades con Carreras en Informátic

    Experimental Evaluation of a NACA 0021 Airfoil Employing Shape-Memory Alloy for Active Flow Control

    Get PDF
    Current aircraft use actuators to alter the wing geometry and generate the ideal flight characteristics which is known to be a method of active flow control. By replacing the heavy electric and hydraulic actuators currently used in aircraft wings with lighter and smaller shape memory alloys (SMAs), the mass of an aircraft can be reduced. Therefore, research was conducted to design and build an airfoil using SMAs as the actuator for improving the airfoil?s aerodynamic performance. The SMA actuated airfoil was evaluated using advanced flow diagnostic methods and was found to operate with a higher lift coefficient than the non-actuated airfoil for certain angles of attack (AoAs). Testing the SMA airfoil at various frequencies also revealed its effect on the flow recovery after actuation. Lastly, comparison of the SMA to comparable actuators revealed that the SMA wires had a force to mass ratio that was over 100 times larger
    • …
    corecore