Improving Code-Generation in Schema-Salad

Presenter: Alex Coleman, Curii @acoleman2000


  • Session 1: :earth_americas: :earth_africa: (Americas-EMEA) Monday, February 27th 09:00 - 13:00 US EST / 14:00 - 18:00 UTC
  • Session 3: :earth_asia: :earth_americas: (APAC-Americas) Thursday, March 2nd, 19:00 - 23:00 US EST
    Friday, March 3rd, 00:00 - 04:00 UTC / 09:00 - 13:00 Japanese Standard Time

My talk is about improving code-generation in Schema-salad. Schema-salad has two ways of validating a file against a schema (structural validation). It has the default way, which recursively iterates through all keys in the dictionary representation of the YAML/JSON file, and the code generator way, which generates Object Oriented code that creates an object representation of the YAML/JSON object. Schema-salad is used for cwltool to perform validation.

The code generator approach is faster but loses line column information and has poor error messages. Improving the code generator approach would allow the code generator to be used in cwltool and reduce the time complexity.

Preserving line column information involves changing the way the classes in the code generator approach are created to preserve initial line column information, and modifying the save methods to map the information appropriately.

Improving the error messages involves adding hyperlink validation, validating that referenced files exist within a directory, and improving/rewriting validation exceptions.

Please leave your questions for the presenter below!

As an alternative to YouTube, this presentations is also available on ConfTube

1 Like