Utilizando contratos JML para optimizar diseños orientado a objetos siguiendo MDA

Resumen Model Driven Architecture (MDA) define un proceso de construccion de software basado en la produccion y transformacion de modelos. En Ingenieria de Software, refactorizacion es la tecnica que reestructura codigo de una aplicacion, alterando su estructura interna sin modificar su comportamiento externo. Por otro lado, Java Modeling Language (JML) es un lenguaje para especificar programas Java, utiliza precondiciones, postcondiciones e invariantes de la logica de Hoare. Este trabajo plantea una tecnica basada en MDA que posibilita la construccion de una herramienta automatica que tomara como entrada codigo de una aplicacion Java y realizara optimizaciones en su diseno basandose en reglas de refactoreo. La tecnica requiere contar con los contratos JML de los metodos de las clases involucradas. El principal aporte de este trabajo es la utilizacion de contratos JML para asegurar que el comportamiento de un modulo se mantiene sin cambios, luego de la aplicacion de reglas de refactoreo.

[1]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[2]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[3]  Albert L. Baker,et al.  JML: A Notation for Detailed Design , 1999, Behavioral Specifications of Businesses and Systems.

[4]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .