Trabajo de grado - Pregrado
EB2Python - Traducción automática de especificaciones Event-B en Rodin a Python
Fecha
2018Autor
Losada Calderón, Hernán Felipe
Resumen
Event-B es un método formal para el modelado y análisis de sistemas basado en el enfoque de corrección por construcción. Presenta un conjunto de teorías como la elección para la notación de modelado, el refinamiento para representar diferentes niveles de abstracción en los modelos y un sistema de prueba para verificar la consistencia
dichos modelos. Este documento presenta una algoritmo para generar programas en el lenguaje de programación Python a partir de modelos Event-B correctos. El algoritmo presentado aquí es la composición de reglas de traducción; incluye soporte para relaciones, expresiones numéricas y enumeraciones. El código puede ser generado para ejecución secuencial o concurrente (por medio de hilos). Un ejemplo ilustra la traducción de código y su ejecución como programa en el lenguaje de programación Python. Event-B is a formal method for system-level modeling and analysis based on the correct-by-construction approach. It features set theory as the choice for modeling notation, refinement to represent different abstraction levels in the models, and a proof system to verify the consistency of such models. This document presents an algorithm to generate Python programs from correct Event-B models. The algorithm, presented here as the composition of translation rules, includes support for most of the language's constructs, including relations, numerical expressions, and enumerations. An implmentation in the Python programming language of the translation algorithm is showcased with the help of a running example and a concise case study.