De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Tefkat es un lenguaje de transformación de modelos y un motor de transformación de modelos. El lenguaje se basa en la lógica F y la teoría de programas de lógica estratificada. El motor es un complemento de Eclipse para Eclipse Modeling Framework (EMF).

Historia [ editar ]

Tefkat fue uno de los subproyectos del proyecto Pegamento en el Centro de Tecnología de Sistemas Distribuidos (DSTC), Australia. Aunque el proyecto ya estaba en marcha, la investigación más activa tuvo lugar para la presentación de una respuesta a la OMG 's MOF 2,0 consultas / Vistas / Transformaciones Solicitud de Propuestas.

Tefkat era de código abierto antes del cierre del DSTC en junio de 2006.

Breve descripción [ editar ]

Tefkat define un mapeo de un conjunto de metamodelos de origen a un conjunto de metamodelos de destino. Una transformación Tefkat consta de reglas , patrones y plantillas . Las reglas contienen un término fuente y un término objetivo . Los patrones se denominan simplemente términos de origen compuestos y las plantillas se denominan simplemente términos de destino compuestos. Estos elementos se basan en la lógica F y la programación lógica pura, sin embargo, la ausencia de símbolos de función significa una reducción significativa de la complejidad.

Tefkat tiene dos elementos de lenguaje más importantes: seguimientos e inyecciones . Los seguimientos permiten conservar relaciones arbitrarias en un modelo de seguimiento. Las inyecciones permiten especificar la identidad de los objetos de destino en términos de un símbolo de función. Por lo tanto, las inyecciones son similares (pero más poderosas) a las claves de QVT, que especifican la identidad de un objeto de destino en función de su tipo y algunas de sus propiedades.

La semántica declarativa de una transformación Tefkat es el modelo perfecto de seguimientos y objetivos que satisface todas las reglas. Una semántica más imperativa de una transformación Tefkat es el punto menos fijo iterado de la consecuencia inmediata de cada regla. Debido a la estratificación, estas semánticas son equivalentes e inequívocas. Tefkat no usa reglas explícitas para llamar; todas las reglas (no abstractas) se activan de forma independiente de todas las demás, sin embargo, las reglas se pueden acoplar libremente utilizando seguimientos, inyecciones, extensión de reglas y / o sustitución de reglas.

Sintaxis concreta [ editar ]

Tefkat tiene una sintaxis concreta similar a SQL diseñada para transmitir de manera concisa la intención de cada regla, patrón o plantilla.

REGLA ClassToTableFORALL Clase c {nombre: n; }HAGA Tabla t {nombre: n; };

Cumplimiento [ editar ]

El lenguaje Tefkat se define en términos de (E) MOF 2.0, sin embargo, el motor se implementa en términos de Ecore, el metametamodelo similar a EMOF en el centro de EMF. El lenguaje es muy similar al paquete de Relaciones de QVT, sin embargo, no es estrictamente compatible.

Ver también [ editar ]

Referencias [ editar ]