520 research outputs found

    Unlocking Blocked Communicating Processes

    Full text link
    We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose refactoring procedures that disentangle detected locks. Our development is cast within a simple setting of a finite linear CCS variant \^a although it suffices to illustrate the main concepts, we also discuss how our work extends to other language extensions.Comment: In Proceedings WWV 2015, arXiv:1508.0338

    Session Types as Generic Process Types

    Get PDF
    Behavioural type systems ensure more than the usual safety guarantees of static analysis. They are based on the idea of "types-as-processes", providing dedicated type algebras for particular properties, ranging from protocol compatibility to race-freedom, lock-freedom, or even responsiveness. Two successful, although rather different, approaches, are session types and process types. The former allows to specify and verify (distributed) communication protocols using specific type (proof) systems; the latter allows to infer from a system specification a process abstraction on which it is simpler to verify properties, using a generic type (proof) system. What is the relationship between these approaches? Can the generic one subsume the specific one? At what price? And can the former be used as a compiler for the latter? The work presented herein is a step towards answers to such questions. Concretely, we define a stepwise encoding of a pi-calculus with sessions and session types (the system of Gay and Hole) into a pi-calculus with process types (the Generic Type System of Igarashi and Kobayashi). We encode session type environments, polarities (which distinguish session channels end-points), and labelled sums. We show forward and reverse operational correspondences for the encodings, as well as typing correspondences. To faithfully encode session subtyping in process types subtyping, one needs to add to the target language record constructors and new subtyping rules. In conclusion, the programming convenience of session types as protocol abstractions can be combined with the simplicity and power of the pi-calculus, taking advantage in particular of the framework provided by the Generic Type System.Comment: In Proceedings EXPRESS/SOS 2014, arXiv:1408.127

    Brunella's Local Alternative

    Get PDF
    Trabajamos con una versión local de una conjetura propuesta por M. Brunella que dice que si se tiene una foliación holomorfa singular de codimensión uno F en el espacio proyectivo complejo de dimensión tres CP(3), entonces o bien F admite una superficie algebraica invariante o cada hoja de F es unión de curvas algebraicas. Hemos considerado foliaciones holomorfas singulares de codimensión uno en (C^3,0) que no admiten germen de superficie analítica invariante. Pedimos a estas foliaciones que no produzcan singularidades de tipo silla-nodo en su desingularización y que admitan una reducción de singularidades con algunas condiciones no restrictivas. El resultado principal de la tesis dice que una foliación con estas propiedades cumple una de las siguientes alternativas: a) existe un entorno de origen tal que cada hoje de F en este entorno contiene un germen de curva analítica invariante; b) existe una curva analítica del conjunto singular de la foliación que es genéricamente dicrítica o genéricamente nodalDepartamento de Algebra, Geometría y Topologí
    corecore