class ServiceNetwork extends ColorDAG
The ServiceNetwork
class is used for optimizing service networks.
- Alphabetic
- By Inheritance
- ServiceNetwork
- ColorDAG
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ServiceNetwork(dimensions: Array[Int], maxIn: Int, maxOut: Int, minColors: Int, maxColors: Int, colorDepth: Int, seed: Int, maxUnits: Int = 5, maxCost: Int = 5)
- 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
- maxCost
the maximum cost for a node's service
Type Members
-
class
DagNode
extends AnyRef
This inner class holds information about a node in the DAG.
This inner class holds information about a node in the DAG.
- Definition Classes
- ColorDAG
-
class
Edge
extends AnyRef
This class is used to connect two nodes.
This class is used to connect two nodes.
- Definition Classes
- ColorDAG
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
animateDAG(): Unit
Animate the color DAG.
Animate the color DAG.
- Definition Classes
- ColorDAG
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
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 satisfied (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.
- Definition Classes
- ColorDAG
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
val
colors: Tree
- Definition Classes
- ColorDAG
-
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.
- Definition Classes
- ColorDAG
- val cost: HashMap[Int, Int]
-
val
edges: ListBuffer[Edge]
- Definition Classes
- ColorDAG
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
genNodes(): Unit
Generate all the unique nodes that will exist in the DAG and assign colors/types to their inputs and outputs.
Generate all the unique nodes that will exist in the DAG and assign colors/types to their inputs and outputs.
- Definition Classes
- ColorDAG
-
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
- Definition Classes
- ColorDAG
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
nColors: Int
- Definition Classes
- ColorDAG
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
val
nodes: Array[Array[DagNode]]
- Definition Classes
- ColorDAG
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
popInOut(): Unit
Populate the in and out
ListBuffers
for each node based on the DAG's list of edges.Populate the in and out
ListBuffers
for each node based on the DAG's list of edges.- Definition Classes
- ColorDAG
-
def
printColorTree(): Unit
Print the
ColorTree
used by the DAG for node and edge colors/type and animate its construction.Print the
ColorTree
used by the DAG for node and edge colors/type and animate its construction.- Definition Classes
- ColorDAG
-
def
printColors(): Unit
Print the in (for inputs) and out (for outputs) colors for each node in the DAG.
Print the in (for inputs) and out (for outputs) colors for each node in the DAG.
- Definition Classes
- ColorDAG
-
def
printDAG(): Unit
Print the nodes and edges in the color DAG.
Print the nodes and edges in the color DAG.
- Definition Classes
- ColorDAG
-
def
printInOut(): Unit
Print the in (for inputs) and out (for outputs) node list buffers for each used node in the DAG.
Print the in (for inputs) and out (for outputs) node list buffers for each used node in the DAG.
- Definition Classes
- ColorDAG
-
val
randCol: Randi
- Definition Classes
- ColorDAG
- val randCost: Randi
-
val
randIn: Randi
- Definition Classes
- ColorDAG
-
val
randOut: Randi
- Definition Classes
- ColorDAG
- val randUnit: Randi
-
def
setCosts(): Unit
Set the costs and associated production parameters.
-
val
stages: Int
- Definition Classes
- ColorDAG
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- val unit: HashMap[Int, Int]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )