WIP: Include and manage 'representation'

payno requested to merge payno/pypushflow:add_representation_project into master

The goal of this PR is to perform execution of workflows defined by 'representation' with pypushflow.

A prototype using an old version 'pypushflow' was done: representationtest/instanciation and might be use back (https://gitlab.esrf.fr/workflow/representationtest)

Regarding the actual source code we should answer several questions before modifications:

  • Do we expect an application to execute any .ows or is this specific to the application using it (in this case pypushflow would be a library)

--> to start pypushflow will be a dependence of applications.

  • Does the 'joinActor', 'ForkActor', 'RouterActor' be defined at the representation test or should they be deduced from the 'representation scheme' (for me it should be second way)

-->It doesn't have to be defined in the 'moml' / 'ows' but could be deduced from it. Should be in 'representation scheme' or in 'pypushflow'. Like a 'interpret Scheme' which will embed the new actors. If embed in 'representation scheme' can be used by other tools.

  • Do we agree to insure all communication between actors with (serializable) dictionaries ? Would we like at one point to have more complex / better performance connection ?

--> to see later

  • Do we plan to 'move' the MongoDB part into an 'add-on' ?

--> yes, can / should be an add-on / plugin

  • What are the scenarii and typical use case ?
  • What should be the API

TODO list:

  • define concrete scenarii and use case
  • add some unittest
  • include representation in the project (/close #1 (closed))
  • define clearly the user API
  • add some tutorial
  • add some documentation
  • move mongodb part into an add-on (should be part of an other PR)
Edited by payno

Merge request reports