Skip to content

Latest commit

 

History

History
44 lines (41 loc) · 2.42 KB

next-steps.md

File metadata and controls

44 lines (41 loc) · 2.42 KB

Next steps

This repository has been developed in tandem with the Haskell implementation of the specification tester and test harness in order to sanity-check the specification: https://github.com/cspr-rad/actus-haskell

In order to continue this effort and eventually produce a specification version 2.0:

  1. Manually implement parsing/rendering the terms of the minimal annuity example in spec/test-data/contracts/annuity.json Fill in the TODOs in that file as you go along. This should give you an idea of what the codegen you'll write later will have to generate.
  2. For the required contract terms of ANN:
    1. Correct the specification
      • Real numbers don't exist
      • Allowed values should be optional. allowedValues = [] Looks like there aren't any allowed values.
      • Make sure the default value is an allowed value.
      • Make sure the type is one of the types that has been specified.
      • Reconsider whether we want enum values to be described using their acronyms or their identifiers.
    2. Produce examples in test-data
    3. Add parsing and rendering tests to the implementation
    4. Implement the contract term parsing and rendering
    5. Add the type to the test harness parsing tests
    6. Add the type to the tester parsing tests
    7. Fix the "TODO" in the ANN contract test data now that we know what the data looks like
    8. Add the field to the annuity contract parsing and rendering implementation
  3. For the ANN contract
    1. Double-check that the ANN contract test data is valid
    2. Add the type to the test harness parsing tests
    3. Add the type to the tester parsing tests
  4. Make a code generator for all the contract terms
    1. Correct the specification of each contract term as before
    2. Also implement in the other language
    3. Double-check that all parsing tests pass
  5. Make a code generator for all the contracts
    1. Also implement in the other language
    2. Double-check that all parsing tests pass
  6. Specify cashflow computation tests
  7. For each contract type, starting with ANN
    1. Specify the cashflow computation for the contract
    2. Produce test data for cashflow computations
    3. Implement the cashflow computations
    4. Add cashflow computations to the test harness
    5. Add cashflow computations to the tester
  8. Double-check that all the examples in test-data are still valid.
  9. Incorporate the most up-to-date version of the dictionary.