funman.server package

Submodules

funman.server.exception module

Inheritance diagram of funman.server.exception

exception funman.server.exception.FunmanException

Bases: Exception

exception funman.server.exception.FunmanWorkerException

Bases: FunmanException

exception funman.server.exception.NotFoundFunmanException

Bases: FunmanException

funman.server.query module

Inheritance diagram of funman.server.query

pydantic model funman.server.query.FunmanProgress

Bases: BaseModel

Show JSON schema
{
   "title": "FunmanProgress",
   "type": "object",
   "properties": {
      "progress": {
         "default": 0.0,
         "title": "Progress",
         "type": "number"
      },
      "coverage_of_search_space": {
         "default": 0.0,
         "title": "Coverage Of Search Space",
         "type": "number"
      },
      "coverage_of_representable_space": {
         "default": 0.0,
         "title": "Coverage Of Representable Space",
         "type": "number"
      }
   }
}

Fields:
field coverage_of_representable_space: float = 0.0
field coverage_of_search_space: float = 0.0
field progress: float = 0.0
pydantic model funman.server.query.FunmanResults

Bases: BaseModel

Show JSON schema
{
   "title": "FunmanResults",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "model": {
         "anyOf": [
            {
               "$ref": "#/$defs/GeneratedRegnetModel"
            },
            {
               "$ref": "#/$defs/GeneratedPetriNetModel"
            },
            {
               "$ref": "#/$defs/RegnetModel"
            },
            {
               "$ref": "#/$defs/PetrinetModel"
            },
            {
               "$ref": "#/$defs/DecapodeModel"
            },
            {
               "$ref": "#/$defs/BilayerModel"
            },
            {
               "$ref": "#/$defs/EncodedModel"
            }
         ],
         "title": "Model"
      },
      "progress": {
         "$ref": "#/$defs/FunmanProgress",
         "default": {
            "progress": 0.0,
            "coverage_of_search_space": 0.0,
            "coverage_of_representable_space": 0.0
         }
      },
      "request": {
         "$ref": "#/$defs/FunmanWorkRequest"
      },
      "done": {
         "default": false,
         "title": "Done",
         "type": "boolean"
      },
      "error": {
         "default": false,
         "title": "Error",
         "type": "boolean"
      },
      "error_message": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Error Message"
      },
      "parameter_space": {
         "anyOf": [
            {
               "$ref": "#/$defs/ParameterSpace"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "timing": {
         "$ref": "#/$defs/FunmanResultsTiming",
         "default": {
            "start_time": null,
            "end_time": null,
            "total_time": null,
            "solver_time": null,
            "encoding_time": null,
            "progress_timeseries": [],
            "additional_time": {}
         }
      },
      "contracted_model": {
         "anyOf": [
            {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "Assumption": {
         "properties": {
            "constraint": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ModelConstraint"
                  },
                  {
                     "$ref": "#/$defs/ParameterConstraint"
                  },
                  {
                     "$ref": "#/$defs/StateVariableConstraint"
                  },
                  {
                     "$ref": "#/$defs/LinearConstraint"
                  },
                  {
                     "$ref": "#/$defs/QueryConstraint"
                  }
               ],
               "title": "Constraint"
            }
         },
         "required": [
            "constraint"
         ],
         "title": "Assumption",
         "type": "object"
      },
      "BaseProperties": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rate_constant": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParamOrNumber"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "BaseProperties",
         "type": "object"
      },
      "BilayerDynamics": {
         "description": "The BilayerDynamics class represents a state update (dynamics) model for a set of variables.  The graph consists of:\n\n* state nodes (current state),\n\n* tangent nodes (next state), and\n\n* flux nodes (causal relationships).",
         "properties": {
            "json_graph": {
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "BilayerDynamics",
         "type": "object"
      },
      "BilayerEdge": {
         "properties": {
            "src": {
               "$ref": "#/$defs/BilayerNode"
            },
            "tgt": {
               "$ref": "#/$defs/BilayerNode"
            }
         },
         "required": [
            "src",
            "tgt"
         ],
         "title": "BilayerEdge",
         "type": "object"
      },
      "BilayerFluxNode": {
         "description": "BilayerNode representing a flux.",
         "properties": {
            "index": {
               "title": "Index",
               "type": "integer"
            },
            "parameter": {
               "title": "Parameter",
               "type": "string"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BilayerMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "index",
            "parameter"
         ],
         "title": "BilayerFluxNode",
         "type": "object"
      },
      "BilayerMeasurement": {
         "description": "The BilayerMeasurement class represents measurements taken on the BilayerNode state nodes of a BilayerDynamics object.  The graph consists of:\n\n* state nodes (current state),\n\n* observation nodes, and\n\n* flux nodes (causal relationships).",
         "properties": {
            "json_graph": {
               "title": "Json Graph",
               "type": "object"
            },
            "state": {
               "additionalProperties": {
                  "$ref": "#/$defs/BilayerStateNode"
               },
               "default": {},
               "title": "State",
               "type": "object"
            },
            "flux": {
               "additionalProperties": {
                  "$ref": "#/$defs/BilayerFluxNode"
               },
               "default": {},
               "title": "Flux",
               "type": "object"
            },
            "observable": {
               "additionalProperties": {
                  "$ref": "#/$defs/BilayerStateNode"
               },
               "default": {},
               "title": "Observable",
               "type": "object"
            },
            "input_edges": {
               "$ref": "#/$defs/BilayerEdge",
               "default": []
            },
            "output_edges": {
               "$ref": "#/$defs/BilayerEdge",
               "default": []
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "BilayerMeasurement",
         "type": "object"
      },
      "BilayerMetadata": {
         "description": "Metadata for a BilayerNode",
         "properties": {
            "ref": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Ref"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "float",
                        "int"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            },
            "initial_value": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Initial Value"
            },
            "lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Lb"
            },
            "ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Ub"
            }
         },
         "title": "BilayerMetadata",
         "type": "object"
      },
      "BilayerModel": {
         "description": "A BilayerModel is a complete specification of a Model that uses a BilayerDynamics graph to represent dynamics. It includes the attributes:\n\n* bilayer: the BilayerDynamics graph\n\n* measurements: the BilayerMeasurement graph (used to derive additional variables from the state nodes)\n\n* init_values: a dict mapping from state variables and flux parameters to initial value\n\n* identical_parameters: a list of lists of flux parameters that have identical values\n\n* parameter_bounds: a list of lower and upper bounds on parameters",
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "bilayer": {
               "$ref": "#/$defs/BilayerDynamics"
            },
            "measurements": {
               "$ref": "#/$defs/BilayerMeasurement",
               "default": null
            },
            "identical_parameters": {
               "default": [],
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Identical Parameters",
               "type": "array"
            }
         },
         "required": [
            "bilayer"
         ],
         "title": "BilayerModel",
         "type": "object"
      },
      "BilayerNode": {
         "description": "Node in a BilayerGraph.",
         "properties": {
            "index": {
               "title": "Index",
               "type": "integer"
            },
            "parameter": {
               "title": "Parameter",
               "type": "string"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BilayerMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "index",
            "parameter"
         ],
         "title": "BilayerNode",
         "type": "object"
      },
      "BilayerStateNode": {
         "description": "BilayerNode representing a state variable.",
         "properties": {
            "index": {
               "title": "Index",
               "type": "integer"
            },
            "parameter": {
               "title": "Parameter",
               "type": "string"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BilayerMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "index",
            "parameter"
         ],
         "title": "BilayerStateNode",
         "type": "object"
      },
      "Box": {
         "description": "A Box maps n parameters to intervals, representing an n-dimensional connected open subset of R^n.",
         "properties": {
            "type": {
               "const": "box",
               "default": "box",
               "enum": [
                  "box"
               ],
               "title": "Type",
               "type": "string"
            },
            "label": {
               "default": "unknown",
               "enum": [
                  "true",
                  "false",
                  "unknown",
                  "dropped"
               ],
               "title": "Label",
               "type": "string"
            },
            "bounds": {
               "additionalProperties": {
                  "$ref": "#/$defs/Interval"
               },
               "default": {},
               "title": "Bounds",
               "type": "object"
            },
            "explanation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BoxExplanation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "schedule": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/EncodingSchedule"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "corner_points": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Point"
               },
               "title": "Corner Points",
               "type": "array"
            },
            "points": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Point"
               },
               "title": "Points",
               "type": "array"
            }
         },
         "title": "Box",
         "type": "object"
      },
      "BoxExplanation": {
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "symbols": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Symbols"
            },
            "relevant_assumptions": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Assumption"
               },
               "title": "Relevant Assumptions",
               "type": "array"
            }
         },
         "title": "BoxExplanation",
         "type": "object"
      },
      "DecapodeDynamics": {
         "properties": {
            "json_graph": {
               "additionalProperties": {
                  "items": {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "integer"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  "type": "array"
               },
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "DecapodeDynamics",
         "type": "object"
      },
      "DecapodeModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "decapode": {
               "$ref": "#/$defs/DecapodeDynamics"
            }
         },
         "required": [
            "decapode"
         ],
         "title": "DecapodeModel",
         "type": "object"
      },
      "Edge": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "sign": {
               "title": "Sign",
               "type": "boolean"
            },
            "source": {
               "title": "Source",
               "type": "string"
            },
            "target": {
               "title": "Target",
               "type": "string"
            },
            "properties": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BaseProperties"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id",
            "sign",
            "source",
            "target"
         ],
         "title": "Edge",
         "type": "object"
      },
      "EncodedModel": {
         "description": "Model that holds an SMT formula encoding a model.  This class is meant to wrap hand-coded SMT formulas.",
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ModelParameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            }
         },
         "title": "EncodedModel",
         "type": "object"
      },
      "EncodingSchedule": {
         "properties": {
            "timepoints": {
               "items": {
                  "anyOf": [
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     }
                  ]
               },
               "title": "Timepoints",
               "type": "array"
            }
         },
         "required": [
            "timepoints"
         ],
         "title": "EncodingSchedule",
         "type": "object"
      },
      "FUNMANConfig": {
         "description": "Base definition of a configuration object",
         "properties": {
            "tolerance": {
               "default": 0.001,
               "title": "Tolerance",
               "type": "number"
            },
            "queue_timeout": {
               "default": 1,
               "title": "Queue Timeout",
               "type": "integer"
            },
            "number_of_processes": {
               "default": 1,
               "title": "Number Of Processes",
               "type": "integer"
            },
            "wait_timeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Wait Timeout"
            },
            "wait_action_timeout": {
               "default": 0.05,
               "title": "Wait Action Timeout",
               "type": "number"
            },
            "solver": {
               "default": "dreal",
               "title": "Solver",
               "type": "string"
            },
            "num_steps": {
               "default": 2,
               "title": "Num Steps",
               "type": "integer"
            },
            "step_size": {
               "default": 1,
               "title": "Step Size",
               "type": "integer"
            },
            "num_initial_boxes": {
               "default": 1,
               "title": "Num Initial Boxes",
               "type": "integer"
            },
            "solver_timeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Solver Timeout"
            },
            "initial_state_tolerance": {
               "default": 0.0,
               "title": "Initial State Tolerance",
               "type": "number"
            },
            "save_smtlib": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Save Smtlib"
            },
            "dreal_precision": {
               "default": 0.1,
               "title": "Dreal Precision",
               "type": "number"
            },
            "dreal_log_level": {
               "default": "off",
               "title": "Dreal Log Level",
               "type": "string"
            },
            "constraint_noise": {
               "default": 0.0,
               "title": "Constraint Noise",
               "type": "number"
            },
            "dreal_mcts": {
               "default": true,
               "title": "Dreal Mcts",
               "type": "boolean"
            },
            "substitute_subformulas": {
               "default": false,
               "title": "Substitute Subformulas",
               "type": "boolean"
            },
            "normalization_constant": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Normalization Constant"
            },
            "use_compartmental_constraints": {
               "default": false,
               "title": "Use Compartmental Constraints",
               "type": "boolean"
            },
            "compartmental_constraint_noise": {
               "default": 0.01,
               "title": "Compartmental Constraint Noise",
               "type": "number"
            },
            "normalize": {
               "default": false,
               "title": "Normalize",
               "type": "boolean"
            },
            "simplify_query": {
               "default": false,
               "title": "Simplify Query",
               "type": "boolean"
            },
            "series_approximation_threshold": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Series Approximation Threshold"
            },
            "profile": {
               "default": false,
               "title": "Profile",
               "type": "boolean"
            },
            "taylor_series_order": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Taylor Series Order"
            },
            "corner_points": {
               "default": false,
               "title": "Corner Points",
               "type": "boolean"
            },
            "verbosity": {
               "default": 40,
               "title": "Verbosity",
               "type": "integer"
            },
            "use_transition_symbols": {
               "default": false,
               "title": "Use Transition Symbols",
               "type": "boolean"
            },
            "uniform_box_splits": {
               "default": false,
               "title": "Uniform Box Splits",
               "type": "boolean"
            },
            "dreal_prefer_parameters": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Dreal Prefer Parameters",
               "type": "array"
            },
            "point_based_evaluation": {
               "default": false,
               "title": "Point Based Evaluation",
               "type": "boolean"
            },
            "prioritize_box_entropy": {
               "default": true,
               "title": "Prioritize Box Entropy",
               "type": "boolean"
            },
            "mode": {
               "default": "mode_smt",
               "enum": [
                  "mode_smt",
                  "mode_odeint"
               ],
               "title": "Mode",
               "type": "string"
            },
            "random_seed": {
               "default": 0,
               "title": "Random Seed",
               "type": "integer"
            }
         },
         "title": "FUNMANConfig",
         "type": "object"
      },
      "FunmanModel": {
         "description": "The abstract base class for Models.",
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            }
         },
         "title": "FunmanModel",
         "type": "object"
      },
      "FunmanProgress": {
         "properties": {
            "progress": {
               "default": 0.0,
               "title": "Progress",
               "type": "number"
            },
            "coverage_of_search_space": {
               "default": 0.0,
               "title": "Coverage Of Search Space",
               "type": "number"
            },
            "coverage_of_representable_space": {
               "default": 0.0,
               "title": "Coverage Of Representable Space",
               "type": "number"
            }
         },
         "title": "FunmanProgress",
         "type": "object"
      },
      "FunmanResultsTiming": {
         "properties": {
            "start_time": {
               "default": null,
               "format": "date-time",
               "title": "Start Time",
               "type": "string"
            },
            "end_time": {
               "anyOf": [
                  {
                     "format": "date-time",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "End Time"
            },
            "total_time": {
               "anyOf": [
                  {
                     "format": "duration",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Total Time"
            },
            "solver_time": {
               "anyOf": [
                  {
                     "format": "duration",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Solver Time"
            },
            "encoding_time": {
               "anyOf": [
                  {
                     "format": "duration",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Encoding Time"
            },
            "progress_timeseries": {
               "default": [],
               "items": {
                  "maxItems": 2,
                  "minItems": 2,
                  "prefixItems": [
                     {
                        "format": "date-time",
                        "type": "string"
                     },
                     {
                        "type": "number"
                     }
                  ],
                  "type": "array"
               },
               "title": "Progress Timeseries",
               "type": "array"
            },
            "additional_time": {
               "additionalProperties": {
                  "format": "duration",
                  "type": "string"
               },
               "default": {},
               "title": "Additional Time",
               "type": "object"
            }
         },
         "title": "FunmanResultsTiming",
         "type": "object"
      },
      "FunmanWorkRequest": {
         "properties": {
            "query": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/QueryAnd"
                  },
                  {
                     "$ref": "#/$defs/QueryLE"
                  },
                  {
                     "$ref": "#/$defs/QueryFunction"
                  },
                  {
                     "$ref": "#/$defs/QueryTrue"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Query"
            },
            "constraints": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/StateVariableConstraint"
                           },
                           {
                              "$ref": "#/$defs/LinearConstraint"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Constraints"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ModelParameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "config": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FUNMANConfig"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "structure_parameters": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/Schedules"
                           },
                           {
                              "$ref": "#/$defs/NumSteps"
                           },
                           {
                              "$ref": "#/$defs/StepSize"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Structure Parameters"
            }
         },
         "title": "FunmanWorkRequest",
         "type": "object"
      },
      "GeneratedPetriNetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "petrinet": {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model"
            }
         },
         "required": [
            "petrinet"
         ],
         "title": "GeneratedPetriNetModel",
         "type": "object"
      },
      "GeneratedRegnetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "regnet": {
               "$ref": "#/$defs/funman__model__generated_models__regnet__Model"
            }
         },
         "required": [
            "regnet"
         ],
         "title": "GeneratedRegnetModel",
         "type": "object"
      },
      "Header": {
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "schema": {
               "format": "uri",
               "minLength": 1,
               "title": "Schema",
               "type": "string"
            },
            "schema_name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Schema Name"
            },
            "description": {
               "title": "Description",
               "type": "string"
            },
            "model_version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Model Version"
            }
         },
         "required": [
            "name",
            "schema",
            "description"
         ],
         "title": "Header",
         "type": "object"
      },
      "Initial": {
         "properties": {
            "target": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Target"
            },
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "title": "Initial",
         "type": "object"
      },
      "Interval": {
         "description": "An interval is a pair [lb, ub) that is open (i.e., an interval specifies all points x where lb <= x and ub < x).",
         "properties": {
            "lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -1.7976931348623157e+308,
               "title": "Lb"
            },
            "ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1.7976931348623157e+308,
               "title": "Ub"
            },
            "closed_upper_bound": {
               "default": false,
               "title": "Closed Upper Bound",
               "type": "boolean"
            },
            "original_width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Original Width"
            },
            "normalized": {
               "default": false,
               "title": "Normalized",
               "type": "boolean"
            },
            "unnormalized_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unnormalized Lb"
            },
            "unnormalized_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unnormalized Ub"
            }
         },
         "title": "Interval",
         "type": "object"
      },
      "LinearConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "additive_bounds": {
               "$ref": "#/$defs/Interval"
            },
            "variables": {
               "items": {
                  "type": "string"
               },
               "title": "Variables",
               "type": "array"
            },
            "weights": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "type": "integer"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Weights"
            },
            "derivative": {
               "default": false,
               "title": "Derivative",
               "type": "boolean"
            }
         },
         "required": [
            "name",
            "additive_bounds",
            "variables"
         ],
         "title": "LinearConstraint",
         "type": "object"
      },
      "ModelConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": false,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "model": {
               "$ref": "#/$defs/FunmanModel"
            }
         },
         "required": [
            "name",
            "model"
         ],
         "title": "ModelConstraint",
         "type": "object"
      },
      "ModelParameter": {
         "additionalProperties": false,
         "description": "A parameter is a free variable for a Model.  It has the following attributes:\n\n* lb: lower bound\n\n* ub: upper bound\n\n* symbol: a pysmt FNode corresponding to the parameter variable",
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "ModelParameter",
         "type": "object"
      },
      "ModelSymbol": {
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "model": {
               "title": "Model",
               "type": "string"
            }
         },
         "required": [
            "name",
            "model"
         ],
         "title": "ModelSymbol",
         "type": "object"
      },
      "NumSteps": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "NumSteps",
         "type": "object"
      },
      "Observable": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "required": [
            "id"
         ],
         "title": "Observable",
         "type": "object"
      },
      "OdeSemantics": {
         "properties": {
            "rates": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Rate"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rates"
            },
            "initials": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Initial"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Initials"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/funman__model__generated_models__petrinet__Parameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "observables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Observable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Observables"
            },
            "time": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Time"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "OdeSemantics",
         "type": "object"
      },
      "ParamOrNumber": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            }
         ],
         "title": "ParamOrNumber"
      },
      "ParameterConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": false,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "parameter": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ModelParameter"
                  },
                  {
                     "$ref": "#/$defs/StructureParameter"
                  }
               ],
               "title": "Parameter"
            }
         },
         "required": [
            "name",
            "parameter"
         ],
         "title": "ParameterConstraint",
         "type": "object"
      },
      "ParameterSpace": {
         "description": "This class defines the representation of the parameter space that can be\nreturned by the parameter synthesis feature of FUNMAN. These parameter spaces\nare represented as a collection of boxes that are either known to be true or\nknown to be false.",
         "properties": {
            "num_dimensions": {
               "default": null,
               "title": "Num Dimensions",
               "type": "integer"
            },
            "true_boxes": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Box"
               },
               "title": "True Boxes",
               "type": "array"
            },
            "false_boxes": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Box"
               },
               "title": "False Boxes",
               "type": "array"
            },
            "unknown_points": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/Point"
               },
               "title": "Unknown Points",
               "type": "array"
            }
         },
         "title": "ParameterSpace",
         "type": "object"
      },
      "PetrinetDynamics": {
         "properties": {
            "json_graph": {
               "additionalProperties": {
                  "items": {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "additionalProperties": {
                                 "anyOf": [
                                    {
                                       "type": "string"
                                    },
                                    {
                                       "type": "boolean"
                                    },
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "null"
                                    }
                                 ]
                              },
                              "type": "object"
                           },
                           {
                              "type": "integer"
                           },
                           {
                              "type": "string"
                           },
                           {
                              "type": "number"
                           },
                           {
                              "type": "null"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  "type": "array"
               },
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "PetrinetDynamics",
         "type": "object"
      },
      "PetrinetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "petrinet": {
               "$ref": "#/$defs/PetrinetDynamics"
            }
         },
         "required": [
            "petrinet"
         ],
         "title": "PetrinetModel",
         "type": "object"
      },
      "Point": {
         "properties": {
            "type": {
               "const": "point",
               "default": "point",
               "enum": [
                  "point"
               ],
               "title": "Type",
               "type": "string"
            },
            "label": {
               "default": "unknown",
               "enum": [
                  "true",
                  "false",
                  "unknown",
                  "dropped"
               ],
               "title": "Label",
               "type": "string"
            },
            "values": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "integer"
                     },
                     {
                        "$ref": "#/$defs/EncodingSchedule"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "title": "Values",
               "type": "object"
            },
            "normalized_values": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "type": "number"
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Normalized Values"
            },
            "schedule": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/EncodingSchedule"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "simulation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Timeseries"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "values"
         ],
         "title": "Point",
         "type": "object"
      },
      "Properties": {
         "additionalProperties": true,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name"
         ],
         "title": "Properties",
         "type": "object"
      },
      "Query": {
         "description": "Abstract base class for queries.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Query",
         "type": "object"
      },
      "QueryAnd": {
         "description": "Conjunction of queries.\n\nParameters\n----------\nqueries : List[Query]\n    queries to conjoin.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "queries": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/QueryLE"
                     },
                     {
                        "$ref": "#/$defs/QueryGE"
                     },
                     {
                        "$ref": "#/$defs/QueryEquals"
                     },
                     {
                        "$ref": "#/$defs/Query"
                     }
                  ]
               },
               "title": "Queries",
               "type": "array"
            }
         },
         "required": [
            "queries"
         ],
         "title": "QueryAnd",
         "type": "object"
      },
      "QueryConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "query": {
               "$ref": "#/$defs/Query"
            }
         },
         "required": [
            "name",
            "query"
         ],
         "title": "QueryConstraint",
         "type": "object"
      },
      "QueryEquals": {
         "description": "Class to represent a query of the form: var == value, where var is a variable, and value is a constant.\n\nParameters\n----------\nvariable : str\n    model variable name\nvalue : float\n    value\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "value": {
               "title": "Value",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "value"
         ],
         "title": "QueryEquals",
         "type": "object"
      },
      "QueryFunction": {
         "description": "This query uses a Python function passed to the constructor to evaluate a query on the results of a scenario.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "function": {
               "title": "Function",
               "type": "string"
            }
         },
         "required": [
            "function"
         ],
         "title": "QueryFunction",
         "type": "object"
      },
      "QueryGE": {
         "description": "Class to represent a query of the form: var >= lb, where var is a variable, and lb is a constant lower bound.\n\nParameters\n----------\nvariable : str\n    model variable name\nlb : float\n    lower bound constant\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "lb": {
               "title": "Lb",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "lb"
         ],
         "title": "QueryGE",
         "type": "object"
      },
      "QueryLE": {
         "description": "Class to represent a query of the form: var <= ub, where var is a variable, and ub is a constant upper bound.\n\nParameters\n----------\nvariable : str\n    model variable name\nub : float\n    upper bound constant\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "ub": {
               "title": "Ub",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "ub"
         ],
         "title": "QueryLE",
         "type": "object"
      },
      "QueryTrue": {
         "additionalProperties": false,
         "description": "Query that represents logical true.  I.e., this query does not place any additional constraints upon a model.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "QueryTrue",
         "type": "object"
      },
      "Rate": {
         "properties": {
            "target": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Target"
            },
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "title": "Rate",
         "type": "object"
      },
      "RegnetDynamics": {
         "properties": {
            "json_graph": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "additionalProperties": {
                           "items": {
                              "type": "object"
                           },
                           "type": "array"
                        },
                        "type": "object"
                     }
                  ]
               },
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "RegnetDynamics",
         "type": "object"
      },
      "RegnetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "regnet": {
               "$ref": "#/$defs/RegnetDynamics"
            }
         },
         "required": [
            "regnet"
         ],
         "title": "RegnetModel",
         "type": "object"
      },
      "Schedules": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            },
            "schedules": {
               "items": {
                  "$ref": "#/$defs/EncodingSchedule"
               },
               "title": "Schedules",
               "type": "array"
            }
         },
         "required": [
            "name",
            "schedules"
         ],
         "title": "Schedules",
         "type": "object"
      },
      "Semantics": {
         "properties": {
            "ode": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/OdeSemantics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "typing": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TypingSemantics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Information for aligning models for stratification"
            },
            "span": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TypingSemantics"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Legs of a span, each of which are a full ASKEM Petri Net",
               "title": "Span"
            }
         },
         "title": "Semantics",
         "type": "object"
      },
      "State": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Unit"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "State",
         "type": "object"
      },
      "StateVariableConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "title": "Variable",
               "type": "string"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": null
            }
         },
         "required": [
            "name",
            "variable"
         ],
         "title": "StateVariableConstraint",
         "type": "object"
      },
      "States": {
         "items": {
            "$ref": "#/$defs/State"
         },
         "title": "States",
         "type": "array"
      },
      "StepSize": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "StepSize",
         "type": "object"
      },
      "StructureParameter": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "StructureParameter",
         "type": "object"
      },
      "Time": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Unit"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "Time",
         "type": "object"
      },
      "Timeseries": {
         "properties": {
            "data": {
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "items": {
                           "type": "number"
                        },
                        "type": "array"
                     }
                  ]
               },
               "title": "Data",
               "type": "array"
            },
            "columns": {
               "items": {
                  "type": "string"
               },
               "title": "Columns",
               "type": "array"
            }
         },
         "required": [
            "data",
            "columns"
         ],
         "title": "Timeseries",
         "type": "object"
      },
      "Transition": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "input": {
               "items": {
                  "type": "string"
               },
               "title": "Input",
               "type": "array"
            },
            "output": {
               "items": {
                  "type": "string"
               },
               "title": "Output",
               "type": "array"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "properties": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Properties"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id",
            "input",
            "output"
         ],
         "title": "Transition",
         "type": "object"
      },
      "Transitions": {
         "items": {
            "$ref": "#/$defs/Transition"
         },
         "title": "Transitions",
         "type": "array"
      },
      "TypingSemantics": {
         "properties": {
            "system": {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model",
               "description": "A Petri net representing the 'type system' that is necessary to align states and transitions across different models during stratification."
            },
            "map": {
               "description": "A map between the (state and transition) nodes of the model and the (state and transition) nodes of the type system",
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Map",
               "type": "array"
            }
         },
         "required": [
            "system",
            "map"
         ],
         "title": "TypingSemantics",
         "type": "object"
      },
      "Unit": {
         "additionalProperties": true,
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "title": "Unit",
         "type": "object"
      },
      "Vertice": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rate_constant": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParamOrNumber"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "sign": {
               "title": "Sign",
               "type": "boolean"
            },
            "initial": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParamOrNumber"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id",
            "sign"
         ],
         "title": "Vertice",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Distribution": {
         "additionalProperties": true,
         "properties": {
            "type": {
               "title": "Type",
               "type": "string"
            },
            "parameters": {
               "title": "Parameters",
               "type": "object"
            }
         },
         "required": [
            "type",
            "parameters"
         ],
         "title": "Distribution",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Grounding": {
         "additionalProperties": false,
         "properties": {
            "identifiers": {
               "title": "Identifiers",
               "type": "object"
            },
            "modifiers": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Modifiers"
            }
         },
         "required": [
            "identifiers"
         ],
         "title": "Grounding",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Model": {
         "additionalProperties": true,
         "properties": {
            "header": {
               "$ref": "#/$defs/Header"
            },
            "properties": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Properties"
            },
            "model": {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model1"
            },
            "semantics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Semantics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Information specific to a given semantics (e.g., ODEs) associated with a model."
            },
            "metadata": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Information not useful for execution of the model, but that may be useful to some consumer in the future. E.g. creation timestamp or source paper's author.",
               "title": "Metadata"
            }
         },
         "required": [
            "header",
            "model"
         ],
         "title": "Model",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Model1": {
         "additionalProperties": false,
         "properties": {
            "states": {
               "$ref": "#/$defs/States"
            },
            "transitions": {
               "$ref": "#/$defs/Transitions"
            }
         },
         "required": [
            "states",
            "transitions"
         ],
         "title": "Model1",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Parameter": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "distribution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Distribution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Unit"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "Parameter",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Distribution": {
         "properties": {
            "type": {
               "title": "Type",
               "type": "string"
            },
            "parameters": {
               "title": "Parameters",
               "type": "object"
            }
         },
         "required": [
            "type",
            "parameters"
         ],
         "title": "Distribution",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Grounding": {
         "additionalProperties": false,
         "properties": {
            "identifiers": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Identifiers"
            },
            "modifiers": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Modifiers"
            }
         },
         "title": "Grounding",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Model": {
         "properties": {
            "header": {
               "$ref": "#/$defs/Header"
            },
            "properties": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Properties"
            },
            "model": {
               "$ref": "#/$defs/funman__model__generated_models__regnet__Model1"
            },
            "metadata": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Information not useful for execution of the model, but that may be useful to some consumer in the future. E.g. creation timestamp or source paper's author.",
               "title": "Metadata"
            }
         },
         "required": [
            "header",
            "model"
         ],
         "title": "Model",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Model1": {
         "additionalProperties": false,
         "properties": {
            "vertices": {
               "items": {
                  "$ref": "#/$defs/Vertice"
               },
               "title": "Vertices",
               "type": "array"
            },
            "edges": {
               "items": {
                  "$ref": "#/$defs/Edge"
               },
               "title": "Edges",
               "type": "array"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/funman__model__generated_models__regnet__Parameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            }
         },
         "required": [
            "vertices",
            "edges"
         ],
         "title": "Model1",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Parameter": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "distribution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Distribution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "Parameter",
         "type": "object"
      }
   },
   "required": [
      "id",
      "model",
      "request"
   ]
}

