Mañana, JUEVES, 24 DE ABRIL, el sistema se apagará debido a tareas habituales de mantenimiento a partir de las 9 de la mañana. Lamentamos las molestias.
Un lenguaje de modelado para la creación de anotaciones Java
Author
Córdoba Sánchez, IreneAdvisor
Lara Jaramillo, Juan deEntity
UAM. Departamento de Ingeniería InformáticaDate
2014-05Subjects
Java (Lenguaje de programación); Lenguajes de programación; InformáticaEsta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
Abstract
Desde su introducción en Java 5, las anotaciones han pasado de ser una herramienta útil a
jugar un papel central en muchos proyectos software populares, como por ejemplo la Java Persistence
API (JPA), API para la persistencia de objetos Java, o el framework de construcción
de aplicaciones Spring.
Las anotaciones raramente se conciben de forma aislada, sino que forman un conjunto
con interdependencias y restricciones de integridad entre ellas y los elementos que anotan; sin
embargo, Java no ofrece un mecanismo para la expresión de dichas restricciones. Además, el
soporte sintáctico para la de nición de anotaciones es en sí mismo muy limitado, dado que se
reutilizan construcciones Java para otros propósitos.
Para suplir estas carencias se ha construido el lenguaje de modelado de dominio especí co
Ann, que permite hacer explícito el modelo conceptual de restricciones que hay detrás de
un conjunto de anotaciones. Se proporciona así mismo un entorno de modelado para de nir
los modelos de anotaciones con una sintaxis más acorde al resto de elementos de Java; y un
generador de código Java para integrar los conjuntos de anotaciones diseñados en proyectos ya
existentes en dicho lenguaje. El desarrollo de Ann se ha realizado mediante la Eclipse Modeling
Framework.
En la validación de Ann se ha utilizado un subconjunto de anotaciones de JPA y se han
expresado distintas restricciones de integridad entre ellas y con los elementos que anotaban.
El resultado ha sido muy satisfactorio, al haber conseguido expresar el modelo conceptual
subyacente casi al completo.
Respecto a otras herramientas similares, Ann ha demostrado tener un valor añadido en
distintos ámbitos de aplicación comunes. Además se dispone de un amplio abanico de posibles
líneas de trabajo futuro, como por ejemplo aplicaciones en la ingeniería inversa o extensiones
al lenguaje, al ser las anotaciones una característica relativamente reciente y el soporte actual
de Java muy limitado.
Para la realización de este proyecto me fue concedida una Beca de Colaboración por el
Ministerio de Educación de España. Since their addition in Java 5, annotations have grown from a useful tool to play a central
role in many popular software projects; like the Java Persistence API (JPA) or the Spring
framework.
Annotations are rarely conceived in an isolated way; instead, they are usually part of a set,
with dependencies and integrity constraints within them and the elements they are attached
to. However, there is no mechanism in Java to express those constraints. Besides, the syntactic
support for the de nition of annotations is itself very limited, given that some Java constructions
are reused for other purposes.
To overcome these de ciencies, I have built the domain-speci c modeling language Ann,
which allows making explicit the conceptual model of the constraints behind a set of annotations.
A modeling environment is also provided to de ne the annotation models with a more
homogeneous sintax within the rest of Java elements. In addition, a Java code generator has
been implemented in order to integrate the designed sets of annotations with existing projects
in such language. Ann has been developed using the Eclipse Modeling Framework.
A subset of JPA annotations has been chosen for the validation of Ann, and several constraints
within them and with the elements they decorate have been expressed. The result has
been very satisfying, given that the underlying conceptual model has been expressed almost
entirely.
With respect to other similar tools, Ann has proven to have an added value in di erent
shared areas of application. Regarding to possible future lines of work, there is a huge number
of possibilities, such as applications in reverse engineering or language extensions, given that
annotations are a feature relatively recent and the Java support is very limited nowadays.
I was granted a Collaboration Scholarship by the Spanish Ministry of Education for the
development of this project.
Files in this item
Google Scholar:Córdoba Sánchez, Irene
This item appears in the following Collection(s)
Except where otherwise noted, this item's license is described as https://creativecommons.org/licenses/by-nc-nd/4.0/
Related items
Showing items related by title, author, creator and subject.
-
Un lenguaje de modelado para el diseño de lenguajes embebidos en Java 8
Albaladejo Barambio, Enrique
2016-06 -
Un lenguaje de dominio específico para la definición de métricas para lenguajes de modelado
Cobos Fernández, Manuel
2017-05 -
Anotación de vídeos para el análisis del lenguaje infantil
Tartilán González, Luis Fernando
2016-05