Curried version of G
Breaks simmetry using UIDs.
Breaks simmetry using UIDs. UIDs are used to break symmetry by a competition between devices for leadership.
Broadcast information outward from a source field.
Broadcast information outward from a source field.
Type of the value to be broadcast
The source of the broadcast
Field denoting (1) at the source, the value to be broadcast; and (2) in other places, the default value of the broadcast field.
Metric that parameterises the gradient-based construction of the the propagation structure
A broadcast field.
true only when a discontinuity (i.e., a change) is observed on x
(you may choose how to handle the first observation)
A channel from a source
to a target
with width width
.
A channel from a source
to a target
with width width
.
A channel is a boolean field which is true in correspondence of the device positioned
along the minimum path from source to target.
Alias for remember()
Alias for remember()
It is a simple building block which returns the same values it receives in input delayed by one computation round.
It is a simple building block which returns the same values it receives in input delayed by one computation round.
Distance between source
to target
based on metric
Distance between source
to target
based on metric
Candidate leader devices surrender leadership to the lowest nearby UID.
A field of distance (i.e., a gradient) from a source
, based on a given metric
A field of distance (i.e., a gradient) from a source
, based on a given metric
Idea: a device should change its estimate only for significant errors.
Idea: a device should change its estimate only for significant errors. Useful when devices far from the source need only coarse estimates. Flex gradient provides tunable trade-off between precision and communication cost.
Parameter expressing tolerance wrt changes
Distortion into the distance measure, such that neighbor distance is never considered to be less than delta * communicationRadius.
Source fields of devices from which the gradient is calculated
true when the given parameter goes from true to false (starting from false); false otherwise
true when the given parameter goes from false to true (starting from false); false otherwise
Hop distance
Hop distance
Remembers the occurrence of some condition or event
Remembers the occurrence of some condition or event
Remembers the provided optional value, unless empty
Remembers the provided optional value, unless empty
Returns a non-empty optional with the provided value just once, then None
Returns a non-empty optional with the provided value just once, then None
Generates a field of random unique identifiers.
Generates a field of random unique identifiers.
a tuple where the first element is a random number, end the second element is the device identifier to ensure uniqueness of the field elements.
Remembers the provided value
Remembers the provided value
Counts the number of rounds, refreshing each time the computation is re-entered.
Counts the number of rounds, refreshing each time the computation is re-entered. TODO: consider boundedness as a limitation for long-lived/eternal systems
the number of the round
Version of G (Gradient-Cast) that takes a potential field g
as input
Version of G (Gradient-Cast) that takes a potential field g
as input
type of the value to be accumulated
potential field
metric to use for the "last step"
value of the field for sources
aggregator
a field that locally provides the value of the gradient-cast (field
at sources, and an accumulation value along the way)
As it seems buggy.
Version of G (Gradient-Cast) that takes a Gradient algorithm as input.
Version of G (Gradient-Cast) that takes a Gradient algorithm as input. This is motivated by the desire of speeding G up by using
The gradient algorithm to use -- notice that this encapsulates details about the gradient field (e.g., the sources)
As it seems buggy: see G_along
method.
(Since version ) see corresponding Javadoc for more information.