Intérprete funcional para OCL : HaskellOCL
Supervisor(es): Calegari, Daniel - Viera, Marcos
Resumen:
El paradigma de Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés) propone la construcción de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. El Object Constraint Language (OCL), un lenguaje formal que permite expresar restricciones que se deben cumplir para asegurar la corrección semántica de un modelo. El lenguaje se define como un lenguaje sin efectos secundarios que combina aspectos funcionales (ej. composición de funciones) y orientados a modelos (ej. herencia de tipos). Sus intérpretes se enfocan principalmente en aspectos orientados a modelos, proveyendo una representación directa de construcciones como herencia y navegación a través de propiedades de los elementos de los modelos. Sin embargo, en los últimos años se han propuesto diversas extensiones funcionales al lenguaje, por ejemplo: pattern matching, expresiones lambda y evaluación perezosa. En un trabajo previo se propuso la construcción de un intérprete de OCL basado en el paradigma funcional (usando Haskell), que incluye además la interpretación de modelos, metamodelos y transformaciones. El objetivo de este proyecto es continuar desarrollando las capacidades del intérprete, particularmente definiendo una transformación que permita generar la infraestructura funcional necesaria para interpretar expresiones OCL (OCL2Haskell), así como adaptar un editor de OCL (en Eclipse) para permitir ejecutar automáticamente la transformación y realizar la validación de dichas expresiones OCL haciendo que la infraestructura funcional sea transparente para el usuario final.
2018 | |
MDE OCL Haskell Eclipse |
|
Español | |
Universidad de la República | |
COLIBRI | |
http://hdl.handle.net/20.500.12008/20219 | |
Acceso abierto | |
Licencia Creative Commons Atribución – No Comercial – Sin Derivadas (CC - By-NC-ND) |
Sumario: | El paradigma de Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés) propone la construcción de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. El Object Constraint Language (OCL), un lenguaje formal que permite expresar restricciones que se deben cumplir para asegurar la corrección semántica de un modelo. El lenguaje se define como un lenguaje sin efectos secundarios que combina aspectos funcionales (ej. composición de funciones) y orientados a modelos (ej. herencia de tipos). Sus intérpretes se enfocan principalmente en aspectos orientados a modelos, proveyendo una representación directa de construcciones como herencia y navegación a través de propiedades de los elementos de los modelos. Sin embargo, en los últimos años se han propuesto diversas extensiones funcionales al lenguaje, por ejemplo: pattern matching, expresiones lambda y evaluación perezosa. En un trabajo previo se propuso la construcción de un intérprete de OCL basado en el paradigma funcional (usando Haskell), que incluye además la interpretación de modelos, metamodelos y transformaciones. El objetivo de este proyecto es continuar desarrollando las capacidades del intérprete, particularmente definiendo una transformación que permita generar la infraestructura funcional necesaria para interpretar expresiones OCL (OCL2Haskell), así como adaptar un editor de OCL (en Eclipse) para permitir ejecutar automáticamente la transformación y realizar la validación de dichas expresiones OCL haciendo que la infraestructura funcional sea transparente para el usuario final. |
---|