Core operational semantics of Proto

The Proto spatial computing language [6] 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 becoming a challenge to its coherence across different platforms and distributions. We thus present an operational semantics for a core subset of the Proto language. This semantics covers all the key operations of the three space-time operator families unique to Proto---restriction, feedback, and neighborhood---as well as a few of the pointwise operations that it shares with most other languages. Because Proto programs are distributed, we also present an operational semantics for their asynchronous execution across a network. This formalization will provide a reference to aid implementers in preserving language coherence across platforms, domains, and distributions.

[1]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[2]  Jacob Beal Programming an Amorphous Computational Medium , 2004, UPP.

[3]  Jacob Beal,et al.  Continuous Space-Time Semantics Allow Adaptive Program Execution , 2007, First International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2007).

[4]  Seth Copen Goldstein,et al.  Meld: A declarative approach to programming ensembles , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[5]  Olivier Michel,et al.  Computational models for integrative and developmental biology , 2002 .

[6]  J. Bachrach,et al.  Programming a Sensor Network as an Amorphous Medium , 2006 .

[7]  Philip Wadler,et al.  Featherweight Java: a minimal core calculus for Java and GJ , 2001, TOPL.

[8]  Alessandro Ricci,et al.  simpA: An agent-oriented approach for programming concurrent applications on top of Java , 2011, Sci. Comput. Program..

[9]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[10]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[11]  D. Walker,et al.  A Calculus of Mobile Processes, Part I , 1989 .

[12]  Seth Copen Goldstein,et al.  Programming modular robots with locally distributed predicates , 2008, 2008 IEEE International Conference on Robotics and Automation.

[13]  Jacob Beal,et al.  Composable continuous-space programs for robotic swarms , 2010, Neural Computing and Applications.

[14]  Franco Zambonelli,et al.  Programming pervasive and mobile computing applications: The TOTA approach , 2009, TSEM.

[15]  Ryan Newton,et al.  Region streams: functional macroprogramming for sensor networks , 2004, DMSN '04.

[16]  Jacob Beal,et al.  Infrastructure for engineered emergence on sensor/actuator networks , 2006, IEEE Intelligent Systems.

[17]  Ramesh Govindan,et al.  Macro-programming Wireless Sensor Networks Using Kairos , 2005, DCOSS.

[18]  Jacob Beal,et al.  Fast self-healing gradients , 2008, SAC '08.

[19]  Jacob Beal,et al.  Cells Are Plausible Targets for High-Level Spatial Languages , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops.