Zgubiłem się w twoich wyjaśnieniach:
Chcesz zrobić coś w tym stylu: program główny uruchamia jakiś inny wysyłając mu jakieś argumenty, podprogram wykonuje jakieś obliczenia po czym wysyła wynik do programu głównego. Program główny czeka na wykonanie podprogramu, odbiera dane po czym robi coś innego.
Jeżeli chodzi ci o coś takiego to: tak, jest to do wykonania. Rzuć okiem na temat procesów w Javie (klasy Process, ProcessBuilder)