com.nicta.scoobi.impl.plan.mscr

MscrsDefinition

trait MscrsDefinition extends Layering

Linear Supertypes
Layering, ShowNode, CompNodes, CollectFunctions, GraphNodes, AttributionCore, Memoiser, AttributionCommon, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MscrsDefinition
  2. Layering
  3. ShowNode
  4. CompNodes
  5. CollectFunctions
  6. GraphNodes
  7. AttributionCore
  8. Memoiser
  9. AttributionCommon
  10. AnyRef
  11. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class CachedAttribute[T <: AnyRef, U] extends Attribute[T, U] with org.kiama.attribution.AttributionCore.IdMemoised[T, Option[U]]

    Definition Classes
    AttributionCore
  2. class CachedDynamicAttribute[T <: AnyRef, U] extends CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  3. class CachedParamAttribute[A, T <: AnyRef, U] extends (A) ⇒ Attribute[T, U] with org.kiama.attribution.AttributionCore.Memoised[ParamAttributeKey, Option[U]]

    Definition Classes
    AttributionCore
  4. class CircularAttribute[T <: AnyRef, U] extends Attribute[T, U] with org.kiama.attribution.AttributionCore.IdMemoised[T, U]

    Definition Classes
    AttributionCore
  5. class ConstantAttribute[T <: AnyRef, U] extends Attribute[T, U]

    Definition Classes
    AttributionCommon
  6. trait IdMemoised[T, U] extends MemoisedBase[T, U]

    Definition Classes
    Memoiser
  7. case class Layer[T <: CompNode](nodes: Seq[T] = collection.this.Seq.apply[T]()) extends Product with Serializable

    A layer contains group by keys and floating nodes defining mscrs so that none of them have dependencies relationship

  8. trait Memoised[T, U] extends MemoisedBase[T, U]

    Definition Classes
    Memoiser
  9. trait MemoisedBase[T, U] extends AnyRef

    Definition Classes
    Memoiser
  10. type T = CompNode

    Definition Classes
    CompNodesGraphNodes

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. object Layer extends Serializable

    Definition Classes
    Layering
  7. lazy val allSinks: CachedAttribute[CompNode, Seq[Sink]]

    collect all the sinks in the computation graph

    collect all the sinks in the computation graph

    Attributes
    protected
    Definition Classes
    CompNodes
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def attr[T <: AnyRef, U](name: String, f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  10. def attr[T <: AnyRef, U](f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
    Annotations
    @macroImpl( ... )
  11. def childAttr[T <: Attributable, U](name: String, f: (T) ⇒ (Attributable) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  12. def childAttr[T <: Attributable, U](f: (T) ⇒ (Attributable) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
    Annotations
    @macroImpl( ... )
  13. lazy val children: CachedAttribute[T, Seq[T]]

    compute the children of a node.

    compute the children of a node.

    This is similar to calling the initTree method on the node but this stores the information as an attribute instead of storing it as a tree. This is a way to avoid conflicts if we have 2 processes trying to initialise the same graph

    Definition Classes
    GraphNodes
  14. def circular[T <: AnyRef, U](name: String, init: U)(f: (T) ⇒ U): (T) ⇒ U

    Definition Classes
    AttributionCore
  15. def circular[T <: AnyRef, U](init: U)(f: (T) ⇒ U): (T) ⇒ U

    Definition Classes
    AttributionCore
    Annotations
    @macroImpl( ... )
  16. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. def constant[T <: AnyRef, U](name: String, u: ⇒ U): Attribute[T, U]

    Definition Classes
    AttributionCommon
  18. def constant[T <: AnyRef, U](u: ⇒ U): Attribute[T, U]

    Definition Classes
    AttributionCommon
    Annotations
    @macroImpl( ... )
  19. lazy val descendents: CachedAttribute[T, Seq[T]]

    compute all the descendents of a node They are all the recursive children reachable from this node

    compute all the descendents of a node They are all the recursive children reachable from this node

    Definition Classes
    GraphNodes
  20. lazy val descendentsUntil: CachedParamAttribute[(T) ⇒ Boolean, T, Seq[T]]

    Definition Classes
    GraphNodes
  21. def dynAttr[T <: AnyRef, U](name: String, f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  22. def dynAttr[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
    Annotations
    @macroImpl( ... )
  23. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  25. lazy val filledSink: CachedAttribute[String, String]

    this attribute stores the fact that a Sink has received data

    this attribute stores the fact that a Sink has received data

    Attributes
    protected
    Definition Classes
    CompNodes
  26. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  27. def floatingParallelDos: (Layer[T]) ⇒ Seq[ParallelDo]

  28. lazy val gbkInputChannels: (Layer[T]) ⇒ Seq[MscrInputChannel]

  29. lazy val gbkInputs: (Layer[T]) ⇒ Seq[CompNode]

    collect all input nodes to the gbks of this layer

  30. lazy val gbkMscrs: (Layer[T]) ⇒ Seq[Mscr]

    Mscrs for mscrs built around gbk nodes

  31. def gbkOutputChannel(gbk: GroupByKey): GbkOutputChannel

    \ * @return a gbk output channel based on the nodes which are following the gbk

    \ * @return a gbk output channel based on the nodes which are following the gbk

    Attributes
    protected
  32. lazy val gbkOutputChannels: (Layer[T]) ⇒ Seq[OutputChannel]

    create a gbk output channel for each gbk in the layer

  33. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  34. lazy val hasBeenFilled: (Sink) ⇒ Boolean

    returns

    true if a given Sink has already received data

    Attributes
    protected
    Definition Classes
    CompNodes
  35. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  36. def initAttributable[S <: T](s: S): S

    initialise the parent/child relationship recursively from node s

    initialise the parent/child relationship recursively from node s

    Definition Classes
    GraphNodes
  37. def initTree[T <: Attributable](t: T): Unit

    Definition Classes
    AttributionCommon
  38. lazy val inputNodes: (Mscr) ⇒ Seq[CompNode]

  39. lazy val inputs: CachedAttribute[CompNode, Seq[CompNode]]

    compute the inputs of a given node For a ParallelDo node this does not consider its environment

    compute the inputs of a given node For a ParallelDo node this does not consider its environment

    Definition Classes
    CompNodes
  40. implicit def internalToDynamicAttribute[T <: AnyRef, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  41. lazy val isACombine: PartialFunction[Any, Combine]

    return true if a CompNode is a Combine

    return true if a CompNode is a Combine

    Definition Classes
    CollectFunctions
  42. lazy val isAGroupByKey: PartialFunction[Any, GroupByKey]

    return true if a CompNode is a GroupByKey

    return true if a CompNode is a GroupByKey

    Definition Classes
    CollectFunctions
  43. lazy val isALoad: PartialFunction[CompNode, Load]

    return true if a CompNode is a Load

    return true if a CompNode is a Load

    Definition Classes
    CollectFunctions
  44. lazy val isAMaterialise: PartialFunction[Any, Materialise]

    return the node if a CompNode is a Materialise

    return the node if a CompNode is a Materialise

    Definition Classes
    CollectFunctions
  45. lazy val isAParallelDo: PartialFunction[Any, ParallelDo]

    return true if a CompNode is a ParallelDo

    return true if a CompNode is a ParallelDo

    Definition Classes
    CollectFunctions
  46. lazy val isAProcessNode: PartialFunction[Any, ProcessNode]

    return true if a CompNode is a ProcessNode

    return true if a CompNode is a ProcessNode

    Definition Classes
    CollectFunctions
  47. def isCheckpoint: (CompNode) ⇒ Boolean

  48. lazy val isCombine: (CompNode) ⇒ Boolean

    return true if a CompNode is a Combine

    return true if a CompNode is a Combine

    Definition Classes
    CollectFunctions
  49. lazy val isComputedValueNode: (CompNode) ⇒ Boolean

    return true if a CompNode needs to be computed

    return true if a CompNode needs to be computed

    Definition Classes
    CollectFunctions
  50. lazy val isCyclic: CachedAttribute[T, Boolean]

    return true if a CompNode has a cycle in its graph, this will be detected by Kiama throwing an exception when fetching the descendents of a node

    return true if a CompNode has a cycle in its graph, this will be detected by Kiama throwing an exception when fetching the descendents of a node

    Definition Classes
    GraphNodes
  51. def isEndNode: (CompNode) ⇒ Boolean

    node at the end of the graph

  52. def isGbkOutput: (CompNode) ⇒ Boolean

  53. lazy val isGroupByKey: (CompNode) ⇒ Boolean

    return true if a CompNode is a GroupByKey

    return true if a CompNode is a GroupByKey

    Definition Classes
    CollectFunctions
  54. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  55. def isLayerNode: (CompNode) ⇒ Boolean

  56. lazy val isLoad: (CompNode) ⇒ Boolean

    return true if a CompNode is a Load

    return true if a CompNode is a Load

    Definition Classes
    CollectFunctions
  57. lazy val isMaterialise: (CompNode) ⇒ Boolean

    return true if a CompNode is a Materialise

    return true if a CompNode is a Materialise

    Definition Classes
    CollectFunctions
  58. def isMaterialised: (CompNode) ⇒ Boolean

  59. lazy val isOp: (CompNode) ⇒ Boolean

    return true if a CompNode is an Op

    return true if a CompNode is an Op

    Definition Classes
    CollectFunctions
  60. lazy val isParallelDo: (CompNode) ⇒ Boolean

    return true if a CompNode is a ParallelDo

    return true if a CompNode is a ParallelDo

    Definition Classes
    CollectFunctions
  61. lazy val isReducer: (ParallelDo) ⇒ Boolean

  62. def isReducingNode: (CompNode) ⇒ Boolean

    a node is said to be reducing if it is in a "reducing chain of nodes" after a gbk

    a node is said to be reducing if it is in a "reducing chain of nodes" after a gbk

    • parallelDo(combine(gbk)) // parallelDo and combine are reducing
    • combine(gbk) // combine is reducing
    • parallelDo(gbk) // parallelDo is reducing
    returns

  63. lazy val isReturn: (CompNode) ⇒ Boolean

    return true if a CompNode is a Return

    return true if a CompNode is a Return

    Definition Classes
    CollectFunctions
  64. lazy val isRoot: (CompNode) ⇒ Boolean

    return true if a CompNode is a Root

    return true if a CompNode is a Root

    Definition Classes
    CollectFunctions
  65. lazy val isSinkNode: (CompNode) ⇒ Boolean

    return true if a CompNode needs to be persisted

    return true if a CompNode needs to be persisted

    Definition Classes
    CollectFunctions
  66. lazy val isSourceNode: (CompNode) ⇒ Boolean

  67. lazy val isUsedAtMostOnce: CachedAttribute[T, Boolean]

    true if a node is used at most once

    true if a node is used at most once

    Definition Classes
    GraphNodes
  68. lazy val isValueNode: (CompNode) ⇒ Boolean

    return true if a CompNode needs to be loaded

    return true if a CompNode needs to be loaded

    Definition Classes
    CollectFunctions
  69. lazy val layer: (CompNode) ⇒ Option[Layer[T]]

    returns

    the layer that a selected node is in. None if this is not a selected node

    Definition Classes
    Layering
  70. lazy val layerBridgeSinks: (Layer[T]) ⇒ Seq[Bridge]

  71. lazy val layerBridgeSources: (Layer[T]) ⇒ Seq[Bridge]

  72. lazy val layerGbkSourceNodes: (Layer[T]) ⇒ Seq[CompNode]

  73. lazy val layerGbks: (Layer[T]) ⇒ Seq[GroupByKey]

  74. lazy val layerInputs: (Layer[T]) ⇒ Seq[CompNode]

  75. lazy val layerSinks: (Layer[T]) ⇒ Seq[Sink]

  76. lazy val layerSourceNodes: (Layer[T]) ⇒ Seq[CompNode]

  77. lazy val layerSources: (Layer[T]) ⇒ Seq[Source]

  78. lazy val layers: (CompNode) ⇒ Seq[Layer[T]]

    Definition Classes
    Layering
  79. lazy val longestPathSizeTo: (Seq[CompNode]) ⇒ (CompNode) ⇒ Int

    Definition Classes
    Layering
  80. lazy val longestPathSizeToNode: (CompNode) ⇒ (CompNode) ⇒ Int

    Definition Classes
    Layering
  81. lazy val longestPathToNode: (CompNode) ⇒ (CompNode) ⇒ Seq[CompNode]

    Definition Classes
    Layering
  82. def markSinkAsFilled: (Sink) ⇒ String

    mark a sink as filled so it doesn't have to be recomputed

    mark a sink as filled so it doesn't have to be recomputed

    Attributes
    protected
    Definition Classes
    CompNodes
  83. lazy val mscrs: (Layer[T]) ⇒ Seq[Mscr]

    all the mscrs for a given layer

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

    Definition Classes
    AnyRef
  85. val nodeHasBeenFilled: (CompNode) ⇒ Boolean

    returns

    true if a process node has been filled

    Attributes
    protected
    Definition Classes
    CompNodes
  86. final def notify(): Unit

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

    Definition Classes
    AnyRef
  88. def paramAttr[V, T <: AnyRef, U](name: String, f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]

    Definition Classes
    AttributionCore
  89. def paramAttr[V, T <: AnyRef, U](f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]

    Definition Classes
    AttributionCore
    Annotations
    @macroImpl( ... )
  90. lazy val parent: CachedAttribute[T, Option[T]]

    compute the parent of a node.

    compute the parent of a node. This relationship is actually maintained while getting the children of a node if the parent node has not been set while recursing for children, then it is None

    Definition Classes
    GraphNodes
  91. lazy val parents: CachedAttribute[T, Seq[T]]

    compute the parents of a node, that is all the chain of parents from this node up to the root of the graph

    compute the parents of a node, that is all the chain of parents from this node up to the root of the graph

    Definition Classes
    GraphNodes
  92. lazy val pathsToNode: (CompNode) ⇒ (CompNode) ⇒ Seq[Seq[CompNode]]

    Definition Classes
    Layering
  93. lazy val pdMscrs: (Layer[T]) ⇒ Seq[Mscr]

    Mscrs for parallel do nodes which are not part of a Gbk mscr

  94. def pretty(node: CompNode): (prettyPrinter)#Layout

    returns

    a nested text representation of the nodes graph

    Definition Classes
    ShowNode
  95. def prettyGraph(showComputationGraph: Boolean = false): (CompNode) ⇒ String

    returns

    a nested text representation of the nodes graph + graph if it's not too big

    Definition Classes
    ShowNode
  96. val prettyPrinter: PrettyPrinter

    Definition Classes
    ShowNode
  97. def reinit[S <: T](s: S): S

    reinitialise all the attributes related to a node, starting from all the parent/children relationships

    reinitialise all the attributes related to a node, starting from all the parent/children relationships

    reset the attributes, then recreate the parent/children relationships recursively

    Definition Classes
    GraphNodes
  98. def resetMemo(): Unit

    Definition Classes
    Memoiser
  99. def resetUses: Unit

    reinit usages

    reinit usages

    Attributes
    protected
    Definition Classes
    GraphNodes
  100. lazy val root: CachedAttribute[T, T]

    the root of the graph, computed from a given node

    the root of the graph, computed from a given node

    Definition Classes
    GraphNodes
  101. lazy val select: PartialFunction[CompNode, T]

    Definition Classes
    Layering
  102. def selectNode: (CompNode) ⇒ Boolean

    The nodes which are selected to define a layer are the nodes which delimitate outputs.

    The nodes which are selected to define a layer are the nodes which delimitate outputs.

    What we want is to layer the computation graph so that output dependencies are respected:

    - if output1 depends on output2 then output2 must be computed first

    Definition Classes
    MscrsDefinitionLayering
  103. lazy val selected: (CompNode) ⇒ Boolean

    Definition Classes
    Layering
  104. lazy val selectedDescendents: (CompNode) ⇒ Seq[T]

    Definition Classes
    Layering
  105. lazy val shortestPathToNode: (CompNode) ⇒ (CompNode) ⇒ Seq[CompNode]

    Definition Classes
    Layering
  106. implicit lazy val showCompNode: Show[CompNode]

    Show instance for a CompNode

    Show instance for a CompNode

    Definition Classes
    ShowNode
  107. implicit def showCompNodeInstance[T <: CompNode]: Show[T]

    Show is not covariant so it is necessary to add this implicit to prove that we can show subclasses of CompNode

    Show is not covariant so it is necessary to add this implicit to prove that we can show subclasses of CompNode

    Definition Classes
    ShowNode
  108. def showGraph(node: CompNode): String

    returns

    an ASCII representation of the nodes graph

    Definition Classes
    ShowNode
  109. lazy val showStructure: (CompNode) ⇒ String

    show the structure without the ids or type annotations

    show the structure without the ids or type annotations

    Definition Classes
    ShowNode
  110. lazy val sourceNodes: (CompNode) ⇒ Seq[CompNode]

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

    Definition Classes
    AnyRef
  112. def toString(): String

    Definition Classes
    AnyRef → Any
  113. lazy val transitiveUses: CachedAttribute[T, Set[T]]

    compute all the indirect uses of a given node, that is all the nodes which have this node as a descendent

    compute all the indirect uses of a given node, that is all the nodes which have this node as a descendent

    Definition Classes
    GraphNodes
  114. def tree[T <: Attributable, U <: Attributable](name: String, f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  115. def tree[T <: Attributable, U <: Attributable](f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
    Annotations
    @macroImpl( ... )
  116. lazy val uses: CachedAttribute[T, Set[T]]

    the nodes which have this node as a direct child

    the nodes which have this node as a direct child

    for efficiency, this uses a table of all the nodes using a given one, computed from the root

    Definition Classes
    GraphNodes
  117. def usesAsEnvironment: CachedAttribute[CompNode, Seq[ParallelDo]]

    compute all the nodes which use a given node as an environment

    compute all the nodes which use a given node as an environment

    Definition Classes
    CompNodes
  118. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Layering

Inherited from ShowNode

Inherited from CompNodes

Inherited from CollectFunctions

Inherited from GraphNodes

Inherited from AttributionCore

Inherited from Memoiser

Inherited from AttributionCommon

Inherited from AnyRef

Inherited from Any

Ungrouped