1,202 research outputs found

    Automated Formal Analysis of Temporal Properties of Ladder Programs

    Get PDF
    International audienceProgrammable Logic Controllers are industrial digital computers used as automation controllers in manufacturing processes. The Ladder language is a programming language used to develop software for such controllers. In this work, we consider the description of the expected behaviour of a Ladder program under the form of a timing chart, describing a scenario of execution. Our aim is to prove that the given Ladder program conforms to the expected temporal behaviour given by such a timing chart. Our approach amounts to translating the Ladder code, together with the timing chart, into a program for the Why3 environment for deductive program verification. The verification proceeds with the generation of verification conditions: mathematical formulas to be checked valid using automated theorem provers. The ultimate goal is twofold. On the one hand, by obtaining a complete proof, one verifies the conformity of the Ladder code with respect to the timing chart with a high degree of confidence. On the other hand, in the case the proof is not fully completed, one obtains a counterexample, illustrating a possible execution scenario of the Ladder code which does not conform to the timing chart

    Proceedings Fifth Workshop on Formal Integrated Development Environment

    Get PDF
    F-IDE 2019 is the fifth international workshop on Formal Integrated Development Environment, held on October 7, 2019 in Porto, Portugal, as part of the FM 2019 World Congress on Formal Methods. High levels of safety, security and also privacy standards require the use of formal methods to specify and develop compliant software (sub)systems. Any standard comes with an assessment process, which requires a complete documentation of the application in order to ease the justification of design choices and the review of code and proofs. Ideally, an F-IDE dedicated to such developments should comply with several requirements. The first one is to associate a logical theory with a programming language, in a way that facilitates the tightly coupled handling of specification properties and program constructs. The second is to offer a language/environment simple enough to be usable by most developers, even if they are not fully acquainted with higher-order logics or set theory, in particular by making development of proofs as easy as possible. The third is to offer automated management of application documentation. It may also be expected that developments done with such an F-IDE are reusable and modular. Tools for testing and static analysis may be embedded within F-IDEs to support the assessment process. The workshop is a forum of exchange on different features related to F-IDEs. We solicited several kinds of contributions: research papers providing new concepts and results, position papers and research perspectives, experience reports, tool presentations. The workshop was open to contributions on all aspects of a system development process, including specification, design, implementation, analysis and documentation. The current edition is a one-day workshop with eight communications, offering a large variety of approaches, techniques and tools. Each submission was reviewed by three reviewers. We also had the honor of welcoming Wolfgang Ahrendt, from Chalmers University of Technology, who gave a keynote entitled What is KeY's key to software verification?info:eu-repo/semantics/publishedVersio

    Deductive formal verification of embedded systems

    Get PDF
    We combine static analysis techniques with model-based deductive verification using SMT solvers to provide a framework that, given an analysis aspect of the source code, automatically generates an analyzer capable of inferring information about that aspect. The analyzer is generated by translating the collecting semantics of a program to a formula in first order logic over multiple underlying theories. We import the semantics of the API invocations as first order logic assertions. These assertions constitute the models used by the analyzer. Logical specification of the desired program behavior is incorporated as a first order logic formula. An SMT-LIB solver treats the combined formula as a constraint and solves it. The solved form can be used to identify logical and security errors in embedded programs. We have used this framework to analyze Android applications and MATLAB code. We also report the formal verification of the conformance of the open source Netgear WNR3500L wireless router firmware implementation to the RFC 2131. Formal verification of a software system is essential for its deployment in mission-critical environments. The specifications for the development of routers are provided by RFCs that are only described informally in English. It is prudential to ensure that a router firmware conforms to its corresponding RFC before it can be deployed for managing mission-critical networks. The formal verification process demonstrates the usefulness of inductive types and higher-order logic in software certification

    An overview of decision table literature 1982-1995.

    Get PDF
    This report gives an overview of the literature on decision tables over the past 15 years. As much as possible, for each reference, an author supplied abstract, a number of keywords and a classification are provided. In some cases own comments are added. The purpose of these comments is to show where, how and why decision tables are used. The literature is classified according to application area, theoretical versus practical character, year of publication, country or origin (not necessarily country of publication) and the language of the document. After a description of the scope of the interview, classification results and the classification by topic are presented. The main body of the paper is the ordered list of publications with abstract, classification and comments.

    Hardware Simulation for Testing IEC 61131-3

    Get PDF
    Testing of control code written in IEC 61131-3 has long been a strenuous manual process. The focus in this master's thesis is on building a simulator of an Alfa Laval separator to enable testing of control code. In this particular case, the control code being tested is written and executed in a soft PLC called TwinCAT. The simulator for testing code is written in C#. When testing code, automated tests are preferred because it enables easy regression testing. For this purpose a testing tool using a customized script language has been developed. Testing with a simulator is also beneficial because errors can be found early in the development process, thus reducing the number of errors left to be found when testing on hardware. Comparison tests show that the simulator performs sufficiently well for testing of control code

    The application of knowledge based systems to the abstraction of design and costing rules in bespoke pipe jointing systems

    Get PDF
    This thesis presents the work undertaken in the creation of a knowledge based system aimed at facilitating the design and cost estimation of bespoke pipe jointing systems. An overview of the problem domain is provided and the findings from a literature review on knowledge based systems and applications in manufacturing were used to provide initial guidance to the research. The overall investigation and development process involved the abstraction of design and costing rules from domain experts using a sub-set of the techniques reviewed and the development and implementation of the knowledge based system using an expert system approach, the soft systems methodology (SSM) and the system development lifecycle methodology. Based on the abstracted design and costing rules, the developed system automates the design of pipe jointing systems, and facilitates cost estimation process within third party configuration software. The developed system was validated using two case studies and was shown to provide the required outputs

    Hybrid toy construction

    Get PDF
    Este proyecto, 'Hybrid Toy Construction', se enfoca en enriquecer la experiencia de juego de los niños a través de los juguetes. Al comparar las diferentes experiencias de juego de los niños con una interfaz de usuario tangible (TUI), una interfaz de usuario física (PUI) y una interfaz de usuario gráfica (GUI), se comprobó que los niños prefieren usar un juguete con una GUI sobre una TUI o una PUI. El objetivo del proyecto es la creación de un juguete híbrido para niños de cinco a seis años. Para ello, el juguete contiene elementos físicos (PUI) en forma de un tren, pistas, estaciones y otros objetos inteligentes, así como elementos digitales (GUI) en forma de aplicación. Ambas realidades (la física y la digital) se comunican mediante Bluetooth, estando relacionadas a través de una aplicación para enriquecer la experiencia del usuario. El juguete tiene el propósito de estimular los sentidos de los niños y fomentar su desarrollo mediante el uso de la diversión y juegos educacionalesDepartamento de Teoría de la Arquitectura y Proyectos ArquitectónicosGrado en Ingeniería en Diseño Industrial y Desarrollo de Product
    • …
    corecore