Your process can do anything it wants, including maintain graphical components. GUIs can be written in any language - one (dev/std/image/numeric) is being developed using C++/wxWidgets, for future inclusion in the Standard Library. Another, written in Matlab, is provided with BRAHMS as an example.


Navigate to SYSTEMML_INSTALL_PATH/BRAHMS/support/example/995 in Matlab and run simplegui. The GUI displays the input it receives from the source/numeric process, and has a "stop" button that cancels the execution if pressed. For extra credit, look into how that "stop" button works.