We need the core for calculation with time block based data in many custom applications. It is very common core required for planning and control data. For example planning of the processes in factory, data consumption, energy consumption, budget planning, etc.
The basic objects in this core are:
Entity = Unit with purpose for blocks. For example Research Center or one room in research center.
Block = Block is time defined area which represent some value which play role in specific timerange. For example: amount of consumed pressured air in the research center entity between 1st of January and 1st of February.
Entity can has a child which are other entities.
The each entity has dictionary of the blocks.
The entity must be able to provide the total value of the blocks between specified times. It should consider the time windows to get the parts of blocks which runs for example just between 8:00-18:00 each work day.
These calculations will always require time to be processed, because all units must be still kept separately. The first driver will not focus to too much optimization. The correct calculations will be main focus. Optimization will be done during refactoring.
The goal of the driver is to keep it in common shape to allow use in different tasks as it was described above.
We need the core for calculation with time block based data in many custom applications. It is very common core required for planning and control data. For example planning of the processes in factory, data consumption, energy consumption, budget planning, etc.
The basic objects in this core are:
Entity = Unit with purpose for blocks. For example Research Center or one room in research center.
Block = Block is time defined area which represent some value which play role in specific timerange. For example: amount of consumed pressured air in the research center entity between 1st of January and 1st of February.
Entity can has a child which are other entities.
The each entity has dictionary of the blocks.
The entity must be able to provide the total value of the blocks between specified times. It should consider the time windows to get the parts of blocks which runs for example just between 8:00-18:00 each work day.
These calculations will always require time to be processed, because all units must be still kept separately. The first driver will not focus to too much optimization. The correct calculations will be main focus. Optimization will be done during refactoring.
The goal of the driver is to keep it in common shape to allow use in different tasks as it was described above.