modeci_mdf.execution_engine

The reference implementation of the MDF execution engine; allows for executing Graph objects in Python.

This module implements a set of classes for executing loaded MDF models in Python. The implementation is organized such that each class present in mdf has a corresponding Evaluable version of the class. Each of these classes implements the execution of these components and tracks their state during execution. The organization of the entire execution of the model is implemented at the top-level evaluate() method of the EvaluableGraph class. The external library graph-scheduler is used to implement the scheduling of nodes under declarative conditional constraints.

Functions

evaluate_expr([expr, func_params, ...])

Evaluates an expression given in string format and a dict of parameters.

evaluate_onnx_expr(expr, base_parameters, ...)

Evaluates a simple expression in string format representing an ONNX function call

get_required_variables_from_expression(expr)

Produces a list containing variable symbols in expr

main(example_file[, array_format, verbose])

Main entry point for execution engine.

Classes

EvaluableFunction([function, verbose])

Evaluates a Function value during MDF graph execution.

EvaluableGraph(graph[, verbose])

Evaluates a Graph with the MDF execution engine.

EvaluableInput(input_port[, verbose])

Evaluates input value at the InputPort of the node during MDF graph execution.

EvaluableNode(node[, verbose])

Evaluates a Node during MDF graph execution.

EvaluableOutput(output_port[, verbose])

Evaluates the current value of an OutputPort during MDF graph execution.

EvaluableParameter(parameter[, verbose])

Evaluates the current value of a Parameter during the MDF graph execution.