Fields:
field contracted_model: Model | None = None
field done: bool = False
field error: bool = False
field error_message: str | None = None
field id: str [Required]
field model: GeneratedRegnetModel | GeneratedPetriNetModel | RegnetModel | PetrinetModel | DecapodeModel | BilayerModel | EncodedModel [Required]
field parameter_space: ParameterSpace | None = None
field progress: FunmanProgress = FunmanProgress(progress=0.0, coverage_of_search_space=0.0, coverage_of_representable_space=0.0)
field request: FunmanWorkRequest [Required]
field timing: FunmanResultsTiming = FunmanResultsTiming(start_time=None, end_time=None, total_time=None, solver_time=None, encoding_time=None, progress_timeseries=[], additional_time={})
contract_model()

Use the parameter_space to contract the model parameter bounds and set self.contracted_model

dataframe(points: List[Point], interpolate='linear', max_time=None)

Extract a timeseries as a Pandas dataframe.

Parameters:

interpolate (str, optional) – interpolate between time points, by default “linear”

Returns:

the timeseries

Return type:

pandas.DataFrame

Raises:

Exception – fails if scenario is not consistent

explain() Explanation
finalize_result(scenario: AnalysisScenario, result: ConsistencyScenarioResult | ParameterSynthesisScenarioResult)
finalize_result_as_error(message=None)
is_final()
model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

