- Introducción - Objetivos - Proceso de desarrollo - Metamodelo - Restricciones - Herramientas - Plugin -Referencias
introducción
Existen consultoras que se dedican a montar y mantener equipamiento informático de pequeñas empresas y despachos. Podríamos crear una herramienta simple con la que mantener sus configuraciones de red y poder modificarlas y exportarlas en cualquier momento.
objetivos
El objetivo es crear un DSL visual que permita la creación sencilla de esquemas de red y que proporcione como salida los ficheros de configuración de los sistemas que la componen de manera que el usuario pueda utilizar estos ficheros directamente para configurar los equipos físicos.
proceso de desarrollo
● para la realización de la herramienta se ha seguido un esquema cíclico. ● varias generaciones de los diferentes elementos del proyecto:
proceso de desarrollo
● el editor gráfico se ha completado al final del proceso: ○ Introducción de iconos e imágenes. ○ Introducción de restricciones.
proceso de desarrollo : paso 1 - generación del metamodelo
● A través de Eclipse >> EMF ● Utilización del editor de metamodelos ECORE ● Metamodelo sencillo pero con todos los componentes ○ EClass ○ EEnum ○ EReference ○ Inheritance
proceso de desarrollo : paso 1 - generación del metamodelo
proceso de desarrollo : paso 1 - generación del metamodelo
● Validación del metamodelo
proceso de desarrollo : generación del editor gráfico
● Inicialmente se utiliza GMF
● Utilización de EUGENIA
proceso de desarrollo : EUGENIA
● Herramienta para construir el editor gráfico. ● Genera automáticamente los modelos .gmfgraph .gmftool .gmfmap ● Instalación: http://eclipse. org/epsilon/download/
proceso de desarrollo : EUGENIA
proceso de desarrollo : EUGENIA
● Este proceso instalará EUGENIA y las dependencias EPSILON
proceso de desarrollo : EMFATIC
● Necesitamos además instalar Emfatic que es un editor de textos de modelos ECore. ● Necesario para la generación automática del editor gráfico. http://download.eclipse.org/emfatic/update/ ● También es necesario el GMF Tooling Experimental SDK para usar las figuras .svg http://www.eclipse. org/modeling/gmp/downloads/?project=gmftooling
proceso de desarrollo : EMFATIC
● Eclipse: Help-> Install new software
proceso de desarrollo : GMF Tooling SDK
● Descomprimir el archivo descargado ● Eclipse: Help-> Install new software
proceso de desarrollo : generación de modelo EMFatic
● A partir del metamodelo ECore generamos el código en Emfatic que presenta el mismo modelo pero añade información adicional. ● El resultado será un nuevo fichero con extensión: .emf
proceso de desarrollo : generación de modelo EMFatic
proceso de desarrollo : generación de modelo EMFatic
networDLS.emf
proceso de desarrollo : anotación EUGENIA
● El siguiente paso es utilizar las anotaciones GMF para decirle al modelo como se deben mostrar los elementos. @gmf package networkdsl; @gmf.diagram(model.extension="networkdsl", diagram. extension="netdiagram", foo="bar") class Red { val PC[+] PCRed; ref Router[+] RouterRed; }
proceso de desarrollo : anotación EUGENIA @gmf Se aplica a EPackage y marca que se esperan anotaciones GMF relacionadas con sus elementos. @gmf.diagram Indica el objeto raíz del metamodelo. Admite propiedades como: diagram.extension - model.extension @gmf.node Se aplica a las EClass para que aparezcan en el diagrama como un nodo. borde.color - border.style - svg.uri - figure
proceso de desarrollo : svg
● Importamos las imágenes que queremos para nuestro editor
proceso de desarrollo : generación del editor
Cuando está completo el .emf directamente generamos el editor.
proceso de desarrollo : proyecto diagram
Se han generado todos los proyectos necesarios. Ya tenemos el editor. Solamente hay que ejecutarlo como app
proceso de desarrollo : transformación m2t
Para realizar la transformación m2t hemos usado Acceleo.
plugin: despliegue del editor como plugin
● Utilizamos el wizard
plugin: despliegue del editor como plugin
● Se generan los .jar para que los usuarios puedan instalarlo.