You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To ensure the potential for CDM implementations to consistently operate across different programming languages, conditions should either be defined in the CDM Rune model directly or, well documented and clearly defined as such if explicitly implemented in a programming language. Further, wherever possible existing implementations in a programming language should be migrated to Rune directly.
Absent this consistency, there is clear potential for divergence in the behavior of the library across different languages.
As example, Trade has a condition that explicitly leverages a Java implementation.
condition FpML_ird_8: <"FpML validation rule ird-8 - If the same party is specified as the payer and receiver, then different accounts must be specified.">
if tradableProduct -> product -> contractualProduct -> economicTerms -> payout -> interestRatePayout exists
then FpmlIrd8(tradableProduct, account) = True
This issue should first be reviewed in the TAWG to confirm consensus support for a recommendation and then raised to the SWG for prioritization and on going governance.
The text was updated successfully, but these errors were encountered:
We have discussed this issue before and I feel that it is actually the function that needs to be documented as externally implemented, rather than the condition (i.e. the func FpmlIrd8 in this case).
In addition to the concerns cited in the issue above, any externally implemented function needs to have a clear definition of its expected behavior and, ideally, include unit tests that confirm that it behaves as expected. Otherwise implementation in other languages will be a challenge and CDM overall might face inconsistencies across different implementations.
It seems that the best route to consistency is to implement functions in Rune directly wherever possible.
To ensure the potential for CDM implementations to consistently operate across different programming languages, conditions should either be defined in the CDM Rune model directly or, well documented and clearly defined as such if explicitly implemented in a programming language. Further, wherever possible existing implementations in a programming language should be migrated to Rune directly.
Absent this consistency, there is clear potential for divergence in the behavior of the library across different languages.
As example, Trade has a condition that explicitly leverages a Java implementation.
This issue should first be reviewed in the TAWG to confirm consensus support for a recommendation and then raised to the SWG for prioritization and on going governance.
The text was updated successfully, but these errors were encountered: