Documentation (Anonymous)

Versioning

Problem Statement

  • The model covers years.
  • Users might use a single model for years.
  • They may leave a model untouched for months before returning to it.
  • How cab we evolve the model safely?

Options

  • always update to latest model on load v ongoing support of old models?
  • hide updates from users v make explicit?
  • single version for model v versions for different elements?
    • aka model structure & data vs formula implementations
  • store version inside v outside model?

Formula implementations

  • special problems here
  • changes may be subtle because of floating point arithmetic
  • how accommodate third party implementations with potential forever support?

Mechanisms for Solution

  • semantic versioning (obviously)
  • store migration tools for each major version
  • handle formulas that error - good practice anyway
    • use algorithm for cost calculations
Copyright ©2024 Numical, All Rights Reserved