Mirko Viroli, Jacob Beal, Kyle Usbeck
Science of Computer Programming 78(6), pages 633-656
June 2013
The Proto spatial computing language simplifies the creation of scalable, robust, distributed programs by abstracting a network of locally communicating devices as a continuous geometric manifold. However, Proto’s successful application in a number of domains is challenging its coherence across different platforms and distributions. We thus present a complete operational semantics for the Proto language, as executed asynchronously on a network of fast message-passing devices. This semantics covers all of the operations of the three space-time operator families unique to Proto - restriction, feedback, and neighborhood - as well as the current pointwise operations that it shares with most other languages. This formalization will provide a reference to aid implementers in preserving language coherence across platforms, domains, and distributions. The formalization process has also advanced the Proto language in several ways, which we explain in detail.
journal or series
Science of Computer Programming
(SCP)