scalation.graphalytics

ColorDAG

class ColorDAG extends Error

This class provides a data structure Directed Acyclic Graphs (DAGs) with colored nodes. The ColorDAG consists of source nodes (in-degree is 0), sink nodes (out-degree is 0) and internal nodes. The edges connecting nodes must have color compatibility. The ColorDAG is divided into k stages: e.g., sources (stage 0), internals (stages 1..k-2) and sinks (stage k-1).

Linear Supertypes
Error, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. ColorDAG
  2. Error
  3. AnyRef
  4. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ColorDAG(dimensions: Array[Int], maxIn: Int, maxOut: Int, minColors: Int, maxColors: Int, colorDepth: Int, seed: Int = 0)

    dimensions

    the dimension (number of nodes) for each stage

    maxIn

    the maximum number of input colors for an internal node

    maxOut

    the maximum number of output colors for an internal node

    minColors

    the minimum number of child colors allowed in the color hierarchy

    maxColors

    the maximum number of child colors allowed in the color hierarchy

    colorDepth

    the maximum depth of the color hierarchy tree

    seed

    the seed for the various random number generators

Type Members

  1. class DagNode extends AnyRef

    This innner class holds information about a node in the DAG.

  2. class Edge extends AnyRef

    This class is used to connect two nodes.

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def animateDAG: Unit

    Animate the color DAG.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def checkIO(): Int

    For each node in the DAG, check that (1) all of its "inputs" are color/type compatible with an output from a node from the previous stage, and (2) at least one of its "outputs" is color/type compatible with an input to a node from the next stage.

    For each node in the DAG, check that (1) all of its "inputs" are color/type compatible with an output from a node from the previous stage, and (2) at least one of its "outputs" is color/type compatible with an input to a node from the next stage. Nodes that fails to have all of their inputs satified (check number 1) are thrown out before check if they have at least one useful output. Nodes failing check number 2 will also be thrown out.

  9. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  10. val colors: ColorTree

  11. def connect(): Unit

    Connect all the nodes that are going to be "used" in the DAG by creating an edge between two nodes in adjacent stages that are color/type compatible.

    Connect all the nodes that are going to be "used" in the DAG by creating an edge between two nodes in adjacent stages that are color/type compatible. Also add these edges to the DAG's list of edges.

  12. val edges: ListBuffer[Edge]

  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  16. def flaw(method: String, message: String): Unit

    Show the flaw by printing the error message.

    Show the flaw by printing the error message.

    method

    the method where the error occurred

    message

    the error message

    Definition Classes
    Error
  17. def genNodes(): Unit

    Generate all the unique nodes that will exist in the DAG and assign colors/types to their inputs and outputs.

  18. def genUniqueColor(ioColors: Array[TreeNode]): TreeNode

    Generate and return a unique color for either a node's inputs or outputs.

    Generate and return a unique color for either a node's inputs or outputs.

    ioColors

    the array of existing colors

  19. final def getClass(): java.lang.Class[_]

    Definition Classes
    AnyRef → Any
  20. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  21. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  22. val nColors: Int

  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. val nodes: Array[Array[DagNode]]

  25. final def notify(): Unit

    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  27. def popInOut(): Unit

    Populate the in and out ListBuffers for each node based on the DAG's list of edges.

  28. def printColorTree: Unit

    Print the ColorTree used by the DAG for node and edge colors/type and animate its construction.

  29. def printColors: Unit

    Print the in (for inputs) and out (for outputs) colors for each node in the DAG.

  30. def printDAG: Unit

    Print the nodes and edges in the color DAG.

  31. def printInOut: Unit

    Print the in (for inputs) and out (for outputs) node list buffers for each used node in the DAG.

  32. val randCol: Randi

  33. val randIn: Randi

  34. val randOut: Randi

  35. val stages: Int

  36. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  37. def toString(): String

    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  39. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  40. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Error

Inherited from AnyRef

Inherited from Any