The input of a computation round in a node Bounded as of Context interface
A field-calculus "behaviour" inherits from this trait.
A field-calculus "behaviour" inherits from this trait. Differences wrt the paper version are: - foldhood is given a "universal quantification" semantics - neighbour exposes whether we are in one such quantification - mid is so foundational that we put it here
A consequence is that we do not have field types, only locals: so we integrate at best with Scala
A computation round, as an I/O function
The output of a computation round in a node Bounded to have at least a root element, as of Export interface
It implements the whole operational semantics.
The unique identifier of a node
The unique identifier of a node
Name of local sensors (sensors receiving information from a node)
Name of local sensors (sensors receiving information from a node)
Name of neighbourhood sensors (sensors receiving information from neighbours, like estimated distances)
Name of neighbourhood sensors (sensors receiving information from neighbours, like estimated distances)
This trait defines a component that extends Core and Language It starts concretising the framework by implementing the key element of field-calculus semantics, namely: - An export is a map from paths to values, and a value is a list of slots - An Execution template implementing the whole operational semantics - A basic Factory - Additional ops to Context and Export, realised by family polymorphism
This is still abstract in that we do not dictate how Context and Export are implemented and optimised internally