plot(points: List[Point] | None = None, variables=None, log_y=False, max_time=None, title='Point Trajectories', xlabel='Time', ylabel='Population', label_marker={'false': 'o', 'true': '+'}, label_color={'false': 'r', 'true': 'g'}, legend=None, dpi=100, **kwargs)

Plot the results in a matplotlib plot.

Raises:

Exception – failure if scenario is not consistent.

plot_trajectories(variable: str, num: int = 200)
point_parameters(point: Point, scenario: AnalysisScenario | None = None) Dict[Parameter, float]
points() List[Point]
start()
stop()
symbol_timeseries(point: Point, variables: List[str]) Dict[str, List[float | None]]

Generate a symbol (str) to timeseries (list) of values

Parameters:

pysmtModel (pysmt.solvers.solver.Model) – variable assignment

symbol_values(point: Point, variables: List[str]) Dict[str, Dict[str, float]]

Get the value assigned to each symbol in the pysmtModel.

Parameters:
  • model_encoding (Encoding) – encoding using the symbols

  • pysmtModel (pysmt.solvers.solver.Model) – assignment to symbols

Returns:

mapping from symbol and timepoint to value

Return type:

Dict[str, Dict[str, float]]

update_parameter_space(scenario: AnalysisScenario, results: ParameterSpace) FunmanProgress
pydantic model funman.server.query.FunmanResultsTiming

