isChanged |= updateTheOutSet(node, nodeToProcess);
}
- // All the changes in parents are propagated
+ // All the changes in current parents are propagated
parentQueueMap.get(nodeToProcess).clear();
- // Check for a conflict if the outSet of nodeToProcess is changed
+ // Check if the node has changed or not
if (isChanged) {
+ // Check for a conflict in all the transition out of this node
for (Node node : nodeToProcess.getSuccessors()) {
HashMap<Transition, ArrayList<NameValuePair>> setSets = nodeToProcess.getOutgoingEdges().get(node).getSetSetMap();
for (Map.Entry mapElement : setSets.entrySet()) {
return true;
}
}
- }
-
- // Update the parents list for the successors of the current node
- parents.clear();
- parents.add(nodeToProcess);
+
+ // Update the parents list for the successors of the current node
+ parents.clear();
+ parents.add(nodeToProcess);
- // Checking if the out set has changed or not(Add its successors to the change list!)
- if (isChanged) {
- for (Node i : nodeToProcess.getSuccessors()) {
+ // For all the successors of the current node
+ for (Node i : nodeToProcess.getSuccessors()) {
if (!changed.contains(i))
changed.add(i);
- // Update the list of updated parents for the current node
- if (parentQueueMap.containsKey(i))
+ // Update the list of updated parents for the current node
+ if (parentQueueMap.containsKey(i))
parentQueueMap.get(i).add(nodeToProcess);
- else
- parentQueueMap.put(i, parents);
+ else
+ parentQueueMap.put(i, parents);
}
}
}