Desarrollado por | Obeo, Fundación Eclipse |
---|---|
Última versión | 3.4.1 (3 de septiembre de 2013) |
Depositar | github.com/eclipse/acceleo |
Escrito en | Java |
Sistema de explotación | Linux , Microsoft Windows y macOS |
Tipo | Arquitectura basada en modelos |
Licencia | Licencia Eclipse |
Sitio web | www.eclipse.org/acceleo |
Acceleo es un generador de código fuente de la fundación Eclipse para implementar el enfoque MDA (Arquitectura dirigida por modelos) para construir aplicaciones a partir de modelos basados en EMF . Esta es una implementación del estándar MOF Models to Text (MOFM2T) del Object Management Group (OMG) para transformaciones de modelo a texto.
El proyecto Acceleo nació en 2006 en torno al sitio web Acceleo.org. Acceleo 1.0 y 1.1 estaban en ese momento bajo licencia GPL y compatibles con Eclipse 3.2 y muchos modeladores basados en EMF o UML 1.3. Unos meses más tarde, cuando se lanzó Acceleo 1.2, el proyecto Acceleo cambió su licencia para adoptar la licencia EPL. Acceleo versión 2 se lanzó el5 de junio de 2007después de la apertura del sitio planet.acceleo.org que reúne las publicaciones de muchos actores de la comunidad de Acceleo y la granja de módulos agrupando generadores de código diseñados con Acceleo.
En 2009, para su transición a la versión 3, el proyecto fue admitido en la fundación Eclipse. Durante esta transición, Acceleo cambió el lenguaje utilizado para definir los generadores para utilizar el lenguaje estándar OMG para la transformación de modelo a texto, MOFM2T. Desde el lanzamiento de Eclipse 3.6 Helios, Acceleo, como proyecto oficial de la Fundación Eclipse, se ha incluido en el calendario de lanzamientos simultáneos de Eclipse Projects. Acceleo está integrado de forma nativa en el Eclipse IDE , se basa en la tecnología EMF y, desde la versión 3, en el lenguaje OCL . OCL es un lenguaje estándar de OMG para navegar por modelos y establecer restricciones en los elementos de un modelo.
Aunque el código fuente del software en sí es gratuito, la marca comercial y el logotipo de Acceleo, incorporados en el mismo software, no lo son, ya que son marcas registradas. Esta marca perteneció originalmente a la empresa Obeo, creadora de Acceleo y pasó a la Fundación Eclipse cuando Acceleo se integró en la fundación Eclipse.
Acceleo es un proyecto de Eclipse desarrollado principalmente en Java y disponible bajo licencia EPL. El código fuente de las versiones 1 y 2 de Acceleo está disponible en SVN en la fragua OW2. Cuando se unió a la Fundación Eclipse en 2009, el código fuente de Acceleo 3 se migró a un repositorio CVS ubicado en los servidores de la Fundación Eclipse. Después del lanzamiento de Eclipse 3.7 Indigo en 2011, el proyecto Acceleo migró a Git como muchos proyectos de la Fundación Eclipse y desdejulio 2011, El código fuente de Acceleo está disponible en Github.
Subtítulo: | ||||
---|---|---|---|---|
versiones antiguas | Versión actual | Versión avanzada |
Versión | Fecha de lanzamiento | Cambios significativos | |
---|---|---|---|
1.0 | 1 st de abril de de 2006 | Primera versión de Acceleo disponible bajo licencia GPL, generación de código a partir de modelos basados en EMF. | |
1.1 | 20 de octubre de 2006 | Compatibilidad con Eclipse 3.2, soporte para modelos creados con GMF, ArgoUML, Poseidon, Umbrello y Rationnal Rose. | |
1.2 | 5 de enero de 2007 | Cambio a la licencia EPL, nuevo servicio de sangría, lanzador configurable, compatibilidad con Ant. | |
2.0 | 5 de junio de 2007 | Mejora del lenguaje, compatibilidad XML, exportación como complemento. | |
2.1 | 12 de julio de 2007 | Compatibilidad con Eclipse 3.3, depurador de generador. | |
2.2 | 7 de enero de 2008 | Soporte para localización, soporte para diferentes codificaciones de plantillas, salida de generadores JEE, PHP, Python y WISS. | |
2.3 | 25 de julio de 2008 | Compatibilidad con Eclipse 3.4 Ganimedes, llamada a EMF estándar EOperaciones desde el generador, localización de referencias. | |
2.4 | 25 de septiembre de 2008 | Exportación de un generador en módulo autónomo. | |
2.5 | 3 de diciembre de 2008 | Generación de perfiles, acciones sobre el esquema. | |
2.6 | 26 de junio de 2009 | Compatibilidad con Eclipse 3.5 Galileo. | |
2,7 | 2 de abril de 2010 | Mejoras en el generador de perfiles, compatibilidad con Entreprise Architect. | |
3,0 | 23 de junio de 2010 | Nuevo lenguaje de definición de generadores basado en MOFM2T, soporte para consultas OCL, compilación de generadores sobre la marcha, detección de errores en tiempo real. | |
3.1 | 23 de junio de 2011 | Soporte de documentación de generadores, detección de posibles errores con advertencias, soporte Maven, compilación binaria de generadores. | |
3.2 | 27 de octubre de 2011 | Nueva vista "Intérprete" que permite probar expresiones de Acceleo en elementos del modelo. | |
3.3 | 29 de mayo de 2012 | ||
3.4 | 10 de junio de 2013 |
Acceleo está escrito en Java y se implementa en el IDE de Eclipse. Acceleo es compatible con entornos basados en Java 5 y superior en las siguientes plataformas:
El lenguaje utilizado por Acceleo es una implementación del estándar MOFM2T . Este lenguaje de generación de código utiliza un enfoque de plantilla. Con este enfoque, una plantilla es un texto que contiene marcadores de posición en los que se colocará la información tomada de la plantilla proporcionada como entrada. Estos marcadores de posición son generalmente expresiones especificadas en las entidades que se utilizarán en el modelo y que tendrán como objetivo seleccionar y extraer información de este modelo. Dentro de Acceleo, estas expresiones se basan principalmente en el lenguaje OCL .
Acceleo proporciona herramientas para generar código a partir de modelos. Gracias a estas herramientas, Acceleo hace posible, en particular, realizar generaciones incrementales. La generación incremental consiste en generar código para luego poder modificar el código generado libremente y volver a generar el código sin perder las modificaciones realizadas manualmente sobre el código generado previamente.
Acceleo también permite:
Acceleo proporciona un editor de módulos de compilación con resaltado de sintaxis, finalización, detección de errores y refactorización .
Acceleo tiene un depurador para monitorear el progreso de una generación. Este depurador te permite pausar una generación en puntos específicos y observar el estado de las variables allí para poder corregir más fácilmente un problema.
Acceleo proporciona un sistema de creación de perfiles que permite determinar todas las instrucciones ejecutadas con el número de ejecuciones de cada instrucción y también el tiempo de ejecución de cada instrucción. Los datos del perfil de una generación Acceleo están disponibles tras generación en forma de modelo EMF .
El motor de generación Acceleo también proporciona trazabilidad de todos los elementos involucrados en la generación de un archivo. Este sistema permite, por ejemplo, determinar el elemento del modelo de entrada que permitió generar un área de texto específica y qué parte del generador Acceleo estaba involucrado.
El analizador y el motor de generación, componentes críticos de Acceleo, también se pueden utilizar en "stand-alone", es decir fuera de Eclipse. Acceleo también genera una clase Java que permite desencadenar la generación de código mediante programación, lo que permite integrar fácilmente un generador Acceleo en cualquier aplicación Java.
Acceleo es compatible con las siguientes versiones de Eclipse:
Acceleo se basa en el marco de modelado de la plataforma Eclipse EMF. Como tal, Acceleo es compatible con todas las herramientas que producen modelos basados en EMF.
Acceleo puede tomar como entrada cualquier tipo de modelos producidos con EMF como modelos UML o modelos que representan lenguajes dedicados a un dominio . A partir de los elementos utilizados por este modelo, podemos crear una plantilla que permitirá la generación de código.
Aquí utilizamos los elementos EClass, EAttribute y EOperation de EMF. Gracias a esta plantilla y este modelo proporcionado como entrada, Acceleo puede generar el código anterior. Las plantillas de este ejemplo están configuradas para generar Java, pero el estándar MOFM2T es independiente del lenguaje generado. Una vez configurado el generador, lo único que tienes que hacer es modificar el modelo para generar un código de apariencia similar pero con contenido diferente. Acceleo proporciona ejemplos de generadores.
La comunidad Acceleo está hoy presente en torno a la parte Acceleo presente en la web de la Fundación Eclipse. La documentación de Acceleo está disponible en línea en el Centro de ayuda de Eclipse y en Acceleo Project Wiki.
Los desarrolladores de Acceleo también se comunican con la comunidad a través de presentaciones en conferencias cercanas a MDA o al mundo Eclipse.
apellido | Con fecha de | Localización | Título de presentación |
---|---|---|---|
Conferencia sobre el enfoque MDA | 23 de noviembre de 2006 | Ginebra | |
Simposio SOA / MDA | 30 de noviembre de 2006 | Luxemburgo | |
EclipseCon 2007 | 6 de marzo de 2007 | los Angeles | |
Eclipse Summit Europe 2008 | 10 de octubre de 2008 | Ludwisburg | |
EclipseCon 2009 | 25 de marzo de 2009 | los Angeles | Eclipse MTL: una alternativa estándar real para la generación de código |
Eclipse Summit Europe 2009 | 28 de octubre de 2009 | Ludwigsburg | Presentación de la transición de Acceleo.org a Eclipse Modeling |
Eclipse Con 2010 | 22 de marzo de 2010 | los Angeles | Generación de código Acceleo: comencemos con un ejemplo de Android |
Eclipse Summit Europe 2010 | 3 de noviembre de 2010 | Ludwigsburg | Creación de un idioma para aplicaciones de Android con Eclipse Modeling |
Días destacados 2011 | 4 de febrero de 2011 | Toulouse | Acceleo |
Generación de código 2011 | 26 de mayo de 2011 | Cambridge | ¿Y pensaba que conocía el generador de código basado en plantillas? |
EclipseCon Europa 2011 | 2 de noviembre de 2011 | Ludwigsburg | ¿Y pensaba que conocía el generador de código basado en plantillas? |