5 research outputs found

    Preserving Liveness Guarantees from Synchronous Communication to Asynchronous Unstructured Low-Level Languages

    Get PDF
    In the implementation of abstract synchronous communication in asynchronous unstructured low-level languages, e.g. using shared variables, the preservation of safety and especially liveness properties is a hitherto open problem due to inherently different abstraction levels. Our approach to overcome this problem is threefold: First, we present our notion of handshake refinement with which we formally prove the correctness of the implementation relation of a handshake protocol. Second, we verify the soundness of our handshake refinement, i.e., all safety and liveness properties are preserved to the lower level. Third, we apply our handshake refinement to show the correctness of all implementations that realize the abstract synchronous communication with the handshake protocol. To this end, we employ an exemplary language with asynchronous shared variable communication. Our approach is scalable and closes the verification gap between different abstraction levels of communication

    Change Patterns for Supporting the Evolution of Event-Based Systems

    Get PDF
    Abstract. As event-driven architectures consist of highly decoupled components, they are a promising solution for facilitating high flexibility, scalability, and concurrency of distributed systems. However, the evolution of an event-based system is often challenging due to the intrinsic loose coupling of its components. This problem occurs, on the one hand, because of the absence of explicit information on the dependencies among the constituting components. On the other hand, assisting techniques for investigating and understanding the implications of changes are missing, hindering the implementation and maintenance of the changes in eventbased architectures. Our approach presented in this paper aims at overcoming these challenges by introducing primitive change actions and higher-level change patterns, formalized using trace semantics, for representing the modification actions performed when evolving an event-based system. Our proof-of-concept implementation and quantitative evaluations show that our approach is applicable for realistic application scenarios

    FInCo 2007 AGAPIA v0.1: A programming language for interactive systems and its typing system

    Get PDF
    Abstract A model (consisting of rv-systems), a core programming language (for developing rv-programs), several specification and analysis techniques appropriate for modeling, programming and reasoning about interactive computing systems have been recently introduced by Stefanescu using register machines and space-time duality, se

    A Formal and Tool-Equipped Approach for the Integration of State Diagrams and Formal Datatypes

    Get PDF
    International audienceSeparation of concerns or aspects is a way to deal with the increasing complexity of systems. The separate design of models for different aspects also promotes a better reusability level. However, an important issue is then to define means to integrate them into a global model. We present a formal and tool-equipped approach for the integration of dynamic models (behaviors expressed using state diagrams) and static models (formal data types) with the benefit to share advantages of both: graphical user-friendly models for behaviors, formal and abstract models for data types. Integration is achieved in a generic way so that it can deal with both different static specification languages (algebraic specifications, Z, B) and different dynamic specification semantic

    Action Refinement in End-Based Choice Settings

    Full text link
    The choice operator is essential for the description of action-based reactive systems. If the atomicity of actions is dropped (e.g. by action refinement), one has to decide when the choice is triggered. The standard approach is to trigger the choice when actions start. This thesis examine the alternative approach that the choice is triggered when actions terminate. This end-based choice is motivated and a process algebra, which contains an end-based choice and an action refinement operator, is established. Consistent semantics (operational, denotational, axiomatical) are given. Furthermore, the difference between the start-based and the end-based choice are examined, in particular with respect to equivalence notions. New equivalence are established, since the standard equivalences are not preserved by the end-based action refinement operator
    corecore