JavAsync : extensão da linguagem Java para tratamento de eventos assíncronos - Carlos Rafael Gimenes das Neves (2013)
Quando contando apenas com o que é oferecido por linguagens orientadas a objetos, como o Java, os desenvolvedores tendem a utilizar apenas chamadas síncronas a métodos, utilizando-se de artifícios para obter comportamento assíncrono, o que comumente quebra o modelo original do sistema, acrescentando uma série de efeitos colaterais indesejados, tais como acoplamento desnecessário entre classes e construções passíveis de erros. O acoplamento desnecessário normalmente aparece quando uma classe precisa ser notificada sobre a ocorrência de eventos em outra classe na mesma pilha de chamadas em tempo de execução. Propomos uma extensão à linguagem Java para permitir a execução assíncrona de métodos, a notificação e o tratamento assíncronos de eventos ocorridos durante a execução normal do programa em classes presentes na pilha de chamadas corrente, como uma alternativa nativa, simples e que não force acoplamento adicional entre as classes envolvidas. Denominamos JavAsync à linguagem Java assim estendida. Com essa extensão, esperamos que os desenvolvedores possam utilizar comunicação assíncrona desde o início do ciclo de desenvolvimento, sem que precisem realizar modificações à estrutura original do software em desenvolvimento e sem que precisem se preocupar com threads e com o registro dos tratadores de eventos.