Meu problema é o seguinte: Tenho uma aplicação java e preciso que manipule alguns módulos (módulos seriam jars, subprogramas). Por exemplo, cada jar cotem um algoritmo especifico para resolução do problema, ou seja, cada jar pode ter um genético, rede neural ou colonia de formigas. o usuario pode escolher qual algoritmo (jar) usar, e se quiser usar mais de um pode escolher a ordem.
Por que preciso deles em jar? por que preciso inserir novos algoritmos a aplicação sem precisar alterá-la.
A duvida é: como é que eu vou ler esses jar, passar os dados necessários para executa-lo tudo isso na ordem indicada pelo usuario, e em tempo de execução?