An Event Based programming language for Runtime Monitoring and Dynamic Instrumentation of Concurrent and Distributed Programs - Durán, David; Pimienta, Camilo; Arboleda, Hugo; Benavides Navarro, Luis Daniel (Universidad Escuela Colombiana de Ingeniería Julio Garavito, 2016)
In this paper we introduce EKETAL, an event based programming language for runtime monitoring and dynamic instrumentation of distributed and concurrent applications. We argue that development, maintenance and evolution of distributed applications can be greatly improved by such a language. To support this claim, we first present the programming model and corresponding compiler implementation (compiler generates distributed AspectJ’s code), then we present micro-benchmarks of the runtime infrastructure and a qualitative study of the usage of the language for debugging and testing liveness and datarace problems found in BigData middleware.

En este artículo presentamos EKETAL, un lenguaje de programación basado en eventos para monitoreo en tiempo de ejecución e instrumentación dinámica de aplicaciones distribuidas y concurrentes. Sostenemos que dicho lenguaje puede mejorar enormemente el desarrollo, el mantenimiento y la evolución de aplicaciones distribuidas. Para respaldar esta afirmación, primero presentamos el modelo de programación y la implementación del compilador correspondiente (el compilador genera el código de AspectJ distribuido), luego presentamos micro puntos de referencia de la infraestructura de tiempo de ejecución y un estudio cualitativo del uso del lenguaje para depurar y probar la vida y la carrera de datos. Problemas encontrados en el middleware BigData.
Keywords: Eketal (Lenguaje de programación para computadores); Software de aplicación; Application software; Desarrollo de software; Computer software - Development; Eketal (Computer programming language); Debugging; Depuración; Testing; Pruebas; Event patterns; Patrones de eventos; Runtime monitoring; Monitoreo de tiempo de ejecución; Event based languages; Lenguajes basados ​​en eventos; Distributed applications; Aplicaciones distribuidas; Datarace error; Error de carrera de datos