com.nicta.scoobi.impl.plan.mscr

Graph

case class Graph(start: CompNode) extends Layering with Product with Serializable

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

Instance Constructors

  1. new Graph(start: CompNode)

Type Members

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

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

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

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

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

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

    Definition Classes
    Memoiser
  7. case class Layer(mscrs: Seq[Mscr] = Seq()) extends Product with Serializable

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

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

    Because of this property they can be executed in parallel

    Definition Classes
    Layering
  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: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Definition Classes
    AnyRef → Any
  4. object Layer extends Serializable

    Definition Classes
    Layering
  5. 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
  6. final def asInstanceOf[T0]: T0

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

    Definition Classes
    AttributionCore
  8. macro def attr[T, U](f: (T) ⇒ U): CachedAttribute[T, U]

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

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

    Definition Classes
    AttributionCore
  11. 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
  12. def circular[T, U](name: String, init: U)(f: (T) ⇒ U): CircularAttribute[T, U]

    Definition Classes
    AttributionCore
  13. macro def circular[T, U](init: U)(f: (T) ⇒ U): CircularAttribute[T, U]

    Definition Classes
    AttributionCore
  14. def clone(): AnyRef

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

    Definition Classes
    AttributionCommon
  16. macro def constant[T, U](u: ⇒ U): Attribute[T, U]

    Definition Classes
    AttributionCommon
  17. 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
  18. lazy val descendentsUntil: CachedParamAttribute[(T) ⇒ Boolean, T, Seq[T]]

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

    Definition Classes
    AttributionCore
  20. macro def dynAttr[T, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  21. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. 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
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def getClass(): Class[_]

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

    returns

    true if a given Sink has already received data

    Attributes
    protected
    Definition Classes
    CompNodes
  26. def init: Graph

  27. 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
  28. def initTree[T <: Attributable](t: T): Unit

    Definition Classes
    AttributionCommon
  29. 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
  30. implicit def internalToDynamicAttribute[T, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  31. 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
  32. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  33. 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
  34. def layersOf(nodes: Seq[T]): Seq[Seq[T]]

    Specialisation of the layersOf function taking a selection function in the case where all nodes are selected

    Specialisation of the layersOf function taking a selection function in the case where all nodes are selected

    Definition Classes
    Layering
  35. def layersOf(nodes: Seq[T], select: (T) ⇒ Boolean = (n: T) => true): Seq[Seq[T]]

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

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

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

    Definition Classes
    Layering
  39. 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
  40. final def ne(arg0: AnyRef): Boolean

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

    returns

    true if a process node has been filled

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

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

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

    Definition Classes
    AttributionCore
  45. macro def paramAttr[V, T, U](f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]

    Definition Classes
    AttributionCore
  46. 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
  47. 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
  48. lazy val pathsToNode: (CompNode) ⇒ (CompNode) ⇒ Seq[Seq[CompNode]]

    Definition Classes
    Layering
  49. def pretty(node: CompNode): (prettyPrinter)#Layout

    returns

    a nested text representation of the nodes graph

    Definition Classes
    ShowNode
  50. def prettyGraph: (CompNode) ⇒ (prettyPrinter)#Layout

    returns

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

    Definition Classes
    ShowNode
  51. val prettyPrinter: PrettyPrinter

    Definition Classes
    ShowNode
  52. 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
  53. def resetMemo(): Unit

    Definition Classes
    Memoiser
  54. def resetUses: Unit

    reinit usages

    reinit usages

    Attributes
    protected
    Definition Classes
    GraphNodes
  55. 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
  56. lazy val shortestPathToNode: (CompNode) ⇒ (CompNode) ⇒ Seq[CompNode]

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

    Show instance for a CompNode

    Show instance for a CompNode

    Definition Classes
    ShowNode
  58. 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
  59. 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
  60. val start: CompNode

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

    Definition Classes
    AnyRef
  62. 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
  63. def tree[T <: Attributable, U <: Attributable](name: String, f: (T) ⇒ U): CachedAttribute[T, U]

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

    Definition Classes
    AttributionCore
  65. 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
  66. 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
  67. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Layering

Inherited from ShowNode

Inherited from CompNodes

Inherited from GraphNodes

Inherited from AttributionCore

Inherited from Memoiser

Inherited from AttributionCommon

Inherited from AnyRef

Inherited from Any

Ungrouped