Most foundational models for global computing have focused on the
spatial dimension, however global computing requires also new ways of
thinking about the temporal dimension. In particular, with no central
control and the need to operate with incomplete information there is a
compelling need to interleave meta-programming activities (like
assembly and linking of code fragments), security checks (like
type-checking at administrative boundaries) and normal computational
activities.
MetaKlaim is a case study in modeling both spatial and temporal
aspects of computing by integrating MetaML (an extension of SML for
multi-stage programming) and Klaim (a Kernel Language for Agents
Interaction and Mobility). The staging annotations of MetaML provide
a fine-grain control of the temporal aspects, while Klaim allows to
model and program the spatial aspects of distributed concurrent
applications. Our approach for combining these aspects is quite
general and should be applicable to other languages/systems for
network programming.