Caesar.jl icon indicating copy to clipboard operation
Caesar.jl copied to clipboard

use schema for serialization types / contracts

Open dehann opened this issue 5 years ago • 4 comments

Edited

TAC

  • PackedVariable and PackedFactor generated or implemented from a schema to be more rigid and specific about interchange types.
  • Care must be taken on null types / empty fields / default values (easier in currently duck typing via Dicts)

Probably StructTypes.jl JSON3.jl etc performance benefits also.


Original comment

For ZMQ and other JSON related serialization, we should consider using contract definitions. I suggest we place them in Caesar/src/schema/*.json.

For example, see:

  • http://json-schema.org/understanding-json-schema/structuring.html
  • https://github.com/OAI/OpenAPI-Specification

cc @pvazteixeira @nicrip @GearsAD

dehann avatar Apr 13 '19 23:04 dehann

https://github.com/fredo-dedup/JSONSchema.jl

dehann avatar Apr 14 '19 00:04 dehann

see first examples:

dehann avatar Apr 14 '19 00:04 dehann

added step-by-step guide to Caesar.jl docs faq: https://github.com/JuliaRobotics/Caesar.jl/pull/312

dehann avatar Apr 14 '19 00:04 dehann

We decided against this, and will soon meet to make sure we can close this and related issues.

dehann avatar Aug 09 '20 11:08 dehann