520 research outputs found
Unlocking Blocked Communicating Processes
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
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
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í
- …