diff --git a/src/main/jastadd/Graphviz.jrag b/src/main/jastadd/Graphviz.jrag index a66ae5cc81430e81495dbe9eb15a75d4a02a06d6..07ca5fcfd74cf449178e5a55b0a77dbed2074be6 100644 --- a/src/main/jastadd/Graphviz.jrag +++ b/src/main/jastadd/Graphviz.jrag @@ -3,39 +3,40 @@ aspect Graphviz { StringBuffer b = new StringBuffer(); - b.append("digraph G {\n") - .append("rankdir=LR;\n") - .append("center=true; margin=1;\n") + b.append("digraph \"").append(name()).append("\" {\n") + .append(" rankdir=LR;\n") + .append(" center=true; margin=1;\n") .append("\n") - .append("subgraph place {\n") - .append("node [shape=circle,fixedsize=true,label=\"\", height=.3,width=.3];\n"); + .append(" subgraph places {\n") + .append(" node [shape=circle,fixedsize=true,label=\"\", height=.3,width=.3];\n"); for (Place place : allPlaces()) { - b.append(place.dotId()).append(" ["); + b.append(" ").append(place.dotId()).append(" ["); if (place.hasName()) b.append("xlabel=\"").append(place.name()).append("\", "); b.append("label=\"").append("0").append("\"];\n"); } - b.append("}\n\n"); + b.append(" }\n\n"); - b.append("subgraph transitions {\n") - .append("node [shape=rect,height=0.4,width=.4];\n"); + b.append(" subgraph transitions {\n") + .append(" node [shape=rect,height=0.4,width=.4];\n"); for (Transition transition : allTransitions()) { - b.append(transition.dotId()).append(" ["); + b.append(" ").append(transition.dotId()).append(" ["); if (transition.hasName()) b.append("label=\"").append(transition.name()).append("\""); b.append("]\n"); } - b.append("}\n\n"); + b.append(" }\n\n"); for (Arc arc : allArcs()) { - b.append(arc.getSource().dotId()).append("->").append(arc.getTarget().dotId()).append(";\n"); + b.append(" ").append(arc.getSource().dotId()).append("->").append(arc.getTarget().dotId()).append(";\n"); } b.append("}\n"); return b.toString(); } + syn String PetriNet.dotId() = "\"" + getId().replaceAll("\"", "\\\"") + "\""; syn String PnObject.dotId() = "\"" + getId().replaceAll("\"", "\\\"") + "\""; }