Trait

it.unibo.scafi.lib.StdLib_BlockS

BlockS

Related Doc: package StdLib_BlockS

Permalink

trait BlockS extends (StdLib_BlockS.this)#BlockG

Self Type
(StdLib_BlockS.this)#BlockS with (StdLib_BlockS.this)#FieldCalculusSyntax with (StdLib_BlockS.this)#StandardSensors
Linear Supertypes
(StdLib_BlockS.this)#BlockG, (StdLib_BlockS.this)#FieldUtils, (StdLib_BlockS.this)#Gradients, (StdLib_BlockS.this)#StateManagement, (StdLib_BlockS.this)#GenericUtils, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BlockS
  2. BlockG
  3. FieldUtils
  4. Gradients
  5. StateManagement
  6. GenericUtils
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait FieldOps extends AnyRef

    Permalink
    Definition Classes
    FieldUtils
  2. case class Gradient(algorithm: (Boolean, () ⇒ Double) ⇒ Double, source: Boolean = false, metric: (StdLib_Gradients.this)#Metric = nbrRange) extends Product with Serializable

    Permalink
    Definition Classes
    Gradients

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def BisGradient(commRadius: Double = 0.2, lagMetric: ⇒ Double = nbrLag().toMillis): (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  5. val ClassicGradient: (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  6. val ClassicHopGradient: (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  7. def CrfGradient(raisingSpeed: Double = 5, lagMetric: ⇒ Double = nbrLag().toMillis): (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  8. def FlexGradient(epsilon: Double = 0.5, delta: Double = 1.0, communicationRadius: Double = 1.0): (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  9. def G[V](source: Boolean, field: V, acc: (V) ⇒ V, metric: () ⇒ Double): V

    Permalink
    Definition Classes
    BlockG
  10. def Gcurried[V](source: Boolean)(field: V)(acc: (V) ⇒ V)(metric: (StdLib_BlockS.this)#Metric = nbrRange): V

    Permalink

    Curried version of G

    Curried version of G

    Definition Classes
    BlockG
  11. def S(grain: Double, metric: (StdLib_BlockS.this)#Metric): Boolean

    Permalink
  12. def S2(grain: Double): Boolean

    Permalink
  13. def SvdGradient(lagMetric: ⇒ Double = nbrLag().toMillis): (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  14. def UltGradient(radius: Double = 0.2, factor: Double = 0.1): (BlockS.this)#Gradient

    Permalink
    Definition Classes
    Gradients
  15. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  16. def bisGradient(commRadius: Double = 0.2, lagMetric: ⇒ Double = nbrLag().toMillis)(source: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink
    Definition Classes
    Gradients
  17. def breakUsingUids(uid: (Double, (StdLib_BlockS.this)#ID), grain: Double, metric: (StdLib_BlockS.this)#Metric): Boolean

    Permalink

    Breaks simmetry using UIDs.

    Breaks simmetry using UIDs. UIDs are used to break symmetry by a competition between devices for leadership.

  18. def broadcast[V](source: Boolean, field: V, metric: (StdLib_BlockS.this)#Metric = nbrRange): V

    Permalink

    Broadcast information outward from a source field.

    Broadcast information outward from a source field.

    V

    Type of the value to be broadcast

    source

    The source of the broadcast

    field

    Field denoting (1) at the source, the value to be broadcast; and (2) in other places, the default value of the broadcast field.

    metric

    Metric that parameterises the gradient-based construction of the the propagation structure

    returns

    A broadcast field.

    Definition Classes
    BlockG
  19. def captureChange[T](x: T, initially: Boolean = true): Boolean

    Permalink

    returns

    true only when a discontinuity (i.e., a change) is observed on x (you may choose how to handle the first observation)

    Definition Classes
    StateManagement
  20. def channel(source: Boolean, target: Boolean, width: Double): Boolean

    Permalink

    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.

    Definition Classes
    BlockG
  21. def classicGradient(source: Boolean, metric: () ⇒ Double = nbrRange): Double

    Permalink
    Definition Classes
    Gradients
  22. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  23. def constant[T](value: ⇒ T): T

    Permalink

    Alias for remember()

    Alias for remember()

    Definition Classes
    StateManagement
  24. def countChanges[T](x: T, initially: Boolean = true): (Long, Boolean)

    Permalink
    Definition Classes
    StateManagement
  25. def crfGradient(raisingSpeed: Double = 5, lagMetric: ⇒ Double = nbrLag().toMillis)(source: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink
    Definition Classes
    Gradients
  26. def delay[T](value: T): T

    Permalink

    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.

    Definition Classes
    StateManagement
  27. def distanceBetween(source: Boolean, target: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink

    Distance between source to target based on metric

    Distance between source to target based on metric

    Definition Classes
    BlockG
  28. def distanceCompetition(d: Double, lead: (Double, (StdLib_BlockS.this)#ID), uid: (Double, (StdLib_BlockS.this)#ID), grain: Double, metric: (StdLib_BlockS.this)#Metric): (Double, (StdLib_BlockS.this)#ID)

    Permalink

    Candidate leader devices surrender leadership to the lowest nearby UID.

  29. def distanceTo(source: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink

    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

    Definition Classes
    BlockG
  30. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  32. object excludingSelf extends (FieldUtils.this)#FieldOps

    Permalink
    Definition Classes
    FieldUtils
  33. def flexGradient(epsilon: Double = 0.5, delta: Double = 1.0, communicationRadius: Double = 1.0)(source: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink

    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.

    epsilon

    Parameter expressing tolerance wrt changes

    delta

    Distortion into the distance measure, such that neighbor distance is never considered to be less than delta * communicationRadius.

    source

    Source fields of devices from which the gradient is calculated

    Definition Classes
    Gradients
  34. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  35. def goesDown(value: Boolean): Boolean

    Permalink

    returns

    true when the given parameter goes from true to false (starting from false); false otherwise

    Definition Classes
    StateManagement
  36. def goesUp(value: Boolean): Boolean

    Permalink

    returns

    true when the given parameter goes from false to true (starting from false); false otherwise

    Definition Classes
    StateManagement
  37. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  38. def hopDistance(source: Boolean): Double

    Permalink

    Hop distance

    Hop distance

    Definition Classes
    BlockG
  39. def hopGradient(source: Boolean): Double

    Permalink
    Definition Classes
    Gradients
  40. object includingSelf extends (FieldUtils.this)#FieldOps

    Permalink
    Definition Classes
    FieldUtils
  41. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  42. def keep(expr: ⇒ Boolean): Boolean

    Permalink

    Remembers the occurrence of some condition or event

    Remembers the occurrence of some condition or event

    Definition Classes
    StateManagement
  43. def keep[T](expr: ⇒ Option[T]): Option[T]

    Permalink

    Remembers the provided optional value, unless empty

    Remembers the provided optional value, unless empty

    Definition Classes
    StateManagement
  44. def meanCounter(value: Double, frequency: Long): Double

    Permalink
    Definition Classes
    GenericUtils
  45. def minId(): (StdLib_BlockS.this)#ID

    Permalink
  46. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  47. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  48. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  49. def once[T](expr: ⇒ T): Option[T]

    Permalink

    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

    Definition Classes
    StateManagement
  50. def randomUid: (Double, (StdLib_BlockS.this)#ID)

    Permalink

    Generates a field of random unique identifiers.

    Generates a field of random unique identifiers.

    returns

    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.

  51. def remember[T](value: ⇒ T): T

    Permalink

    Remembers the provided value

    Remembers the provided value

    Definition Classes
    StateManagement
  52. def roundCounter(): Long

    Permalink

    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

    returns

    the number of the round

    Definition Classes
    StateManagement
  53. def svdGradient(lagMetric: ⇒ Double = nbrLag().toMillis)(source: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink
    Definition Classes
    Gradients
  54. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  55. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  56. def ultGradient(radius: Double = 0.2, factor: Double = 0.1)(source: Boolean, metric: (StdLib_BlockS.this)#Metric = nbrRange): Double

    Permalink
    Definition Classes
    Gradients
  57. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def G_along[V](g: Double, metric: (StdLib_BlockS.this)#Metric, field: V, acc: (V) ⇒ V): V

    Permalink

    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

    V

    type of the value to be accumulated

    g

    potential field

    metric

    metric to use for the "last step"

    field

    value of the field for sources

    acc

    aggregator

    returns

    a field that locally provides the value of the gradient-cast (field at sources, and an accumulation value along the way)

    Definition Classes
    BlockG
    Deprecated

    As it seems buggy.

  2. def Gg[V](gradient: (BlockS.this)#Gradient, field: V, acc: (V) ⇒ V): V

    Permalink

    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

    gradient

    The gradient algorithm to use -- notice that this encapsulates details about the gradient field (e.g., the sources)

    Definition Classes
    BlockG
    Deprecated

    As it seems buggy: see G_along method.

  3. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from (StdLib_BlockS.this)#BlockG

Inherited from (StdLib_BlockS.this)#FieldUtils

Inherited from (StdLib_BlockS.this)#Gradients

Inherited from (StdLib_BlockS.this)#StateManagement

Inherited from (StdLib_BlockS.this)#GenericUtils

Inherited from AnyRef

Inherited from Any

Ungrouped