Dossier de presentación de Takuan ¿Qué es Takuan? Takuan es una herramienta libre desarrollada por el grupo de investigación “Mejora del Proceso Software y Métodos Formales” de la Universidad de Cádiz. Sirve para ayudar en la prueba de composiciones de Servicios Web con WSBPEL. Para ello Takuan usa la generación dinámica de invariantes. Esta técnica toma lo mejor de dos mundos: la prueba masiva de software y los métodos formales. ¿Por qué Takuan? A pesar de su mayor aceptación cada día, actualmente no existen entornos de prueba para WS-BPEL como en otros lenguajes clásicos. Esto es debido por un lado a lo reciente del lenguaje, pero por otro lado a las peculiaridades de la ejecución de composiciones de Servicios Web comparada con otros lenguajes. Es por ello que hemos decidido utilizar una aproximación híbrida a la prueba de composiciones WS-BPEL: la generación dinámica de invariantes. Generación dinámica de invariantes para WS-BPEL La generación dinámica de invariantes en el código fuente de un programa es una técnica usada con éxito en lenguajes de programación estructurados y orientados a objetos. Con Takuan también es posible aplicarla a composiciones WS-BPEL. Esta técnica permite detectar propiedades que se mantienen en diversos puntos del programa. Sus utilidades más inmediatas son ayudar en la depuración y verificación de una composición observando si las propiedades obtenidas están en consonancia con las especificaciones de la composición. También existe otra aplicación, que es evaluar la calidad de un conjunto de casos de prueba usado para probar un programa. Basta con usarlo como entrada de Takuan y ver si genera invariantes ciertos y significativos. Arquitectura de Takuan Takuan se basa en varios sistemas libres de contrastada madurez que han sido adaptados a las peculiaridades de WS-BPEL: ● BPELUnit: es un entorno de pruebas unitarias para WS-BPEL. ● ActiveBPEL: es un motor WS-BPEL relativamente ligero que soporta el estándar OASIS WS-BPEL 2.0. ● Daikon: es un generador de invariantes usado con éxito en lenguajes como C++ o Java. ¿Cómo funciona Takuan? Takuan recibe como entrada: 1. La especificación de una composición WS-BPEL que cumpla el estándar OASIS WS-BPEL 2.0. 2. Un conjunto de casos de prueba para la composición. Con estos datos Takuan ejecuta la composición bajo todos los casos de prueba y genera invariantes sobre la lógica interna de la composición. Adicionalmente Takuan permite simular Servicios Web externos, siendo el usuario responsable de proporcionar unos valores para cada invocación del servicio. De esta forma se puede probar el comportamiento de la composición ante determinadas respuestas de los servicios o situaciones determinadas (como fallos en determinados servicios, respuestas inesperadas, etc.). ¿Qué ofrecemos? Hemos probado nuestro sistema con varias composiciones WS-BPEL de ejemplo, obteniendo buenos resultados. Por ello nuestro siguiente paso es probarlo con composiciones más complejas para evaluar más a fondo su valía y poder mejorarlo de cara a su adopción como herramienta de apoyo a la prueba de WS-BPEL. Más información sobre Takuan Puede conseguir más información sobre Takuan en su web oficial o escribiendo al correo del responsable del proyecto, Manuel Palomo Duarte: http://neptuno.uca.es/~takuan manuel.palomo@uca.es