Bases: BaseModel

Show JSON schema
{
   "title": "FunmanResultsTiming",
   "type": "object",
   "properties": {
      "start_time": {
         "default": null,
         "format": "date-time",
         "title": "Start Time",
         "type": "string"
      },
      "end_time": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "End Time"
      },
      "total_time": {
         "anyOf": [
            {
               "format": "duration",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Total Time"
      },
      "solver_time": {
         "anyOf": [
            {
               "format": "duration",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Solver Time"
      },
      "encoding_time": {
         "anyOf": [
            {
               "format": "duration",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Encoding Time"
      },
      "progress_timeseries": {
         "default": [],
         "items": {
            "maxItems": 2,
            "minItems": 2,
            "prefixItems": [
               {
                  "format": "date-time",
                  "type": "string"
               },
               {
                  "type": "number"
               }
            ],
            "type": "array"
         },
         "title": "Progress Timeseries",
         "type": "array"
      },
      "additional_time": {
         "additionalProperties": {
            "format": "duration",
            "type": "string"
         },
         "default": {},
         "title": "Additional Time",
         "type": "object"
      }
   }
}

Fields:
field additional_time: Dict[str, timedelta] = {}
field encoding_time: timedelta | None = None
field end_time: datetime | None = None
field progress_timeseries: List[Tuple[datetime, float]] = []
field solver_time: timedelta | None = None
field start_time: datetime = None
field total_time: timedelta | None = None
finalize()

Calculate total time

update_progress(progress, granularity=datetime.timedelta(seconds=1)) None
pydantic model funman.server.query.FunmanWorkRequest

Bases: BaseModel

Show JSON schema
{
   "title": "FunmanWorkRequest",
   "type": "object",
   "properties": {
      "query": {
         "anyOf": [
            {
               "$ref": "#/$defs/QueryAnd"
            },
            {
               "$ref": "#/$defs/QueryLE"
            },
            {
               "$ref": "#/$defs/QueryFunction"
            },
            {
               "$ref": "#/$defs/QueryTrue"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Query"
      },
      "constraints": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/StateVariableConstraint"
                     },
                     {
                        "$ref": "#/$defs/LinearConstraint"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Constraints"
      },
      "parameters": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ModelParameter"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Parameters"
      },
      "config": {
         "anyOf": [
            {
               "$ref": "#/$defs/FUNMANConfig"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "structure_parameters": {
         "anyOf": [
            {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/Schedules"
                     },
                     {
                        "$ref": "#/$defs/NumSteps"
                     },
                     {
                        "$ref": "#/$defs/StepSize"
                     }
                  ]
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Structure Parameters"
      }
   },
   "$defs": {
      "EncodingSchedule": {
         "properties": {
            "timepoints": {
               "items": {
                  "anyOf": [
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     }
                  ]
               },
               "title": "Timepoints",
               "type": "array"
            }
         },
         "required": [
            "timepoints"
         ],
         "title": "EncodingSchedule",
         "type": "object"
      },
      "FUNMANConfig": {
         "description": "Base definition of a configuration object",
         "properties": {
            "tolerance": {
               "default": 0.001,
               "title": "Tolerance",
               "type": "number"
            },
            "queue_timeout": {
               "default": 1,
               "title": "Queue Timeout",
               "type": "integer"
            },
            "number_of_processes": {
               "default": 1,
               "title": "Number Of Processes",
               "type": "integer"
            },
            "wait_timeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Wait Timeout"
            },
            "wait_action_timeout": {
               "default": 0.05,
               "title": "Wait Action Timeout",
               "type": "number"
            },
            "solver": {
               "default": "dreal",
               "title": "Solver",
               "type": "string"
            },
            "num_steps": {
               "default": 2,
               "title": "Num Steps",
               "type": "integer"
            },
            "step_size": {
               "default": 1,
               "title": "Step Size",
               "type": "integer"
            },
            "num_initial_boxes": {
               "default": 1,
               "title": "Num Initial Boxes",
               "type": "integer"
            },
            "solver_timeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Solver Timeout"
            },
            "initial_state_tolerance": {
               "default": 0.0,
               "title": "Initial State Tolerance",
               "type": "number"
            },
            "save_smtlib": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Save Smtlib"
            },
            "dreal_precision": {
               "default": 0.1,
               "title": "Dreal Precision",
               "type": "number"
            },
            "dreal_log_level": {
               "default": "off",
               "title": "Dreal Log Level",
               "type": "string"
            },
            "constraint_noise": {
               "default": 0.0,
               "title": "Constraint Noise",
               "type": "number"
            },
            "dreal_mcts": {
               "default": true,
               "title": "Dreal Mcts",
               "type": "boolean"
            },
            "substitute_subformulas": {
               "default": false,
               "title": "Substitute Subformulas",
               "type": "boolean"
            },
            "normalization_constant": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Normalization Constant"
            },
            "use_compartmental_constraints": {
               "default": false,
               "title": "Use Compartmental Constraints",
               "type": "boolean"
            },
            "compartmental_constraint_noise": {
               "default": 0.01,
               "title": "Compartmental Constraint Noise",
               "type": "number"
            },
            "normalize": {
               "default": false,
               "title": "Normalize",
               "type": "boolean"
            },
            "simplify_query": {
               "default": false,
               "title": "Simplify Query",
               "type": "boolean"
            },
            "series_approximation_threshold": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Series Approximation Threshold"
            },
            "profile": {
               "default": false,
               "title": "Profile",
               "type": "boolean"
            },
            "taylor_series_order": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Taylor Series Order"
            },
            "corner_points": {
               "default": false,
               "title": "Corner Points",
               "type": "boolean"
            },
            "verbosity": {
               "default": 40,
               "title": "Verbosity",
               "type": "integer"
            },
            "use_transition_symbols": {
               "default": false,
               "title": "Use Transition Symbols",
               "type": "boolean"
            },
            "uniform_box_splits": {
               "default": false,
               "title": "Uniform Box Splits",
               "type": "boolean"
            },
            "dreal_prefer_parameters": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Dreal Prefer Parameters",
               "type": "array"
            },
            "point_based_evaluation": {
               "default": false,
               "title": "Point Based Evaluation",
               "type": "boolean"
            },
            "prioritize_box_entropy": {
               "default": true,
               "title": "Prioritize Box Entropy",
               "type": "boolean"
            },
            "mode": {
               "default": "mode_smt",
               "enum": [
                  "mode_smt",
                  "mode_odeint"
               ],
               "title": "Mode",
               "type": "string"
            },
            "random_seed": {
               "default": 0,
               "title": "Random Seed",
               "type": "integer"
            }
         },
         "title": "FUNMANConfig",
         "type": "object"
      },
      "FunmanModel": {
         "description": "The abstract base class for Models.",
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            }
         },
         "title": "FunmanModel",
         "type": "object"
      },
      "Interval": {
         "description": "An interval is a pair [lb, ub) that is open (i.e., an interval specifies all points x where lb <= x and ub < x).",
         "properties": {
            "lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -1.7976931348623157e+308,
               "title": "Lb"
            },
            "ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1.7976931348623157e+308,
               "title": "Ub"
            },
            "closed_upper_bound": {
               "default": false,
               "title": "Closed Upper Bound",
               "type": "boolean"
            },
            "original_width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Original Width"
            },
            "normalized": {
               "default": false,
               "title": "Normalized",
               "type": "boolean"
            },
            "unnormalized_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unnormalized Lb"
            },
            "unnormalized_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unnormalized Ub"
            }
         },
         "title": "Interval",
         "type": "object"
      },
      "LinearConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "additive_bounds": {
               "$ref": "#/$defs/Interval"
            },
            "variables": {
               "items": {
                  "type": "string"
               },
               "title": "Variables",
               "type": "array"
            },
            "weights": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "type": "integer"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Weights"
            },
            "derivative": {
               "default": false,
               "title": "Derivative",
               "type": "boolean"
            }
         },
         "required": [
            "name",
            "additive_bounds",
            "variables"
         ],
         "title": "LinearConstraint",
         "type": "object"
      },
      "ModelParameter": {
         "additionalProperties": false,
         "description": "A parameter is a free variable for a Model.  It has the following attributes:\n\n* lb: lower bound\n\n* ub: upper bound\n\n* symbol: a pysmt FNode corresponding to the parameter variable",
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "ModelParameter",
         "type": "object"
      },
      "ModelSymbol": {
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "model": {
               "title": "Model",
               "type": "string"
            }
         },
         "required": [
            "name",
            "model"
         ],
         "title": "ModelSymbol",
         "type": "object"
      },
      "NumSteps": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "NumSteps",
         "type": "object"
      },
      "Query": {
         "description": "Abstract base class for queries.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Query",
         "type": "object"
      },
      "QueryAnd": {
         "description": "Conjunction of queries.\n\nParameters\n----------\nqueries : List[Query]\n    queries to conjoin.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "queries": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/QueryLE"
                     },
                     {
                        "$ref": "#/$defs/QueryGE"
                     },
                     {
                        "$ref": "#/$defs/QueryEquals"
                     },
                     {
                        "$ref": "#/$defs/Query"
                     }
                  ]
               },
               "title": "Queries",
               "type": "array"
            }
         },
         "required": [
            "queries"
         ],
         "title": "QueryAnd",
         "type": "object"
      },
      "QueryEquals": {
         "description": "Class to represent a query of the form: var == value, where var is a variable, and value is a constant.\n\nParameters\n----------\nvariable : str\n    model variable name\nvalue : float\n    value\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "value": {
               "title": "Value",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "value"
         ],
         "title": "QueryEquals",
         "type": "object"
      },
      "QueryFunction": {
         "description": "This query uses a Python function passed to the constructor to evaluate a query on the results of a scenario.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "function": {
               "title": "Function",
               "type": "string"
            }
         },
         "required": [
            "function"
         ],
         "title": "QueryFunction",
         "type": "object"
      },
      "QueryGE": {
         "description": "Class to represent a query of the form: var >= lb, where var is a variable, and lb is a constant lower bound.\n\nParameters\n----------\nvariable : str\n    model variable name\nlb : float\n    lower bound constant\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "lb": {
               "title": "Lb",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "lb"
         ],
         "title": "QueryGE",
         "type": "object"
      },
      "QueryLE": {
         "description": "Class to represent a query of the form: var <= ub, where var is a variable, and ub is a constant upper bound.\n\nParameters\n----------\nvariable : str\n    model variable name\nub : float\n    upper bound constant\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "ub": {
               "title": "Ub",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "ub"
         ],
         "title": "QueryLE",
         "type": "object"
      },
      "QueryTrue": {
         "additionalProperties": false,
         "description": "Query that represents logical true.  I.e., this query does not place any additional constraints upon a model.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "QueryTrue",
         "type": "object"
      },
      "Schedules": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            },
            "schedules": {
               "items": {
                  "$ref": "#/$defs/EncodingSchedule"
               },
               "title": "Schedules",
               "type": "array"
            }
         },
         "required": [
            "name",
            "schedules"
         ],
         "title": "Schedules",
         "type": "object"
      },
      "StateVariableConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "title": "Variable",
               "type": "string"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": null
            }
         },
         "required": [
            "name",
            "variable"
         ],
         "title": "StateVariableConstraint",
         "type": "object"
      },
      "StepSize": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "StepSize",
         "type": "object"
      }
   }
}

