public SimpleRunCPE(String args[]) throws Exception {
		mStartTime = System.currentTimeMillis();

		// check command line args
//		if (args.length < 1) {
//			printUsageMessage();
//			System.exit(1);
//		}
		String path = null;
		if(args.length >= 1)
			path = args[0];
		if(path == null) {
			URL resource = SimpleRunCPE.class.getResource("/UIMA/CpeDescriptor.xml");
			path = resource.getFile();
		}
		// parse CPE descriptor
		System.out.println("Parsing CPE Descriptor");
		CpeDescription cpeDesc = UIMAFramework.getXMLParser().parseCpeDescription(new XMLInputSource(path));
		// instantiate CPE
		System.out.println("Instantiating CPE");
		mCPE = UIMAFramework.produceCollectionProcessingEngine(cpeDesc);

		// Create and register a Status Callback Listener
		mCPE.addStatusCallbackListener(new StatusCallbackListenerImpl());

		// Start Processing
		System.out.println("Running CPE");
		mCPE.process();

		// Allow user to abort by pressing Enter
		System.out.println("To abort processing, type \"abort\" and press enter.");
		while (true) {
			String line = new BufferedReader(new InputStreamReader(System.in)).readLine();
			if ("abort".equals(line) && mCPE.isProcessing()) {
				System.out.println("Aborting...");
				mCPE.stop();
				break;
			}
		}
	}