Liking cljdoc? Tell your friends :D

automaton-optimization.time-based.impl.aggregate

An aggregate is a value object used to define a group of buckets that is homogeneously aggregated in bucket-aggregate.

  • start-bucket is the first bucket of the aggregate (start-bucket ∈ ℕ).
  • end-bucket is the last bucket concerned with that aggregate - end-bucket is excluded - (end-bucket ∈ ℕ or nil).
  • step is the number of buckets gathered in that aggregate, step ∈ ℕ*

Note that without knowing the other aggregate in the aggregates, the targeted bucket-aggregate are not fully defined.

Aggregate entity diagram

An `aggregate` is a value object used to define a group of `bucket`s that is homogeneously aggregated in `bucket-aggregate`.

* `start-bucket` is the first `bucket` of the aggregate (`start-bucket ∈ ℕ`).
* `end-bucket` is the last `bucket` concerned with that aggregate - `end-bucket` is excluded - (`end-bucket ∈ ℕ` or `nil`).
* `step` is the number of `bucket`s gathered in that `aggregate`, `step  ∈ ℕ*`

Note that without knowing the other `aggregate` in the `aggregates`, the targeted  `bucket-aggregate` are not fully defined.

![Aggregate entity diagram](archi/time_based/aggregate.png)
raw docstring

automaton-optimization.time-based.impl.aggregates

Aggregates defines how an aggregator will be able to turn a bucket into a bucket-aggregate. It is a list of aggregate automatically sorted with their start-bucket. This list is used by a aggregator-item to create the aggregator.

See the [[aggregator]] function, for details about the aggregation rules.

Aggregates entity diagram

Aggregates defines how an `aggregator` will be able to turn a `bucket` into a `bucket-aggregate`.
It is a list of `aggregate` automatically sorted with their `start-bucket`.
This list is used by a `aggregator-item` to create the `aggregator`.

See the [[aggregator]] function, for details about the aggregation rules.

![Aggregates entity diagram](archi/time_based/aggregates.png)
raw docstring

automaton-optimization.time-based.impl.aggregator

An aggregator aggregates bucket into bucket-aggregate and the way back.

It is composed of aggregator-item, matching but completing the data aggregate.

Aggregator entity diagram

An `aggregator` aggregates `bucket` into `bucket-aggregate` and the way back.

It is composed of `aggregator-item`, matching but completing the data `aggregate`.

![Aggregator entity diagram](archi/time_based/aggregator.png)
raw docstring

automaton-optimization.time-based.impl.aggregator-item

An aggregator-item enriches an aggregate with start-bucket-aggregate and end-bucket-aggregate. Many aggregator-item are contained in an aggregator.

Note that no test mechanisms are here to check values of the aggregator-item, the aggregate and aggregates are here to deal with these tests and are responsible to built some valid aggregator-item.

Aggregator-item entity diagram

An `aggregator-item` enriches an `aggregate` with `start-bucket-aggregate` and `end-bucket-aggregate`.
Many `aggregator-item` are contained in an `aggregator`.

Note that no test mechanisms are here to check values of the `aggregator-item`, the `aggregate` and `aggregates` are here to deal with these tests and are responsible to built some valid `aggregator-item`.

![Aggregator-item entity diagram](archi/time_based/aggregator-item.png)
raw docstring

automaton-optimization.time-based.impl.storage-strategy

Strategies to store data in tb-var.

Note: get-exact and get-measures are redundant functionaly but are here to optimize performance.

Strategies to store data in `tb-var`.

Note: `get-exact` and `get-measures` are redundant functionaly but are here to optimize performance.
raw docstring

automaton-optimization.time-based.impl.storage-strategy.contiguous

Stores data in a contiguous data structure.

Adding an element outside the initial capacity will add chunk-size element, plus what's missing to store the element.

Stores data in a contiguous data structure.

Adding an element outside the initial capacity will add chunk-size element, plus what's missing to store the element.
raw docstring

automaton-optimization.time-based.impl.storage-strategy.deltas

Stores data in a collection of time / data pair fashion.

Stores data in a collection of time / data pair fashion.
raw docstring

automaton-optimization.time-based.impl.var-additive

tb-var that stores additive informations over time buckets.

  • default-value is the default value for new or empty buckets, it should be the "0".
  • If a value is set to an empty bucket, the value is replacing the default-value.
  • If a value is already stored in that bucket, it will be added to the existing value.
  • The values should be numerical to support +.

Aggregate entity diagram

`tb-var` that stores additive informations over time buckets.

* `default-value` is the default value for new or empty buckets, it should be the "`0`".
* If a value is set to an empty bucket, the value is replacing the `default-value`.
* If a value is already stored in that bucket, it will be added to the existing value.
* The values should be numerical to support +.

![Aggregate entity diagram](archi/time_based/tb_var_additive.png)
raw docstring

automaton-optimization.time-based.impl.var-aggregated

A tb-var storing data through an aggregator.

Note that the storage strategy and the way values are aggregated is the repsonsability of the tb-var.

tb-var-aggregated entity diagram

A `tb-var` storing data through an aggregator.

Note that the storage strategy and the way values are aggregated is the repsonsability of the `tb-var`.

![tb-var-aggregated entity diagram](archi/time_based/tb_var_aggregated.png)
raw docstring

automaton-optimization.time-based.impl.var-latest

A tb-var that stores a measure m done at bucket b that is true for all subsequent buckets after b unless a new measure is done, at a later bucket.

  • Each update of an already existing value is overwritten.
  • The get-measure is returning the value at bucket b or the value at the earlier non nil date (as this latest is still available according to this time based).
  • The values can be whatever, as no operation is done on it.

For instance, a stock level is such, since a new stock level will be recorded at that moment. Note that the order of the measures is not significant.

tb var latest entity diagram

A `tb-var` that stores a measure `m` done at bucket `b` that is true for all subsequent buckets after `b` unless a new measure is done, at a later `bucket`.

* Each update of an already existing value is overwritten.
* The get-measure is returning the value at bucket `b` or the value at the earlier non nil date (as this latest is still available according to this time based).
* The values can be whatever, as no operation is done on it.

For instance, a stock level is such, since a new stock level will be recorded at that moment.
Note that the order of the measures is not significant.

![tb var latest entity diagram](archi/time_based/tb_var_latest.png)
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close