Dataflow Software Stack  032db78
Master Thesis of Mathijs Saey at the VUB
 All Classes Namespaces Files Functions Variables Pages
Functions | Variables
backEnd.DVM.compoundConverter Namespace Reference

IGR compound node compiler. More...

Functions

def selectStart
 Ensure all the subgraphs link to the exit sink. More...
 
def selectStop
 Add all the subgraph entry points to the destination list of select. More...
 
def convertSelectNode
 Convert a select node. More...
 
def convertForAllNode
 
def convertNode
 Add the DIS equivalent of a certain node to a DIS object. More...
 

Variables

dictionary converters
 

Detailed Description

IGR compound node compiler.

This module contains functions for the compilation of compound nodes. It's worth noting that the links to and from a compound node are made by the regular nodeConverter.

Function Documentation

def backEnd.DVM.compoundConverter.selectStart (   dis,
  comp 
)

Ensure all the subgraphs link to the exit sink.

def backEnd.DVM.compoundConverter.selectStop (   dis,
  comp,
  idx 
)

Add all the subgraph entry points to the destination list of select.

Restore exit nodes.

def backEnd.DVM.compoundConverter.convertSelectNode (   dis,
  node 
)

Convert a select node.

First, we add the node itself to dis. We add a sink and a switch. The switch is the actual select while the sink will be the exit point of any results coming out of the compound node.

We register the switch as the destination for any incoming links while the sink is registered as the source of outgoing links.

Next, we simply ensure all the subgraphs link to the shard sink, and compile the subgraphs.

Finally, we get the dis addresses of the possible destinations, after which we add them to the destination list of the switch node.

def backEnd.DVM.compoundConverter.convertForAllNode (   dis,
  node 
)
def backEnd.DVM.compoundConverter.convertNode (   dis,
  node 
)

Add the DIS equivalent of a certain node to a DIS object.

Parameters
disA DIS instance that will contain the DIS version of the node.
nodeThe node to convert.

Variable Documentation

dictionary backEnd.DVM.compoundConverter.converters
Initial value:
1 = {
2  'select' : convertSelectNode,
3  'forall' : convertForAllNode
4 }