291 research outputs found
A categorical foundation for structured reversible flowchart languages: Soundness and adequacy
Structured reversible flowchart languages is a class of imperative reversible
programming languages allowing for a simple diagrammatic representation of
control flow built from a limited set of control flow structures. This class
includes the reversible programming language Janus (without recursion), as well
as more recently developed reversible programming languages such as R-CORE and
R-WHILE.
In the present paper, we develop a categorical foundation for this class of
languages based on inverse categories with joins. We generalize the notion of
extensivity of restriction categories to one that may be accommodated by
inverse categories, and use the resulting decisions to give a reversible
representation of predicates and assertions. This leads to a categorical
semantics for structured reversible flowcharts, which we show to be
computationally sound and adequate, as well as equationally fully abstract with
respect to the operational semantics under certain conditions
Tail recursion transformation for invertible functions
Tail recursive functions allow for a wider range of optimisations than
general recursive functions. For this reason, much research has gone into the
transformation and optimisation of this family of functions, in particular
those written in continuation passing style (CPS).
Though the CPS transformation, capable of transforming any recursive function
to an equivalent tail recursive one, is deeply problematic in the context of
reversible programming (as it relies on troublesome features such as
higher-order functions), we argue that relaxing (local) reversibility to
(global) invertibility drastically improves the situation. On this basis, we
present an algorithm for tail recursion conversion specifically for invertible
functions. The key insight is that functions introduced by program
transformations that preserve invertibility, need only be invertible in the
context in which the functions subject of transformation calls them. We show
how a bespoke data type, corresponding to such a context, can be used to
transform invertible recursive functions into a pair of tail recursive function
acting on this context, in a way where calls are highlighted, and from which a
tail recursive inverse can be straightforwardly extracted.Comment: Submitted to 15th Conference on Reversible Computation, 202
Efficient implementation of Markov chain Monte Carlo when using an unbiased likelihood estimator
When an unbiased estimator of the likelihood is used within a
Metropolis--Hastings chain, it is necessary to trade off the number of Monte
Carlo samples used to construct this estimator against the asymptotic variances
of averages computed under this chain. Many Monte Carlo samples will typically
result in Metropolis--Hastings averages with lower asymptotic variances than
the corresponding Metropolis--Hastings averages using fewer samples. However,
the computing time required to construct the likelihood estimator increases
with the number of Monte Carlo samples. Under the assumption that the
distribution of the additive noise introduced by the log-likelihood estimator
is Gaussian with variance inversely proportional to the number of Monte Carlo
samples and independent of the parameter value at which it is evaluated, we
provide guidelines on the number of samples to select. We demonstrate our
results by considering a stochastic volatility model applied to stock index
returns.Comment: 34 pages, 9 figures, 3 table
Automating the transformation-based analysis of visual languages
The final publication is available at Springer via http://dx.doi.org/10.1007/s00165-009-0114-yWe present a novel approach for the automatic generation of model-to-model transformations given a description of the operational semantics of the source language in the form of graph transformation rules. The approach is geared to the generation of transformations from Domain-Specific Visual Languages (DSVLs) into semantic domains with an explicit notion of transition, like for example Petri nets. The generated transformation is expressed in the form of operational triple graph grammar rules that transform the static information (initial model) and the dynamics (source rules and their execution control structure). We illustrate these techniques with a DSVL in the domain of production systems, for which we generate a transformation into Petri nets. We also tackle the description of timing aspects in graph transformation rules, and its analysis through their automatic translation into Time Petri netsWork sponsored by the Spanish Ministry of Science and Innovation, project METEORIC (TIN2008-02081/TIN) and by the Canadian Natural Sciences and Engineering Research Council (NSERC)
Cross Layer Solution for Energy and Delay Optimization in MANETs
A novel method for packet forwarding in MANETs has been proposed in this paper. A node in the network acts as both host and router. Energy utilization of the node increases as all nodes in MANET operate as source, destination, and router to forward packets to the next hop ultimately to reach destination. Routers execute a variety of functions from simple packet classification for forwarding to complex payload revision. As the number of tasks and complexity increases, processing time required also increases resulting in significant processing delay in routers. The proposed work optimizes packet header at transport and network layer by calculating Unique Identifier using pairing function for the fields which do not change for a source–destination pair. This technique optimizes the processing cost of each packet header thereby conserving energy and reducing delay. It also simplifies the task of system administration. This paper elucidates an extension to basic AODV protocol, allowing routing of most packets without an explicit header, reducing the overhead of the protocol while still conserving its basic properties. The proposed method improves the network performance significantly compared to AODV, MTPR, and S-AODV protocol
- …