Desarrollo de DSL visuales con Graphiti

Desarrollo de DSL visuales con Graphiti

Introducción

En el siguiente gitbook describiremos el desarrollo de DSL visuales con Graphiti.

1. Motivación

Un lenguaje específico de dominio (Domain Specific Language) es un lenguaje de programación o especificación de un lenguaje para resolver un determinado problema. Mediante este lenguaje que puede ser gráfico o textual nos permite solucionar dicho problema.

La motivación de este proyecto es realizar una guía en español, donde podamos comparar Graphiti con herramientas similares. Además de un pequeño tutorial donde cualquiera pueda aprender a desarrollador de forma básica un editor gráfico para un DSL haciendo uso de esta herramienta.

2. Contexto

Para construir un editor gráfico en Eclipse desde cero se utilizan las herramientas EMF (Eclipse Modelling Project) que es la base para construir nuevas herramientas y GEF (Grafical Editing Framework) que nos proporciona la tecnología para crear editores gráficos.

Sin embargo en 2009, la multinacional SAP AG decide donar a la comunidad de Eclipse esta herramienta. Gracias a Graphiti los usuarios ya no tienen que realizar la tarea larga y tediosa de generar nuevos editores gráficos. Además, requiere de un proceso de aprendizaje de la herramienta GEF es bastante largo y nos permite facilitar y agilizar el desarrollo de nuestros propios editores gráficos.

Ahora mismo la última versión disponible es la 0.11, pero para el tutorial he usado la version 10.02.

3. Objetivos

Los objetivos del proyecto Graphiti son los siguientes:

  • Proporcionar una herramienta de fácil uso y bien estructurada donde a través de API Java configuremos las características necesarias para el desarrollo del editor gráfico.
  • Reutilización de los algoritmos ya existentes para que el usuario pueda maquetar su propio producto.
  • El aprendizaje de la herramienta va a ser mucho más rápido al ocultar la complejidad de las herraientas que lo componen.