PFC – Dpto. Lenguajes y sistemas informáticos Seminario ALTERNATIVAS A LA IMPLEMENTACIÓN DE DSL GUARANÁ CON VISUAL STUDIO 2010 DAVID GALLEGO LOBATO – 5º II
Índice Objetivos del proyecto Alternativas analizadas Model Bus DSL Import MEF Ejemplo con Guaraná Otros ejemplos
Objetivos Implementación de Guaraná en VS 2010 Desacoplar el desarrollo de los toolkit de Guaraná entre sí y del propio Lenguaje. Permitir integrar varios toolkit en un mismo proyecto Guaraná. Facilitar el mantenimiento y desarrollo de los diferentes toolkit y del propio Lenguaje.
Model Bus - ¿Qué es? Permite la integración de DSL desarrollados independientemente a través de elementos de referencia ( ModelReference ). Cada DSL: Se expone al bus para ser “consumido”, ó Consume otros modelos expuestos en el bus. Exponerse: generar clases adaptadores que el resto de modelos consumen. Consumir: crear adaptador de DSL a acceder y almacenar referencia a elementos o modelos.
Model Bus - Esquema
Model Bus – Uso en Guaraná El DSL de Guaraná constituiría un DSL independiente. Otro DSL por cada toolkit. Los diferentes toolkit se exponen al model bus y el DSL de Guaraná los consume
DSL Import Elementos comunes y más estables se generan en librería que es importada por los diferentes lenguajes que la requieran ( principalmente Model Element y shapes ). En Guaraná: las task genéricas de los toolkit ( mapper, router, transformer, etc. ) pueden quedar en una librería y ser la base de los diferentes desarrollos de toolkit.
MEF ( Microsoft Extensibility Framework ) Extensión de un determinado DSL a través de extensiones de Visual Studio. Para entornos muy concretos en que se requiere especializar un DSL para un determinado entorno ( seguridad, arquitectura, etc. ).
Ejemplo Guaraná DSL GUARANÁ TOOLKIT1 TOOLKIT2
Otros ejemplos
Gracias por su atención