public class EvaluationGraph
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
EvaluationGraph.IntendedUse
The Enumeration with the separation of the intended use
of the current
EvaluationGraph . |
static class |
EvaluationGraph.IOListType
The Enumeration that specifies which I/O value should be
used, in order to generate the unique key for a node or an edge
|
static class |
EvaluationGraph.StorageListType
The Enumeration that specifies which Storage load values should be
used, in order to generate the unique key for a node or an edge
|
Constructor and Description |
---|
EvaluationGraph(OptionModelController optionModelController,
EvaluationGraph.IntendedUse intendedUse)
Instantiates a new evaluation graph.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addEdge(EvaluationGraphEdge edge,
EvaluationGraphNode sourceNode,
EvaluationGraphNode destinationNode,
edu.uci.ics.jung.graph.util.EdgeType edge_type)
Adds the specified edge between source and destination node.
|
EvaluationGraphEdge |
addEdgeSynchronized(EvaluationGraphEdge edgeToAdd,
EvaluationGraphNode sourceNode,
EvaluationGraphNode destinationNode,
edu.uci.ics.jung.graph.util.EdgeType edge_type)
Adds the specified
EvaluationGraphEdge in a synchronized manner (in order to prevent concurrency issues). |
boolean |
addVertex(EvaluationGraphNode evaluationGraphNode)
Adds the specified vertex to the graph.
|
EvaluationGraphNode |
addVertexSynchronized(EvaluationGraphNode evaluationGraphNode)
Adds the specified
EvaluationGraphNode in a synchronized manner (in order to prevent concurrency issues). |
EvaluationGraphEdge |
createEvaluationGraphEdgeForDeltaCosts(EvaluationGraphNode sourceNode,
EvaluationGraphNode destinNode,
TechnicalSystemStateDeltaEvaluation tssDelta)
Creates a new
EvaluationGraphEdge for the specified
TechnicalSystemStateDeltaEvaluation for the delta cost graph. |
EvaluationGraphEdge |
createEvaluationGraphEdgeForStateVariability(TechnicalSystemState technicalSystemState)
Creates a new
EvaluationGraphEdge for the specified TechnicalSystemState
for the graph of the state variability. |
EvaluationGraphNode |
createEvaluationGraphNode(TechnicalSystemState technicalSystemState)
Creates a new
EvaluationGraphNode for the specified TechnicalSystemState . |
EvaluationGraphEdge |
findEdge(EvaluationGraphNode evalSourceNode,
EvaluationGraphNode evalDestinNode)
Checks and returns the
EvaluationGraphEdge between the two specified EvaluationGraphNode s, if available. |
EvaluationGraphNode |
getEvaluationGraphNode(TechnicalSystemState technicalSystemState)
Gets the
EvaluationGraphNode for the specified TechnicalSystemState . |
EvaluationGraphNodeByTime |
getEvaluationGraphNodesByTime()
Gets the evaluation graph nodes by time.
|
EvaluationGraphPart |
getGraphByEvaluationTimeStamp(long evaluationTimeStamp)
Returns the actual partition graph for the specified evaluation time stamp.
|
EvaluationGraphPart |
getGraphByPartitionTimeStamp(long partitionTimeStamp)
Returns the actual partition graph by the specified partition time stamp.
|
EvaluationGraph.IntendedUse |
getIntendedUse()
Returns the intended use.
|
java.lang.String |
getKeyStringBaseConfiguration(TechnicalSystemState tss)
Returns the key string for the current base configuration of the
TechnicalInterfaceConfiguration and the State . |
java.lang.String |
getKeyStringGlobalTime(TechnicalSystemState tss)
Returns the key string for the global time of the
TechnicalSystemState . |
java.lang.String |
getKeyStringIOList(TechnicalSystemState tss,
EvaluationGraph.IOListType ioListType)
Returns the key string for the specified I/O-List.
|
java.lang.String |
getKeyStringStorageLoads(TechnicalSystemState tss,
EvaluationGraph.StorageListType storageListType)
Returns the key string for the current StorageLoads.
|
java.util.Collection<EvaluationGraphEdge> |
getOutEdges(EvaluationGraphNode graphNode) |
java.util.HashMap<java.lang.String,java.lang.Double> |
getStateIdentifierPrecisionHashIO()
Returns the HashMap that stores the current state identifier
and the corresponding precisions for the I/O values.
|
java.util.HashMap<java.lang.String,java.lang.Double> |
getStateIdentifierPrecisionHashStorageLoad()
/* Returns the Hash that stores the current state identifier
and the corresponding precisions for the storage load.
|
java.util.TreeMap<java.lang.Long,EvaluationGraphPart> |
getSubGraphTreeMap()
Returns tree map with all graphs.
|
java.util.Vector<TechnicalSystemState> |
getTechnicalSystemStatesFilteredByStateID(java.util.Vector<TechnicalSystemState> tssVector,
java.lang.String stateID2Search4)
Returns the technical system states filtered by the state id.
|
java.util.Vector<TechnicalSystemState> |
getTechnicalSystemStatesFromNodes(EvaluationGraphPart partGraph)
Returns all
TechnicalSystemState 's from the nodes of the EvaluationGraph . |
java.util.Vector<TechnicalSystemState> |
getTechnicalSystemStatesFromNodes(EvaluationGraphPart partGraph,
boolean sortByStateID)
Returns all
TechnicalSystemState 's from the nodes of the EvaluationGraph sorted by the StateID. |
java.util.Vector<java.lang.String> |
getUniqueStateIDs(java.util.Vector<TechnicalSystemState> tssVector)
Returns the unique stateID's of the specified Vector of
TechnicalSystemState 's. |
boolean |
removeEdge(EvaluationGraphEdge edge)
Removes the specified
EvaluationGraphEdge . |
boolean |
removeVertex(EvaluationGraphNode evaluationGraphNode)
Removes the specified vertex.
|
public EvaluationGraph(OptionModelController optionModelController, EvaluationGraph.IntendedUse intendedUse)
optionModelController
- the option model controllerintendedUse
- the intension for the usage of this EvaluationGraphpublic EvaluationGraph.IntendedUse getIntendedUse()
public java.util.TreeMap<java.lang.Long,EvaluationGraphPart> getSubGraphTreeMap()
public EvaluationGraphPart getGraphByEvaluationTimeStamp(long evaluationTimeStamp)
evaluationTimeStamp
- the evaluation time stamppublic EvaluationGraphPart getGraphByPartitionTimeStamp(long partitionTimeStamp)
partitionTimeStamp
- the partition time stamppublic java.util.HashMap<java.lang.String,java.lang.Double> getStateIdentifierPrecisionHashIO()
public java.util.HashMap<java.lang.String,java.lang.Double> getStateIdentifierPrecisionHashStorageLoad()
public EvaluationGraphNode addVertexSynchronized(EvaluationGraphNode evaluationGraphNode)
EvaluationGraphNode
in a synchronized manner (in order to prevent concurrency issues).evaluationGraphNode
- the EvaluationGraphNode
to addpublic boolean addVertex(EvaluationGraphNode evaluationGraphNode)
evaluationGraphNode
- the evaluation graph nodepublic boolean removeVertex(EvaluationGraphNode evaluationGraphNode)
evaluationGraphNode
- the evaluation graph nodepublic EvaluationGraphNode createEvaluationGraphNode(TechnicalSystemState technicalSystemState)
EvaluationGraphNode
for the specified TechnicalSystemState
.technicalSystemState
- the TechnicalSystemState
EvaluationGraphNode
public EvaluationGraphNode getEvaluationGraphNode(TechnicalSystemState technicalSystemState)
EvaluationGraphNode
for the specified TechnicalSystemState
.technicalSystemState
- the TechnicalSystemState
public EvaluationGraphEdge addEdgeSynchronized(EvaluationGraphEdge edgeToAdd, EvaluationGraphNode sourceNode, EvaluationGraphNode destinationNode, edu.uci.ics.jung.graph.util.EdgeType edge_type)
EvaluationGraphEdge
in a synchronized manner (in order to prevent concurrency issues).edgeToAdd
- the edge to add to the graphsourceNode
- the source EvaluationGraphNodedestinationNode
- the destination EvaluationGraphNodeedge_type
- the edge_typepublic boolean addEdge(EvaluationGraphEdge edge, EvaluationGraphNode sourceNode, EvaluationGraphNode destinationNode, edu.uci.ics.jung.graph.util.EdgeType edge_type)
edge
- the edgesourceNode
- the source nodedestinationNode
- the destination nodeedge_type
- the edge typepublic boolean removeEdge(EvaluationGraphEdge edge)
EvaluationGraphEdge
.edge
- the edge to removepublic EvaluationGraphEdge findEdge(EvaluationGraphNode evalSourceNode, EvaluationGraphNode evalDestinNode)
EvaluationGraphEdge
between the two specified EvaluationGraphNode
s, if available.evalSourceNode
- the source nodeevalDestinNode
- the destination nodepublic EvaluationGraphEdge createEvaluationGraphEdgeForStateVariability(TechnicalSystemState technicalSystemState)
EvaluationGraphEdge
for the specified TechnicalSystemState
for the graph of the state variability.technicalSystemState
- the TechnicalSystemState
EvaluationGraphEdge
public EvaluationGraphEdge createEvaluationGraphEdgeForDeltaCosts(EvaluationGraphNode sourceNode, EvaluationGraphNode destinNode, TechnicalSystemStateDeltaEvaluation tssDelta)
EvaluationGraphEdge
for the specified
TechnicalSystemStateDeltaEvaluation
for the delta cost graph.sourceNode
- the source nodedestinNode
- the destination nodetssDelta
- the TechnicalSystemStateDeltaEvaluation
EvaluationGraphEdge
public java.util.Collection<EvaluationGraphEdge> getOutEdges(EvaluationGraphNode graphNode)
public EvaluationGraphNodeByTime getEvaluationGraphNodesByTime()
public java.lang.String getKeyStringGlobalTime(TechnicalSystemState tss)
TechnicalSystemState
.tss
- the TechnicalSystemState
public java.lang.String getKeyStringBaseConfiguration(TechnicalSystemState tss)
TechnicalInterfaceConfiguration
and the State
.tss
- the TechnicalSystemState
public java.lang.String getKeyStringIOList(TechnicalSystemState tss, EvaluationGraph.IOListType ioListType)
tss
- the current TechnicalSystemState
ioListType
- the EvaluationGraph.IOListType
public java.lang.String getKeyStringStorageLoads(TechnicalSystemState tss, EvaluationGraph.StorageListType storageListType)
tss
- the TechnicalSystemState
storageListType
- the storage list typepublic java.util.Vector<TechnicalSystemState> getTechnicalSystemStatesFromNodes(EvaluationGraphPart partGraph)
TechnicalSystemState
's from the nodes of the EvaluationGraph
.partGraph
- the EvaluationGraphPartpublic java.util.Vector<TechnicalSystemState> getTechnicalSystemStatesFromNodes(EvaluationGraphPart partGraph, boolean sortByStateID)
TechnicalSystemState
's from the nodes of the EvaluationGraph
sorted by the StateID.partGraph
- the EvaluationGraphPartsortByStateID
- set true if the Vector should be sorted by the ID's of State
public java.util.Vector<java.lang.String> getUniqueStateIDs(java.util.Vector<TechnicalSystemState> tssVector)
TechnicalSystemState
's.tssVector
- the vector of TechnicalSystemState
public java.util.Vector<TechnicalSystemState> getTechnicalSystemStatesFilteredByStateID(java.util.Vector<TechnicalSystemState> tssVector, java.lang.String stateID2Search4)
tssVector
- the vector of TechnicalSystemState
'sstateID2Search4
- the stateID to search for