Mobile Reactive Systems over Bigraphical Machines - A Programming Model and its Implementation
In this dissertation we address the problem of bridging reactive programs and mobile computing machinery embedded in physical spaces with dynamic structure. We propose the BigActor Model as a bridging model between programs and logical-space models. The BigActor model  combines Hewitt and Agha's Actor model  for specifying concurrent reactive programs with Robin Milner's Bigraphical Model  for specifying the location and connectivity of the computing machines. The BigActor Model makes location and connectivity first-class citizens in distributed machines. This is analogous to another bridging model, the von Neumann machine, which makes first-class citizens of memory, instructions, and their sequentiality. The BigActor Programming Language (BAL) is an implementation of the BigActor Model. It has a runtime system named the BigActor Runtime System (BARS).
The BARS targets an abstract machine (bigraphs). The abstract machine has to be realized on a physical space of mobile and distributed computing machines. The realization is produced by the Logical-Space Execution Engine (LSEE), which bridges bigraphs with the physical space. The Logical-Space Runtime System (LSRS) extends BARS with LSEE so that programs written in BAL can seamlessly execute over physical spaces.
The second part of this dissertation is concerned with the formalization and implementation of the interactions between logical spaces and physical spaces. First, we approach this problem formally, by introducing the logical-space computing semantics. In logical-space computing, spatial agents operate over logical-space models while the runtime system is in charge of interacting with the physical space. We presented an implementation that follows the logical-space computing semantics. The LSRS uses the LSEE to generate logical-space models using bigraphs. The physical space is modelled using polygons defined using GPS coordinates. The spatial agents are bigActors. Our implementation programs robots and sensors in logical-space to execute an oil-spill monitoring exercise in the Atlantic. BigActor programs execute over BARS, which interacts with physical spaces through the LSEE. LSEE executes over the Robot Operating System (ROS) - an open-source middleware for robotics.
The physical machinery used in the demonstration consisted of one Air Force UAV, three ground control stations, four drifters that broadcast their position using AIS, and one Navy vessel equipped with a small speedboat. The Portuguese Navy emulated the oil-spill by releasing 100kg of popcorn in the ocean.