public static void main(String [] args) {
		String filename= Demo.class.getClassLoader().getResource(TOPO_FILE).getFile();
		AbstractScheduler scheduler= new Scheduler();
		try {
			Network network= NetworkBuilder.loadTopology(filename, scheduler);
			for (Node n: network.getNodes()) {
				System.out.println(n);
				for (HardwareInterface<?> iface: n.getInterfaces()) {
					System.out.print("\t" + iface);
					if (iface instanceof IPInterfaceAdapter)
						System.out.print("\t" + ((IPInterfaceAdapter) iface).getAddress());
					if (iface.isConnected())
						System.out.print("\tconnected");
					System.out.println();
				}
			}
			
			((IPHost) network.getNodeByName("R1")).getInterfaceByName("eth2").down();
			
			File f= new File("/tmp/topology.graphviz");
			Writer w= new BufferedWriter(new FileWriter(f));
			NetworkGrapher.toGraphviz(network, new PrintWriter(w));
			w.close();
						
		} catch (Exception e) {
			System.err.println(e.getMessage());
			e.printStackTrace(System.err);
		}
	}