Changelog of @hackage/aivika 5.1

Version 5.1

  • Includes changes destined for Aivika Exension Pack.

  • Minor changes in the resource preemption statistics.

  • Added the statistics reset.

Version 5.0

  • Added the Composite monad.

  • Added the Channel computation.

  • Breaking change: modified signatures of functions signalStream and streamSignal.

  • Breaking change: the signalProcessor function is replaced with channelProcessor.

  • Breaking change: the processorSignaling function is replaced with processorChannel.

  • Added module Signal.Random.

  • Added functions arrivalTimerSignal and arrivalTimerChannel.

  • Added functions queuedSignalStream, queuedProcessorChannel and queuedChannelProcessor.

Version 4.6

  • Updated module DoubleLinkedList.

  • Breaking change: arrows Net and Processor are trying to perform computations in parallel as possible, when using the proc notation. Earlier they executed sequentially.

Version 4.5

  • The Transform computation seems to be not ArrowLoop.

  • Added the enqueueEventWithStartTime and enqueueEventWithStopTime functions.

Version 4.3.5

  • Removed the obsolete preprocessor instructions for conditional compilation.

Version 4.3.4

  • Yet more safe the resource preemption.

  • Introducing exception SimulationRetry, which is needed for parallel distributed simulation.

Version 4.3.3

  • Added function vectorDeleteRange to remove the range of elements from the mutable vector.

  • Fixed the resource preemption when releasing and requesting again for the resource at the same modeling time.

Version 4.3.2

  • Added functions splitStreamFiltering, splitStreamFilteringQueueing to filter when splitting the input stream.

  • Explicit exporting function newRandomGenerator01 for generating random numbers by the specified custom generator returning numbers from 0 to 1.

  • Added function freezeList for the double linked list.

  • Added an immutable priority queue.

Version 4.3.1

  • Improved the timeoutProcessUsingId function: no need in additional cancellation signal. Thanks to Gabriel Garcia who pointed to this issue and suggested a possible solution.

  • Added functions delaySignal and delaySignalM to delay a signal in time through the event queue.

  • Added function runSimulationByIndex to run the simulation with an arbitrary run index.

Version 4.3

  • Added optimised queues which have no counters nor signals.

  • Added assembling functions for streams.

  • Added the operation activity as a simplification of server.

  • Added new functions for the queues.

Version 4.2

  • Added new random distributions: lognormal, Gamma, Beta, Weibull and a generic discrete by pdf.

  • The items can be removed from the queue; moreover, the queue can be cleared.

  • Added a simplified API for accessing the results of simulation.

  • Added the Gate entity.

Version 4.1.1

  • More counters and statistics for the new resources.

Version 4.1

  • Added new resource types with counters and statistics.

Version 4.0.2

  • Minor changes in the Statistics module: replacing functions resetSamplingCounter and resetTimingCounter with their general analogs.

  • Unifying process preemption signals in modules Server and Activity: renaming four signals like that how they are named in the Process module.

  • The timing statistics (time persistent one) can be normalized to a sampling-based statistics (based upon observation), which allows, for example, building a deviation chart for the queue size.

Version 4.0.1

  • Fixed build issues on GHC 7.10.1.

Version 4.0

  • Added resource preemption.

  • Fixed misprint in the activityProcessor function.

Version 3.1

  • Added functions failoverStream and failoverProcessor to model servers with failures (temporary cancellation of the process with the further repairing of the server).

  • Added functions joinStream and joinProcessor to simplify the modeling of servers.

  • Checking the argument, i.e. time period, in the holdProcess function. It must not be negative.

  • The taskProcess computation behaves exactly like the background process, i.e. now its cancellation leads to immediate cancelling the background process too.

  • Functions setStateActivation, setStateDeactivation and setStateTransition are redefined as the Event computations instead of Simulation computations.

  • Refactored and simplified module Results.