329,922 research outputs found
Typing actors using behavioural types
The actor model of computation assists and disciplines
the development of concurrent programs by forcing
the software engineer to reason about high-level concurrency
abstractions. While this leads to a better handling
of concurrency-related issues, the model itself does not exclude
erratic program behaviours. In this paper we consider
the actor model and investigate a type-based static analysis
to identify actor systems which may behave erraticly during
runtime. We consider the notion of behavioural types
and consider issues related to the nature of the actor model
including non-determinism, multi-party communication, dynamic
actor spawning, non-finite computation and a possibly
changing communication topology, which we contrast with
existing works.peer-reviewe
Post hoc verification of quantum computation
With recent progress on experimental quantum information processing, an
important question has arisen as to whether it is possible to verify arbitrary
computation performed on a quantum processor. A number of protocols have been
proposed to achieve this goal, however all are interactive in nature, requiring
that the computation be performed in an interactive manner with back and forth
communication between the verifier and one or more provers. Here we propose two
methods for verifying quantum computation in a non-interactive manner based on
recent progress in the understanding of the local Hamiltonian problem. Provided
that the provers compute certain witnesses for the computation, this allows the
result of a quantum computation to be verified after the fact, a property not
seen in current verification protocols.Comment: 4 pages, 2 figure
Reusability of coordination programs
Isolating computation and communication concerns into separate pure computation and pure coordination modules enhances modularity, understandability, and reusability of parallel and/or distributed software. This can be achieved by moving communication primitives (such as SendMessage and ReceiveMessage), which are now commonly scattered in application codes, into separate modules written in a language dedicated to the coordination of processes and the flow of information among them. MANIFOLD is a pure coordination language that encourages the separation of communication and computation concerns, We use real, concrete, running MANIFOLD programs to demonstrate the concept of pure coordination modules and the advantage of their reuse in applications of different nature
- …