1,801 research outputs found
On Asynchrony and Choreographies
Choreographic Programming is a paradigm for the development of concurrent
software, where deadlocks are prevented syntactically. However, choreography
languages are typically synchronous, whereas many real-world systems have
asynchronous communications. Previous attempts at enriching choreographies with
asynchrony rely on ad-hoc constructions, whose adequacy is only argued
informally. In this work, we formalise the properties that an asynchronous
semantics for choreographies should have: messages can be sent without the
intended receiver being ready, and all sent messages are eventually received.
We explore how out-of-order execution, used in choreographies for modelling
concurrency, can be exploited to endow choreographies with an asynchronous
semantics. Our approach satisfies the properties we identified. We show how our
development yields a pleasant correspondence with FIFO-based asynchronous
messaging, modelled in a process calculus, and discuss how it can be adopted in
more complex choreography models.Comment: In Proceedings ICE 2017, arXiv:1711.1070
Hypothetical answers to continuous queries over data streams
Continuous queries over data streams may suffer from blocking operations
and/or unbound wait, which may delay answers until some relevant input arrives
through the data stream. These delays may turn answers, when they arrive,
obsolete to users who sometimes have to make decisions with no help whatsoever.
Therefore, it can be useful to provide hypothetical answers - "given the
current information, it is possible that X will become true at time t" -
instead of no information at all.
In this paper we present a semantics for queries and corresponding answers
that covers such hypothetical answers, together with an online algorithm for
updating the set of facts that are consistent with the currently available
information
Communications in Choreographies, Revisited
Choreographic Programming is a paradigm for developing
correct-by-construction concurrent programs, by writing high-level descriptions
of the desired communications and then synthesising process implementations
automatically. So far, choreographic programming has been explored in the
monadic setting: interaction terms express point-to-point communications of a
single value. However, real-world systems often rely on interactions of
polyadic nature, where multiple values are communicated among two or more
parties, like multicast, scatter-gather, and atomic exchanges. We introduce a
new model for choreographic programming equipped with a primitive for grouped
interactions that subsumes all the above scenarios. Intuitively, grouped
interactions can be thought of as being carried out as one single interaction.
In practice, they are implemented by processes that carry them out in a
concurrent fashion. After formalising the intuitive semantics of grouped
interactions, we prove that choreographic programs and their implementations
are correct and deadlock-free by construction
Sorting Networks: the End Game
This paper studies properties of the back end of a sorting network and
illustrates the utility of these in the search for networks of optimal size or
depth. All previous works focus on properties of the front end of networks and
on how to apply these to break symmetries in the search. The new properties
help shed understanding on how sorting networks sort and speed-up solvers for
both optimal size and depth by an order of magnitude
Humanoid Robot NAO : developing behaviours for soccer humanoid robots
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 201
Water Pricing and Social Equity in Portuguese Municipalities
Water supply services are Services of General Interest (SGI), subject to specific public service obligations, such as universality, continuity, quality, affordability, transparency, and consumer protection. There is an extensive empirical literature on the design of optimal prices. However, these contributions tend to neglect the issue of universal service and equity concerning the volume of water for basic needs (the ‘essential minimum quantity’). Addressing this gap in the literature, and using empirical data for the Portuguese municipalities, this paper aims to evaluate whether income-related equity considerations are embodied in water supply Portuguese municipalities’ tariffs. Accordingly, essential minimum quantities of water for representative households are computed, and then compared with the lowest tariff block’s upper limit by water utility. Next, representative households are ranked by costs underlying essential minimum quantities and by income. This analysis also considers concentration curves and indexes which show that water bills are regressive, i.e., there is socioeconomic inequity favourable to the better-off representative households.Water Policy, Water Pricing, Social Equity, Efficient Water Use, Portugal.
Connectors meet Choreographies
We present Cho-Reo-graphies (CR), a new language model that unites two
powerful programming paradigms for concurrent software based on communicating
processes: Choreographic Programming and Exogenous Coordination. In CR,
programmers specify the desired communications among processes using a
choreography, and define how communications should be concretely animated by
connectors given as constraint automata (e.g., synchronous barriers and
asynchronous multi-casts). CR is the first choreography calculus where
different communication semantics (determined by connectors) can be freely
mixed; since connectors are user-defined, CR also supports many communication
semantics that were previously unavailable for choreographies. We develop a
static analysis that guarantees that a choreography in CR and its user-defined
connectors are compatible, define a compiler from choreographies to a process
calculus based on connectors, and prove that compatibility guarantees
deadlock-freedom of the compiled process implementations
- …