(Edutecne, 2018-11)
Pons, Claudia Fabiana; Actis, Carolina; Baum, Gabriel
El lenguaje UML es ampliamente aceptado como el lenguaje estándar de modelado en la industria. El lenguaje OCL es una parte integral de UML, y fue introducido para definir restricciones adicionales que no se pueden expresar en este. Las expresiones OCL son concisas y precisas, y no presentan las ambigüedades del lenguaje natural. Sin embargo, al ser una notación de diseño, OCL no es ejecutable; está definido sobre el modelo, por lo que sus restricciones no se reflejan en el código fuente. Por otro lado, JML es un lenguaje de especificación formal que puede ser utilizado para especificar clases Java. A diferencia de OCL, las expresiones JML están escritas de forma que pueden ser compiladas y analizadas en tiempo de ejecución. En este trabajo se propone transformar de forma automática las restricciones OCL a especificaciones escritas en el lenguaje JML. De esta forma las restricciones especificadas en el modelo son verificadas de manera ágil y simple en tiempo de ejecución, y también se habilita el análisis estático de éstas mediante el uso de probadores de teoremas implementados para JML.