8000 GitHub · Where software is built
[go: up one dir, main page]

Skip to content
Allow user-defined runtime workflow #52
Open
@benbovy

Description

@benbovy

NOTE: these are preliminary notes.

For some cases like time-independent simulations or runge-kutta time stepping schemes, the runtime workflow that is currently defined in the framework, i.e., initialize+master_clock*(run_step+finalize_step)+finalize may not be the most appropriate. More flexibility would be nice.

Any runtime workflow may actually be defined in a very abstract manner, i.e., as multiple passes through the whole DAG of processes in a model, each pass executing a specific method implemented in each process class (or doing nothing if the process don't implement that method). The implementation of this abstract concept shouldn't be too challenging.

Regarding the API, we might simply use a "signature" string like the one above to define a particular workflow. The most simple workflow would have the signature run, which consist of one pass through the DAG executing the run method of each process (topologically sorted). What is more challenging is when the "signature" contains other information than method names (like master_clock above).

The right place to define such signature is probably either as an argument of xs.Model or when setting a simulation driver.

41EF

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0