  The complexity of large-scale distributed systems, particularly when deployed
in physical space, calls for new mechanisms to address composability and
reusability of collective adaptive behaviour. Computational fields have been
proposed as an effective abstraction to fill the gap between the macro-level of
such systems (specifying a system's collective behaviour) and the micro-level
(individual devices' actions of computation and interaction to implement that
collective specification), thereby providing a basis to better facilitate the
engineering of collective APIs and complex systems at higher levels of
abstraction. This paper proposes a full formal foundation for field
computations, in terms of a core (higher-order) calculus of computational
fields containing a few key syntactic constructs, and equipped with typing,
denotational and operational semantics. Critically, this allows formal
establishment of a link between the micro- and macro-levels of collective
adaptive systems, by a result of full abstraction and adequacy for the
(aggregate) denotational semantics with respect to the (per-device) operational
semantics.
