Facilitando el análisis formal de código Java especificado con UML+OCL

Thumbnail Image
Date
2018-11
Authors
Pons, Claudia Fabiana
Actis, Carolina
Baum, Gabriel
Journal Title
Journal ISSN
Volume Title
Publisher
Edutecne
Abstract
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.
Description
Keywords
Lenguaje Unificado de Modelado, UML, Lenguaje de Especificación de Objetos, OCL, modelos
Citation
Actis, C; Pons, C.; Baum, G. (2018). Facilitando el análisis formal de código Java especificado con UML+OCL. En: Roberto Sotomayor, Lucia Rosario Malbernat, Miguel Méndez Garabetti; Felipe Evans (Comps.), CoNaIISI 2018 - Congreso Nacional de Ingeniería Informática – Sistemas de Información, Mar del Plata, Argentina, 2018, pp.965-978