Skip to content

Node query processing steps

perrydv edited this page May 17, 2017 · 4 revisions

Steps in processing various model queries about nodes.

Of particular interest are cases where a LHSinferred node name is provided in a nodes argument to a step where it might be parsed and evaluated in a vars2... environment. Either LHSinferred names must be ensured safe or that processing path must be prevented.

Model methods and relevance

Notes include which other major methods, or modelDef or modelDef$maps data or methods, are used.

  • Uses expandNodeNames(...returnType = 'ids') | modelDef$maps$isEndNode_byGID.
  • Uses modelDef$nodeName2GraphIDs
  • Uses modelDef$nodeName2GraphIDs
  • Uses expandNodeNames | getDeclnfo
  • Uses expandNodeNames | getDistribution
  • Uses expandNodeNames | getDistribution, getParamExpr
  • Uses expandNodeNames | getNodeType
  • Uses expandNodeNames | getDeclnfo
  • Uses expandNodeNames | getDistribution
  • Uses modelDef$nodeName2GraphIDs | modelDef$graphIDs2indexedNodeInfo
  • Uses isDataFromGraphID(modelDef$maps$graphIDs) twice (note this is on all graphIDs)

  • Uses expandNodeNames(modelDef$maps$graphID_2_nodeName[validValues],...)

  • Uses modelDef$nodeName2GraphIDs | modelDef$maps$elementNames[graphID], modelDef$maps$graphID_2_nodeName[graphID]
  • Uses expandNodeNames(..., returnType = 'ids') | expandNodeNames

getSymbolTable

init_isDataEnv

resetData

setData

testDataFlags

  • Uses getNodeNames() | eval(parse(...), envir = isDataEnv)

isData

  • Uses modelDef$nodeName2GraphIDs | isDataFromGraphID

isDataFromGraphID

  • Uses modelDef$maps$graphID_2_nodeName | eval(parse(...), envir = isDataEnv)

getDependenciesList

  • Uses modelDef$maps$graphID_2_nodeName

getDependencyPathCountOneNode

  • Uses modelDef$nodeName2GraphIDs | modelDef$maps$nimbleGraph$getDependencyPathCountOneNode

getDependencies

  • Uses modelDef$nodeName2GraphIDs | modelDef$maps$elementID_2_vertexID | modelDef$maps$nimbleGraph$getDependencies | modelDef$maps$types, isDataFromGraphID, modelDef$nodeName2GraphIDs(modelDef$maps$graphID_2_nodeName[depIDs], modelDef$maps$elementNames, modelDef$maps$nodeNames

getDownstream

setInits

checkConjugacy

checkBasics

Underlying modelDef methods and data used by above

nodeName2GraphIDs returns either graphIDs (nodeFunctions and RHSonly) (if nodeFunctionID == TRUE) or elementIDs.

This uses parseEval... steps so cannot take LHSinferred names.

Clone this wiki locally