From 31f3f372d8440f7de0732fecbd4dcb247dff3e66 Mon Sep 17 00:00:00 2001
From: bdemsky <bdemsky>
Date: Fri, 1 Apr 2011 21:52:15 +0000
Subject: [PATCH] build pruned graphs that encode conflict information...
 double periphery nodes may contain conflicts...conflict effects are put in
 brackets... edges that have conflicts are dashed

---
 Robust/src/Analysis/Disjoint/SMFEState.java | 23 ++++++++++++++-------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/Robust/src/Analysis/Disjoint/SMFEState.java b/Robust/src/Analysis/Disjoint/SMFEState.java
index efbe690f..ecbd4524 100644
--- a/Robust/src/Analysis/Disjoint/SMFEState.java
+++ b/Robust/src/Analysis/Disjoint/SMFEState.java
@@ -152,18 +152,22 @@ public class SMFEState {
   public String toStringDOT() {
     
     // first create the state as a node in DOT graph
-    String s = "  "+id+"[shape=box,label=\"";
-
-    if( effects.size() == 1 ) {
-      s += effects.iterator().next().toString();
+    String s = "  "+id+"[shape=box,";
+    if (conflicts.size()>0 ) {
+      s+="peripheries=2,";
+    }
+    s+="label=\"";
 
-    } else if( effects.size() > 1 ) {
+    if( effects.size() >= 1 ) {
 
       Iterator<Effect> eItr = effects.iterator();
       while( eItr.hasNext() ) {
         Effect e = eItr.next();
-        s += e.toString();
-
+	if (conflicts.contains(e)) {
+	  s += "["+e.toString()+"]";
+	} else {
+	  s += e.toString();
+	}
         if( eItr.hasNext() ) {
           s += "\\n";
         }
@@ -184,7 +188,10 @@ public class SMFEState {
 
         s += "\n  "+
           id+" -> "+state.id+
-          "[label=\""+e+"\"];";
+          "[label=\""+e+"\"";
+	if (conflicts.contains(e))
+	  s+=",style=dashed";
+	s+="];";
       }
     }
 
-- 
2.34.1