765 research outputs found

    Hybrid Session Verification through Endpoint API Generation

    Get PDF
    © Springer-Verlag Berlin Heidelberg 2016.This paper proposes a new hybrid session verification methodology for applying session types directly to mainstream languages, based on generating protocol-specific endpoint APIs from multiparty session types. The API generation promotes static type checking of the behavioural aspect of the source protocol by mapping the state space of an endpoint in the protocol to a family of channel types in the target language. This is supplemented by very light run-time checks in the generated API that enforce a linear usage discipline on instances of the channel types. The resulting hybrid verification guarantees the absence of protocol violation errors during the execution of the session. We implement our methodology for Java as an extension to the Scribble framework, and use it to specify and implement compliant clients and servers for real-world protocols such as HTTP and SMTP

    On Asynchronous Session Semantics

    Get PDF
    This paper studies a behavioural theory of the π-calculus with session types under the fundamental principles of the practice of distributed computing — asynchronous communication which is order-preserving inside each connection (session), augmented with asynchronous inspection of events (message arrivals). A new theory of bisimulations is introduced, distinct from either standard asynchronous or synchronous bisimilarity, accurately capturing the semantic nature of session-based asynchronously communicating processes augmented with event primitives. The bisimilarity coincides with the reduction-closed barbed congruence. We examine its properties and compare them with existing semantics. Using the behavioural theory, we verify that the program transformation of multithreaded into event-driven session based processes, using Lauer-Needham duality, is type and semantic preserving

    Acetate intolerance is mediated by enhanced synthesis of nitric oxide by endothelial cells.

    Get PDF
    The clinical picture of acetate intolerance strictly mimics the nitric oxide (NO) effect, including smooth muscle relaxation and extreme vasodilation. Because acetate induces production of cAMP, which is a powerful stimulus of NO synthase (NOS), we evaluated the effect of different dialysate solutions with and without acetate on NOS activity in endothelial cells (EC). NOS activity of EC, evaluated as H3-citrulline produced from H3-arginine, was modulated by the dialysate composition (e.g., 38 mmol/L acetate produced an increase of 3.2 +/- 0.39-fold compared with basal values (P < 0.0005), and the small amount of acetate (4 mmol/L) in 35 mmol/L bicarbonate solution increased the NOS activity by 2 +/- 0.49-fold (P < 0.05). Conversely, the acetate-free solution produced no effect on NOS activity. The mRNA encoding for inducible NOS was highly expressed in EC incubated with acetate buffer and also with acetate in bicarbonate dialysis buffer. The EC proliferative index was depressed by acetate (P < 0.0005), and tumor necrosis factor synthesis was increased (P < 0.0005) compared with acetate-free buffer. This study suggests that dialytic "acetate intolerance" can be induced by the activation, through cAMP and tumor necrosis factor release, of NOS. The small amount of acetate in bicarbonate dialysate, although capable of inducing in vitro NOS activation, is likely to be rapidly metabolized, whereas the large amounts of this anion in acetate fluids overwhelm metabolism by the liver. Acetate-free dialysate is the only solution that provides an acceptable level of biocompatibility both in vivo and in vitro

    Integración de modelos para aplicaciones geográficas

    Get PDF
    Existe actualmente número muy grande de aplicaciones informáticas destinadas al procesamiento de información geográfica. Éstas se caracterizan por emplear bases de datos propietarias y no estandarizadas. Si bien son funcionalmente cada vez más completas (y complejas), es difícil concebir una aplicación que satisfaga las infinitas necesidades y preferencias de los analistas, modeladores y simuladores de información y procesos geográficos y ambientales, y menos aún que facilite el reuso o la documentación de las diferentes secuencias de procesamiento aplicadas en una tarea en particular. Por su parte, una tendencia generalmente aceptada es la de producir estándares y protocolos internacionales que apuntan a la integración de los sistemas, como lo es actualmente el OpenGIS en este campo de aplicación. En este trabajo se propone la creación de un banco de trabajo visual que brinde al usuario final la posibilidad de implementar modelos en los que se integran componentes interconectables en una red para la conformación de un sistema flexible y predecible. Estos componentes podrían ser implementados por diversos fabricantes y/o proveedores de software o encontrarse como servicios distribuidos físicamente sobre una red informática.El programa de modelación visual actúa como controlador de todo el sistema permitiendo al analista desarrollar, con una única herramienta, el modelo de su interés. Se presenta como ejemplo el modelo conceptual y la implementación de una aplicación que permite el renderizado de un DEM como superficie 3D, obtenido a partir de un archivo de curvas de nivel.Eje: Ingeniería de Software y Bases de Datos (ISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Integración de modelos para aplicaciones geográficas

    Get PDF
    Existe actualmente número muy grande de aplicaciones informáticas destinadas al procesamiento de información geográfica. Éstas se caracterizan por emplear bases de datos propietarias y no estandarizadas. Si bien son funcionalmente cada vez más completas (y complejas), es difícil concebir una aplicación que satisfaga las infinitas necesidades y preferencias de los analistas, modeladores y simuladores de información y procesos geográficos y ambientales, y menos aún que facilite el reuso o la documentación de las diferentes secuencias de procesamiento aplicadas en una tarea en particular. Por su parte, una tendencia generalmente aceptada es la de producir estándares y protocolos internacionales que apuntan a la integración de los sistemas, como lo es actualmente el OpenGIS en este campo de aplicación. En este trabajo se propone la creación de un banco de trabajo visual que brinde al usuario final la posibilidad de implementar modelos en los que se integran componentes interconectables en una red para la conformación de un sistema flexible y predecible. Estos componentes podrían ser implementados por diversos fabricantes y/o proveedores de software o encontrarse como servicios distribuidos físicamente sobre una red informática.El programa de modelación visual actúa como controlador de todo el sistema permitiendo al analista desarrollar, con una única herramienta, el modelo de su interés. Se presenta como ejemplo el modelo conceptual y la implementación de una aplicación que permite el renderizado de un DEM como superficie 3D, obtenido a partir de un archivo de curvas de nivel.Eje: Ingeniería de Software y Bases de Datos (ISBD)Red de Universidades con Carreras en Informática (RedUNCI

    The Paths to Choreography Extraction

    Full text link
    Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification (e.g., Multiparty Session Types) and synthesis of correct-by-construction software (Choreographic Programming). They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most existing software does not come with choreographies yet, which prevents their application. To attack this problem, we propose a novel methodology (called choreography extraction) that, given a set of programs or protocol specifications, automatically constructs a choreography that describes their behavior. The key to our extraction is identifying a set of paths in a graph that represents the symbolic execution of the programs of interest. Our method improves on previous work in several directions: we can now deal with programs that are equipped with a state and internal computation capabilities; time complexity is dramatically better; we capture programs that are correct but not necessarily synchronizable, i.e., they work because they exploit asynchronous communication
    corecore