Fields:
Validators:
field config: FUNMANConfig | None = None
field constraints: List[StateVariableConstraint | LinearConstraint] | None = None
Validated by:
field parameters: List[ModelParameter] | None = None
field query: QueryAnd | QueryLE | QueryFunction | QueryTrue | None = None
field structure_parameters: List[Schedules | NumSteps | StepSize] | None = None
validator check_unique_names  »  constraints
parameter(name: str) ModelParameter
pydantic model funman.server.query.FunmanWorkUnit

Bases: BaseModel

Fields

id : The UUID assigned to the request request : A copy of the request associated with this response

Show JSON schema
{
   "title": "FunmanWorkUnit",
   "description": "Fields\n------\nid : The UUID assigned to the request\nrequest : A copy of the request associated with this response",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "progress": {
         "$ref": "#/$defs/FunmanProgress",
         "default": {
            "progress": 0.0,
            "coverage_of_search_space": 0.0,
            "coverage_of_representable_space": 0.0
         }
      },
      "model": {
         "anyOf": [
            {
               "$ref": "#/$defs/RegnetModel"
            },
            {
               "$ref": "#/$defs/PetrinetModel"
            },
            {
               "$ref": "#/$defs/DecapodeModel"
            },
            {
               "$ref": "#/$defs/BilayerModel"
            },
            {
               "$ref": "#/$defs/GeneratedRegnetModel"
            },
            {
               "$ref": "#/$defs/GeneratedPetriNetModel"
            }
         ],
         "title": "Model"
      },
      "request": {
         "$ref": "#/$defs/FunmanWorkRequest"
      }
   },
   "$defs": {
      "BaseProperties": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rate_constant": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParamOrNumber"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "BaseProperties",
         "type": "object"
      },
      "BilayerDynamics": {
         "description": "The BilayerDynamics class represents a state update (dynamics) model for a set of variables.  The graph consists of:\n\n* state nodes (current state),\n\n* tangent nodes (next state), and\n\n* flux nodes (causal relationships).",
         "properties": {
            "json_graph": {
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "BilayerDynamics",
         "type": "object"
      },
      "BilayerEdge": {
         "properties": {
            "src": {
               "$ref": "#/$defs/BilayerNode"
            },
            "tgt": {
               "$ref": "#/$defs/BilayerNode"
            }
         },
         "required": [
            "src",
            "tgt"
         ],
         "title": "BilayerEdge",
         "type": "object"
      },
      "BilayerFluxNode": {
         "description": "BilayerNode representing a flux.",
         "properties": {
            "index": {
               "title": "Index",
               "type": "integer"
            },
            "parameter": {
               "title": "Parameter",
               "type": "string"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BilayerMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "index",
            "parameter"
         ],
         "title": "BilayerFluxNode",
         "type": "object"
      },
      "BilayerMeasurement": {
         "description": "The BilayerMeasurement class represents measurements taken on the BilayerNode state nodes of a BilayerDynamics object.  The graph consists of:\n\n* state nodes (current state),\n\n* observation nodes, and\n\n* flux nodes (causal relationships).",
         "properties": {
            "json_graph": {
               "title": "Json Graph",
               "type": "object"
            },
            "state": {
               "additionalProperties": {
                  "$ref": "#/$defs/BilayerStateNode"
               },
               "default": {},
               "title": "State",
               "type": "object"
            },
            "flux": {
               "additionalProperties": {
                  "$ref": "#/$defs/BilayerFluxNode"
               },
               "default": {},
               "title": "Flux",
               "type": "object"
            },
            "observable": {
               "additionalProperties": {
                  "$ref": "#/$defs/BilayerStateNode"
               },
               "default": {},
               "title": "Observable",
               "type": "object"
            },
            "input_edges": {
               "$ref": "#/$defs/BilayerEdge",
               "default": []
            },
            "output_edges": {
               "$ref": "#/$defs/BilayerEdge",
               "default": []
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "BilayerMeasurement",
         "type": "object"
      },
      "BilayerMetadata": {
         "description": "Metadata for a BilayerNode",
         "properties": {
            "ref": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Ref"
            },
            "type": {
               "anyOf": [
                  {
                     "enum": [
                        "float",
                        "int"
                     ],
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Type"
            },
            "initial_value": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Initial Value"
            },
            "lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Lb"
            },
            "ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Ub"
            }
         },
         "title": "BilayerMetadata",
         "type": "object"
      },
      "BilayerModel": {
         "description": "A BilayerModel is a complete specification of a Model that uses a BilayerDynamics graph to represent dynamics. It includes the attributes:\n\n* bilayer: the BilayerDynamics graph\n\n* measurements: the BilayerMeasurement graph (used to derive additional variables from the state nodes)\n\n* init_values: a dict mapping from state variables and flux parameters to initial value\n\n* identical_parameters: a list of lists of flux parameters that have identical values\n\n* parameter_bounds: a list of lower and upper bounds on parameters",
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "bilayer": {
               "$ref": "#/$defs/BilayerDynamics"
            },
            "measurements": {
               "$ref": "#/$defs/BilayerMeasurement",
               "default": null
            },
            "identical_parameters": {
               "default": [],
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Identical Parameters",
               "type": "array"
            }
         },
         "required": [
            "bilayer"
         ],
         "title": "BilayerModel",
         "type": "object"
      },
      "BilayerNode": {
         "description": "Node in a BilayerGraph.",
         "properties": {
            "index": {
               "title": "Index",
               "type": "integer"
            },
            "parameter": {
               "title": "Parameter",
               "type": "string"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BilayerMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "index",
            "parameter"
         ],
         "title": "BilayerNode",
         "type": "object"
      },
      "BilayerStateNode": {
         "description": "BilayerNode representing a state variable.",
         "properties": {
            "index": {
               "title": "Index",
               "type": "integer"
            },
            "parameter": {
               "title": "Parameter",
               "type": "string"
            },
            "metadata": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BilayerMetadata"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "index",
            "parameter"
         ],
         "title": "BilayerStateNode",
         "type": "object"
      },
      "DecapodeDynamics": {
         "properties": {
            "json_graph": {
               "additionalProperties": {
                  "items": {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "integer"
                           },
                           {
                              "type": "string"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  "type": "array"
               },
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "DecapodeDynamics",
         "type": "object"
      },
      "DecapodeModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "decapode": {
               "$ref": "#/$defs/DecapodeDynamics"
            }
         },
         "required": [
            "decapode"
         ],
         "title": "DecapodeModel",
         "type": "object"
      },
      "Edge": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "sign": {
               "title": "Sign",
               "type": "boolean"
            },
            "source": {
               "title": "Source",
               "type": "string"
            },
            "target": {
               "title": "Target",
               "type": "string"
            },
            "properties": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BaseProperties"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id",
            "sign",
            "source",
            "target"
         ],
         "title": "Edge",
         "type": "object"
      },
      "EncodingSchedule": {
         "properties": {
            "timepoints": {
               "items": {
                  "anyOf": [
                     {
                        "type": "integer"
                     },
                     {
                        "type": "number"
                     }
                  ]
               },
               "title": "Timepoints",
               "type": "array"
            }
         },
         "required": [
            "timepoints"
         ],
         "title": "EncodingSchedule",
         "type": "object"
      },
      "FUNMANConfig": {
         "description": "Base definition of a configuration object",
         "properties": {
            "tolerance": {
               "default": 0.001,
               "title": "Tolerance",
               "type": "number"
            },
            "queue_timeout": {
               "default": 1,
               "title": "Queue Timeout",
               "type": "integer"
            },
            "number_of_processes": {
               "default": 1,
               "title": "Number Of Processes",
               "type": "integer"
            },
            "wait_timeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Wait Timeout"
            },
            "wait_action_timeout": {
               "default": 0.05,
               "title": "Wait Action Timeout",
               "type": "number"
            },
            "solver": {
               "default": "dreal",
               "title": "Solver",
               "type": "string"
            },
            "num_steps": {
               "default": 2,
               "title": "Num Steps",
               "type": "integer"
            },
            "step_size": {
               "default": 1,
               "title": "Step Size",
               "type": "integer"
            },
            "num_initial_boxes": {
               "default": 1,
               "title": "Num Initial Boxes",
               "type": "integer"
            },
            "solver_timeout": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Solver Timeout"
            },
            "initial_state_tolerance": {
               "default": 0.0,
               "title": "Initial State Tolerance",
               "type": "number"
            },
            "save_smtlib": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Save Smtlib"
            },
            "dreal_precision": {
               "default": 0.1,
               "title": "Dreal Precision",
               "type": "number"
            },
            "dreal_log_level": {
               "default": "off",
               "title": "Dreal Log Level",
               "type": "string"
            },
            "constraint_noise": {
               "default": 0.0,
               "title": "Constraint Noise",
               "type": "number"
            },
            "dreal_mcts": {
               "default": true,
               "title": "Dreal Mcts",
               "type": "boolean"
            },
            "substitute_subformulas": {
               "default": false,
               "title": "Substitute Subformulas",
               "type": "boolean"
            },
            "normalization_constant": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Normalization Constant"
            },
            "use_compartmental_constraints": {
               "default": false,
               "title": "Use Compartmental Constraints",
               "type": "boolean"
            },
            "compartmental_constraint_noise": {
               "default": 0.01,
               "title": "Compartmental Constraint Noise",
               "type": "number"
            },
            "normalize": {
               "default": false,
               "title": "Normalize",
               "type": "boolean"
            },
            "simplify_query": {
               "default": false,
               "title": "Simplify Query",
               "type": "boolean"
            },
            "series_approximation_threshold": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Series Approximation Threshold"
            },
            "profile": {
               "default": false,
               "title": "Profile",
               "type": "boolean"
            },
            "taylor_series_order": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Taylor Series Order"
            },
            "corner_points": {
               "default": false,
               "title": "Corner Points",
               "type": "boolean"
            },
            "verbosity": {
               "default": 40,
               "title": "Verbosity",
               "type": "integer"
            },
            "use_transition_symbols": {
               "default": false,
               "title": "Use Transition Symbols",
               "type": "boolean"
            },
            "uniform_box_splits": {
               "default": false,
               "title": "Uniform Box Splits",
               "type": "boolean"
            },
            "dreal_prefer_parameters": {
               "default": [],
               "items": {
                  "type": "string"
               },
               "title": "Dreal Prefer Parameters",
               "type": "array"
            },
            "point_based_evaluation": {
               "default": false,
               "title": "Point Based Evaluation",
               "type": "boolean"
            },
            "prioritize_box_entropy": {
               "default": true,
               "title": "Prioritize Box Entropy",
               "type": "boolean"
            },
            "mode": {
               "default": "mode_smt",
               "enum": [
                  "mode_smt",
                  "mode_odeint"
               ],
               "title": "Mode",
               "type": "string"
            },
            "random_seed": {
               "default": 0,
               "title": "Random Seed",
               "type": "integer"
            }
         },
         "title": "FUNMANConfig",
         "type": "object"
      },
      "FunmanModel": {
         "description": "The abstract base class for Models.",
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            }
         },
         "title": "FunmanModel",
         "type": "object"
      },
      "FunmanProgress": {
         "properties": {
            "progress": {
               "default": 0.0,
               "title": "Progress",
               "type": "number"
            },
            "coverage_of_search_space": {
               "default": 0.0,
               "title": "Coverage Of Search Space",
               "type": "number"
            },
            "coverage_of_representable_space": {
               "default": 0.0,
               "title": "Coverage Of Representable Space",
               "type": "number"
            }
         },
         "title": "FunmanProgress",
         "type": "object"
      },
      "FunmanWorkRequest": {
         "properties": {
            "query": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/QueryAnd"
                  },
                  {
                     "$ref": "#/$defs/QueryLE"
                  },
                  {
                     "$ref": "#/$defs/QueryFunction"
                  },
                  {
                     "$ref": "#/$defs/QueryTrue"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Query"
            },
            "constraints": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/StateVariableConstraint"
                           },
                           {
                              "$ref": "#/$defs/LinearConstraint"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Constraints"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/ModelParameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "config": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FUNMANConfig"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "structure_parameters": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "$ref": "#/$defs/Schedules"
                           },
                           {
                              "$ref": "#/$defs/NumSteps"
                           },
                           {
                              "$ref": "#/$defs/StepSize"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Structure Parameters"
            }
         },
         "title": "FunmanWorkRequest",
         "type": "object"
      },
      "GeneratedPetriNetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "petrinet": {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model"
            }
         },
         "required": [
            "petrinet"
         ],
         "title": "GeneratedPetriNetModel",
         "type": "object"
      },
      "GeneratedRegnetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "regnet": {
               "$ref": "#/$defs/funman__model__generated_models__regnet__Model"
            }
         },
         "required": [
            "regnet"
         ],
         "title": "GeneratedRegnetModel",
         "type": "object"
      },
      "Header": {
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "schema": {
               "format": "uri",
               "minLength": 1,
               "title": "Schema",
               "type": "string"
            },
            "schema_name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Schema Name"
            },
            "description": {
               "title": "Description",
               "type": "string"
            },
            "model_version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Model Version"
            }
         },
         "required": [
            "name",
            "schema",
            "description"
         ],
         "title": "Header",
         "type": "object"
      },
      "Initial": {
         "properties": {
            "target": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Target"
            },
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "title": "Initial",
         "type": "object"
      },
      "Interval": {
         "description": "An interval is a pair [lb, ub) that is open (i.e., an interval specifies all points x where lb <= x and ub < x).",
         "properties": {
            "lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": -1.7976931348623157e+308,
               "title": "Lb"
            },
            "ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": 1.7976931348623157e+308,
               "title": "Ub"
            },
            "closed_upper_bound": {
               "default": false,
               "title": "Closed Upper Bound",
               "type": "boolean"
            },
            "original_width": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Original Width"
            },
            "normalized": {
               "default": false,
               "title": "Normalized",
               "type": "boolean"
            },
            "unnormalized_lb": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unnormalized Lb"
            },
            "unnormalized_ub": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Unnormalized Ub"
            }
         },
         "title": "Interval",
         "type": "object"
      },
      "LinearConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "additive_bounds": {
               "$ref": "#/$defs/Interval"
            },
            "variables": {
               "items": {
                  "type": "string"
               },
               "title": "Variables",
               "type": "array"
            },
            "weights": {
               "anyOf": [
                  {
                     "items": {
                        "anyOf": [
                           {
                              "type": "integer"
                           },
                           {
                              "type": "number"
                           }
                        ]
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Weights"
            },
            "derivative": {
               "default": false,
               "title": "Derivative",
               "type": "boolean"
            }
         },
         "required": [
            "name",
            "additive_bounds",
            "variables"
         ],
         "title": "LinearConstraint",
         "type": "object"
      },
      "ModelParameter": {
         "additionalProperties": false,
         "description": "A parameter is a free variable for a Model.  It has the following attributes:\n\n* lb: lower bound\n\n* ub: upper bound\n\n* symbol: a pysmt FNode corresponding to the parameter variable",
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "ModelParameter",
         "type": "object"
      },
      "ModelSymbol": {
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "model": {
               "title": "Model",
               "type": "string"
            }
         },
         "required": [
            "name",
            "model"
         ],
         "title": "ModelSymbol",
         "type": "object"
      },
      "NumSteps": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "NumSteps",
         "type": "object"
      },
      "Observable": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "required": [
            "id"
         ],
         "title": "Observable",
         "type": "object"
      },
      "OdeSemantics": {
         "properties": {
            "rates": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Rate"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rates"
            },
            "initials": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Initial"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Initials"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/funman__model__generated_models__petrinet__Parameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            },
            "observables": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Observable"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Observables"
            },
            "time": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Time"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "OdeSemantics",
         "type": "object"
      },
      "ParamOrNumber": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "string"
            }
         ],
         "title": "ParamOrNumber"
      },
      "PetrinetDynamics": {
         "properties": {
            "json_graph": {
               "additionalProperties": {
                  "items": {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "additionalProperties": {
                                 "anyOf": [
                                    {
                                       "type": "string"
                                    },
                                    {
                                       "type": "boolean"
                                    },
                                    {
                                       "type": "number"
                                    },
                                    {
                                       "type": "null"
                                    }
                                 ]
                              },
                              "type": "object"
                           },
                           {
                              "type": "integer"
                           },
                           {
                              "type": "string"
                           },
                           {
                              "type": "number"
                           },
                           {
                              "type": "null"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  "type": "array"
               },
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "PetrinetDynamics",
         "type": "object"
      },
      "PetrinetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "petrinet": {
               "$ref": "#/$defs/PetrinetDynamics"
            }
         },
         "required": [
            "petrinet"
         ],
         "title": "PetrinetModel",
         "type": "object"
      },
      "Properties": {
         "additionalProperties": true,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "name"
         ],
         "title": "Properties",
         "type": "object"
      },
      "Query": {
         "description": "Abstract base class for queries.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Query",
         "type": "object"
      },
      "QueryAnd": {
         "description": "Conjunction of queries.\n\nParameters\n----------\nqueries : List[Query]\n    queries to conjoin.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "queries": {
               "items": {
                  "anyOf": [
                     {
                        "$ref": "#/$defs/QueryLE"
                     },
                     {
                        "$ref": "#/$defs/QueryGE"
                     },
                     {
                        "$ref": "#/$defs/QueryEquals"
                     },
                     {
                        "$ref": "#/$defs/Query"
                     }
                  ]
               },
               "title": "Queries",
               "type": "array"
            }
         },
         "required": [
            "queries"
         ],
         "title": "QueryAnd",
         "type": "object"
      },
      "QueryEquals": {
         "description": "Class to represent a query of the form: var == value, where var is a variable, and value is a constant.\n\nParameters\n----------\nvariable : str\n    model variable name\nvalue : float\n    value\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "value": {
               "title": "Value",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "value"
         ],
         "title": "QueryEquals",
         "type": "object"
      },
      "QueryFunction": {
         "description": "This query uses a Python function passed to the constructor to evaluate a query on the results of a scenario.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "function": {
               "title": "Function",
               "type": "string"
            }
         },
         "required": [
            "function"
         ],
         "title": "QueryFunction",
         "type": "object"
      },
      "QueryGE": {
         "description": "Class to represent a query of the form: var >= lb, where var is a variable, and lb is a constant lower bound.\n\nParameters\n----------\nvariable : str\n    model variable name\nlb : float\n    lower bound constant\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "lb": {
               "title": "Lb",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "lb"
         ],
         "title": "QueryGE",
         "type": "object"
      },
      "QueryLE": {
         "description": "Class to represent a query of the form: var <= ub, where var is a variable, and ub is a constant upper bound.\n\nParameters\n----------\nvariable : str\n    model variable name\nub : float\n    upper bound constant\nat_end : bool, optional\n    apply the constraint to the last timepoint of a scenario only, by default False",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Variable"
            },
            "ub": {
               "title": "Ub",
               "type": "number"
            },
            "at_end": {
               "default": false,
               "title": "At End",
               "type": "boolean"
            }
         },
         "required": [
            "variable",
            "ub"
         ],
         "title": "QueryLE",
         "type": "object"
      },
      "QueryTrue": {
         "additionalProperties": false,
         "description": "Query that represents logical true.  I.e., this query does not place any additional constraints upon a model.",
         "properties": {
            "model": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FunmanModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "QueryTrue",
         "type": "object"
      },
      "Rate": {
         "properties": {
            "target": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Target"
            },
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "title": "Rate",
         "type": "object"
      },
      "RegnetDynamics": {
         "properties": {
            "json_graph": {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "additionalProperties": {
                           "items": {
                              "type": "object"
                           },
                           "type": "array"
                        },
                        "type": "object"
                     }
                  ]
               },
               "title": "Json Graph",
               "type": "object"
            }
         },
         "required": [
            "json_graph"
         ],
         "title": "RegnetDynamics",
         "type": "object"
      },
      "RegnetModel": {
         "properties": {
            "name": {
               "default": "model_a6f04917-34c0-45e0-a42c-128947736090",
               "title": "Name",
               "type": "string"
            },
            "init_values": {
               "additionalProperties": {
                  "type": "number"
               },
               "default": {},
               "title": "Init Values",
               "type": "object"
            },
            "parameter_bounds": {
               "additionalProperties": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "default": {},
               "title": "Parameter Bounds",
               "type": "object"
            },
            "regnet": {
               "$ref": "#/$defs/RegnetDynamics"
            }
         },
         "required": [
            "regnet"
         ],
         "title": "RegnetModel",
         "type": "object"
      },
      "Schedules": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            },
            "schedules": {
               "items": {
                  "$ref": "#/$defs/EncodingSchedule"
               },
               "title": "Schedules",
               "type": "array"
            }
         },
         "required": [
            "name",
            "schedules"
         ],
         "title": "Schedules",
         "type": "object"
      },
      "Semantics": {
         "properties": {
            "ode": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/OdeSemantics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "typing": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TypingSemantics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Information for aligning models for stratification"
            },
            "span": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TypingSemantics"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Legs of a span, each of which are a full ASKEM Petri Net",
               "title": "Span"
            }
         },
         "title": "Semantics",
         "type": "object"
      },
      "State": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Unit"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "State",
         "type": "object"
      },
      "StateVariableConstraint": {
         "additionalProperties": false,
         "properties": {
            "soft": {
               "default": true,
               "title": "Soft",
               "type": "boolean"
            },
            "name": {
               "title": "Name",
               "type": "string"
            },
            "timepoints": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Interval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "variable": {
               "title": "Variable",
               "type": "string"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": null
            }
         },
         "required": [
            "name",
            "variable"
         ],
         "title": "StateVariableConstraint",
         "type": "object"
      },
      "States": {
         "items": {
            "$ref": "#/$defs/State"
         },
         "title": "States",
         "type": "array"
      },
      "StepSize": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/$defs/ModelSymbol"
                  }
               ],
               "title": "Name"
            },
            "interval": {
               "$ref": "#/$defs/Interval",
               "default": {
                  "lb": -1.7976931348623157e+308,
                  "ub": 1.7976931348623157e+308,
                  "closed_upper_bound": false,
                  "original_width": Infinity,
                  "normalized": false,
                  "unnormalized_lb": null,
                  "unnormalized_ub": null
               }
            },
            "label": {
               "default": "any",
               "enum": [
                  "any",
                  "all"
               ],
               "title": "Label",
               "type": "string"
            }
         },
         "required": [
            "name"
         ],
         "title": "StepSize",
         "type": "object"
      },
      "Time": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Unit"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "Time",
         "type": "object"
      },
      "Transition": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "input": {
               "items": {
                  "type": "string"
               },
               "title": "Input",
               "type": "array"
            },
            "output": {
               "items": {
                  "type": "string"
               },
               "title": "Output",
               "type": "array"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "properties": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Properties"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id",
            "input",
            "output"
         ],
         "title": "Transition",
         "type": "object"
      },
      "Transitions": {
         "items": {
            "$ref": "#/$defs/Transition"
         },
         "title": "Transitions",
         "type": "array"
      },
      "TypingSemantics": {
         "properties": {
            "system": {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model",
               "description": "A Petri net representing the 'type system' that is necessary to align states and transitions across different models during stratification."
            },
            "map": {
               "description": "A map between the (state and transition) nodes of the model and the (state and transition) nodes of the type system",
               "items": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Map",
               "type": "array"
            }
         },
         "required": [
            "system",
            "map"
         ],
         "title": "TypingSemantics",
         "type": "object"
      },
      "Unit": {
         "additionalProperties": true,
         "properties": {
            "expression": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression"
            },
            "expression_mathml": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Expression Mathml"
            }
         },
         "title": "Unit",
         "type": "object"
      },
      "Vertice": {
         "properties": {
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "rate_constant": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParamOrNumber"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "id": {
               "title": "Id",
               "type": "string"
            },
            "sign": {
               "title": "Sign",
               "type": "boolean"
            },
            "initial": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ParamOrNumber"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id",
            "sign"
         ],
         "title": "Vertice",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Distribution": {
         "additionalProperties": true,
         "properties": {
            "type": {
               "title": "Type",
               "type": "string"
            },
            "parameters": {
               "title": "Parameters",
               "type": "object"
            }
         },
         "required": [
            "type",
            "parameters"
         ],
         "title": "Distribution",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Grounding": {
         "additionalProperties": false,
         "properties": {
            "identifiers": {
               "title": "Identifiers",
               "type": "object"
            },
            "modifiers": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Modifiers"
            }
         },
         "required": [
            "identifiers"
         ],
         "title": "Grounding",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Model": {
         "additionalProperties": true,
         "properties": {
            "header": {
               "$ref": "#/$defs/Header"
            },
            "properties": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Properties"
            },
            "model": {
               "$ref": "#/$defs/funman__model__generated_models__petrinet__Model1"
            },
            "semantics": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Semantics"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Information specific to a given semantics (e.g., ODEs) associated with a model."
            },
            "metadata": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Information not useful for execution of the model, but that may be useful to some consumer in the future. E.g. creation timestamp or source paper's author.",
               "title": "Metadata"
            }
         },
         "required": [
            "header",
            "model"
         ],
         "title": "Model",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Model1": {
         "additionalProperties": false,
         "properties": {
            "states": {
               "$ref": "#/$defs/States"
            },
            "transitions": {
               "$ref": "#/$defs/Transitions"
            }
         },
         "required": [
            "states",
            "transitions"
         ],
         "title": "Model1",
         "type": "object"
      },
      "funman__model__generated_models__petrinet__Parameter": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Name"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "distribution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__petrinet__Distribution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "units": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Unit"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "Parameter",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Distribution": {
         "properties": {
            "type": {
               "title": "Type",
               "type": "string"
            },
            "parameters": {
               "title": "Parameters",
               "type": "object"
            }
         },
         "required": [
            "type",
            "parameters"
         ],
         "title": "Distribution",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Grounding": {
         "additionalProperties": false,
         "properties": {
            "identifiers": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Identifiers"
            },
            "modifiers": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Modifiers"
            }
         },
         "title": "Grounding",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Model": {
         "properties": {
            "header": {
               "$ref": "#/$defs/Header"
            },
            "properties": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Properties"
            },
            "model": {
               "$ref": "#/$defs/funman__model__generated_models__regnet__Model1"
            },
            "metadata": {
               "anyOf": [
                  {
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "(Optional) Information not useful for execution of the model, but that may be useful to some consumer in the future. E.g. creation timestamp or source paper's author.",
               "title": "Metadata"
            }
         },
         "required": [
            "header",
            "model"
         ],
         "title": "Model",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Model1": {
         "additionalProperties": false,
         "properties": {
            "vertices": {
               "items": {
                  "$ref": "#/$defs/Vertice"
               },
               "title": "Vertices",
               "type": "array"
            },
            "edges": {
               "items": {
                  "$ref": "#/$defs/Edge"
               },
               "title": "Edges",
               "type": "array"
            },
            "parameters": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/funman__model__generated_models__regnet__Parameter"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Parameters"
            }
         },
         "required": [
            "vertices",
            "edges"
         ],
         "title": "Model1",
         "type": "object"
      },
      "funman__model__generated_models__regnet__Parameter": {
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            },
            "grounding": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Grounding"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "distribution": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/funman__model__generated_models__regnet__Distribution"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "id"
         ],
         "title": "Parameter",
         "type": "object"
      }
   },
   "required": [
      "id",
      "model",
      "request"
   ]
}

