25 research outputs found

    Camila revival: VDM meets haskell

    Get PDF
    We have experimented with modeling some of the key concepts of the VDM specification language inside the functional programming language Haskell. For instance, VDM’s sets and maps are directly available as data types defined in standard libraries; we merely needed to define some additional functions to make the match complete. A bigger challenge is posed by VDM’s data type invariants, and pre- and post- conditions. For these we resorted to Haskell’s constructor class mechanism, and its support for monads. This allows us to switch between different modes of evaluation (e.g. with or without property checking) by simply coercing user defined functions and operations to different specific types

    Enhancing the adoption of formal methods to design real-time systems

    Get PDF
    Formal methods are being increasingly used in engineering industrial software. They are moatly used for specifying and verifying software requirements, but seldom in later development phases. This paper tries to bridge the gap between formal requirements specifiction and final code by introducing a formally defill ed désign notatlon. The propased design notation extends strtictured analysis specification notationswith conatructs derived from POSIX real-time extensions. The design notation proposed in this anide is formally defined. Also; an operational semantic la given by meana of high-Ievel timed Petri neta, and can be formally analyzed using tools and techniques available for Petri nets.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI

    Enhancing Formal Modelling Tool Support with Increased Automation

    Get PDF
    Progress report for the qualification exam report for PhD Student Kenneth Lausdahl. Initial work on enhancing tool support for the formal method VDM and the concept of unifying a abstract syntax tree with the ability for isolated extensions is described. The tool support includes a connection to UML and a test automation principle based on traces written as a kind of regular expressions

    Formalizing markup languages for user interface

    Get PDF
    Dissertação de mestrado em InformáticaThis document presents a Dissertation theme, as integral part of Masters Degree in Distributed Systems, Computers Architecture and Computers Communication. The work has as primary objective the application of formal methods in the specification of presentation layer. Even reaching several relevance HCI concerns, the scope focus essentially on the way how formal methods can be explored to specify user interfaces described using markup languages.The state-of-the-art analysis of user interface markup languages and UIML-User Interface Markup Language formal specification are main contributions.Therefore the tabular graphical object OLAP main features are formally specified inVDM-SL and animated using UIML.This research should be considered as a contribution towards a definition of a visual component library,with user interfaces components composition and reuse.Dissertação desenvolvida no âmbito do Projecto EUREKA IKF (E!2235

    Modelling Dynamic Topologies via Extensions of VDM-RT

    Get PDF
    Only a few formal methods include descriptions of the network topology that the modelled system is deployed onto. In VDM Real-Time (VDM-RT) this has been enabled for distributed systems that have a static structure. However, when modelling dynamic systems this fixed topology becomes an issue. Systems with highly distributed and alternating relationships cannot be expressed correctly in a static model. This document describes how VDM-RT can be extended with new language constructs to enable the description of dynamic reconfiguration of the network topology during the runtime execution of a model. The extension is developed on the basis of a case study involving a dynamic system that has a constant changing system topology. With a basis in the case study a model is developed that uses the static version of VDM-RT in order to reveal the limitations of the language. The case study is then revisited where the capabilities of the proposed reconfiguration extension are applied to the model, and the value of having the extension is evaluated. We expect that other notations can benefit from the experiences reported here

    The Knowledge Acquisition and Representation Language, KARL

    Full text link

    The automated translation of integrated formal specifications into concurrent programs

    Get PDF
    The PROB model checker [LB03] provides tool support for an integrated formal specification approach, which combines the state-based B specification language [Abr96] with the event-based process algebra CSP [Hoa78]. The JCSP package [WM00b] presents a concurrent Java implementation for CSP/occam. In this thesis, we present a developing strategy for implementing such a combined specification as a concurrent Java program. The combined semantics in PROB is flexible and ideal for model checking, but is too abstract to be implemented in programming languages. Also, although the JCSP package gave us significant inspiration for implementing formal specifications in Java, we argue that it is not suitable for directly implementing the combined semantics in PROB. Therefore, we started with defining a restricted semantics from the original one in PROB. Then we developed a new Java package, JCSProB, for implementing the restricted semantics in Java. The JCSProB package implements multi-way synchronization with choice for the combined B and CSP event, as well as a new multi-threading mechanism at process level. Also, a GUI sub-package is designed for constructing GUI programs for JCSProB to allow user interaction and runtime assertion checking. A set of translation rules relates the integrated formal models to Java and JCSProB, and we also implement these rules in an automated translation tool for automatically generating Java programs from these models. To demonstrate and exercise the tool, several B/CSP models, varying both in syntactic structure and behavioural properties, are translated by the tool. The models manifest the presence and absence of various safety, deadlock, and fairness properties; the generated Java code is shown to faithfully reproduce them. Run-time safety and fairness assertion checking is also demonstrated. We also experimented with composition and decomposition on several combined models, as well as the Java programs generated from them. Composition techniques can help the user to develop large distributed systems, and can significantly improve the scalability of the development of the combined models of PROB.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore