Skip to content

Serialization of models #1353

@mondus

Description

@mondus

Serialization of models is required in order to provide a declarative model format which was always a key feature of FLAME GPU1. Serialization will provide an enhanced opportunity for the development tools such as GUIs which will permit the generation and transferring of model objects.

Note: At this stage it is not proposed to serialize beyond the model description (i.e. the simulation object, populations, loggers, etc) as this is more serialization of an "experiment" than the model itself.

Some thought is required as to the serialization format. A declarative human readable format is preferred over binary although both would be ideal. Human readable may use either JSON, YAML or XML. JSON is probably preferred as it is a widely used format and we already have good JSON support elsewhere.

Some thought is required in at least the following areas;

  • Storage of agent functions provided at compile time: It is not clear how or even if these should be serialized. Serialization of RTC function is obviously much easier.
  • Storage of Pure Python agent functions: Currently there are translated using the codegen module but it would be preferable to store used provided Python functions in Python. This would likely require a breaking change to the use of the codegen module.
  • Serialization of host functions: Similar to the above. Thought is needed for compile time specified functions. As these are run as pure Python in pyflamegpu there is however no issue with translation.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions