An ambient is a named cluster of processes and subambients, which moves as a group. We describe type systems able to guarantee that certain ambients will remain immobile, and that certain ambients will not be dissolved by their environment. 1 Motivation The ambient calculus CG98] is a process calculus that focuses primarily on process mobility rather than process communication. An ambient is a named location that may contain processes and subambients, and that can move as a unit inside or outside other ambients. Processes within an ambient may cause their enclosing ambient to move, and may communicate by anonymous asynchronous messages dropped into the local ether. Moreover, processes may open subambients, meaning that they can dissolve an ambient boundary and cause the contents of that ambient to spill into the parent ambient. The ability to move and open ambients is regulated by capabilities that processes must possess by prior knowledge or acquire by communication. In earlier work C...
Luca Cardelli, Andrew D. Gordon