Fields:
field id: str [Required]
field model: RegnetModel | PetrinetModel | DecapodeModel | BilayerModel | GeneratedRegnetModel | GeneratedPetriNetModel [Required]
field progress: FunmanProgress = FunmanProgress(progress=0.0, coverage_of_search_space=0.0, coverage_of_representable_space=0.0)
field request: FunmanWorkRequest [Required]
to_scenario() ConsistencyScenario | ParameterSynthesisScenario

funman.server.storage module

Inheritance diagram of funman.server.storage

class funman.server.storage.Storage

Bases: object

add_result(result: FunmanResults)
claim_id() str
get_result(id: str) FunmanResults
start(path: str | None = None)
stop()

funman.server.worker module

Inheritance diagram of funman.server.worker

class funman.server.worker.FunmanWorker(storage)

Bases: object

enqueue_work(model: FunmanModel, request: FunmanWorkRequest) FunmanWorkUnit
get_current() str | None
get_results(id: str)
get_state() WorkerState

Return the current state of the worker

halt(id: str)
in_state(state: WorkerState) bool

Return true if in the provided state else false

is_processing_id(id: str)
start()
stop(timeout=None)
class funman.server.worker.WorkerState(value)

Bases: Enum

States that FunmanWorker can be in

ERRORED = 5
RUNNING = 2
STARTING = 1
STOPPED = 4
STOPPING = 3
UNINITIALIZED = 0

Module contents