Tefkat

Tefkat

Tefkat is a Model Transformation Language and a model transformation engine. The language is based on F-logic and the theory of stratified logic programs. The engine is an Eclipse plug-in for the Eclipse Modeling Framework (EMF).

History

Tefkat was one of the sub-projects of the Pegamento project at the Distributed Systems Technology Centre (DSTC), Australia. Although the project was already underway, the most active research occurred for the submission of a response to the OMG's MOF 2.0 Queries / Views / Transformations Request for Proposals.

Tefkat was open-sourced before the closure of the DSTC in June 2006, and is still under active development.

Brief Description

Tefkat defines a mapping from a set of source metamodels to a set of target metamodels. A Tefkat transformation consists of "rules", "patterns" and "templates". Rules contain a "source term" and a "target term". Patterns are simply named composite source terms, and templates are simply named composite target terms. These elements are based on F-logic and pure logic programming, however the absence of function symbols means a significant reduction in complexity.

Tefkat has two more significant language elements: "trackings" and "injections". Trackings allow arbitrary relationships to be preserved in a trace model. Injections allow the identity of target objects to be specified in terms of a function symbol. Thus injections are similar (but more powerful) to QVT's keys, which specify a target object's identity to be a function of its type and some of its properties.

The declarative semantics of a Tefkat transformation is the "perfect" model of traces and targets that satisfies all the rules. A more imperative semantics of a Tefkat transformation is the "iterated least fixed-point" of the immediate consequence of each rule. Due to stratification, these semantics are equivalent and unambiguous. Tefkat does not use explicit rule-calling; all (non-abstract) rules fire independently from all others, however rules can be loosely coupled using trackings, injections, rule extension and/or rule superseding.

Concrete Syntax

Tefkat has an SQL-like concrete syntax designed to concisely convey the intent of each rule, pattern or template.

RULE ClassToTable FORALL Class c { name: n; } MAKE Table t { name: n; } ;

Compliance

The Tefkat language is defined in terms of (E)MOF 2.0, however the engine is implemented in terms of Ecore, the EMOF-like metametamodel at the centre of EMF. The language is very similar to the Relations package of QVT, however it is not strictly compliant.

See also

* Model Driven Architecture (MDA): OMG's vision of MDE
* QVT: the OMG's adopted QVT specification
* Stratification (mathematics)
* F-logic
* Logic programming

References

* Tefkat [http://tefkat.sourceforge.net project page]
* [http://sosym.dcs.kcl.ac.uk/events/mtip05/submissions/lawley_steel__practical_declarative_model_transformation_with_tefkat.pdf Practical Declarative Model Transformation with Tefkat]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • QVT — In the model driven architecture, QVT (Query/View/Transformation) is a standard for model transformation defined by the Object Management Group. Description Model transformation is the process of converting a model Ma conforming to metamodel MMa… …   Wikipedia

  • MOF QVT — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • QVT — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • Qvt — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • QVT — (Query/View/Transformation)] est un standard défini par l OMG. Il s agit d un langage standardisé pour exprimer des transformations de modèles. La notion de transformation de modèles est essentielle en Ingénierie dirigée par les modèles ou MDA… …   Wikipédia en Français

  • Object Constraint Language — The Object Constraint Language (OCL) is a declarative language for describing rules that apply to Unified Modeling Language (UML) models developed at IBM and now part of the UML standard. Initially, OCL was only a formal specification language… …   Wikipedia

  • Metamodeling — For other uses, see Meta model (disambiguation). Example of a Geologic map information meta model, with four types of meta objects, and their self references.[1] Metamodeling, or meta modeling in software engineering and systems engineering among …   Wikipedia

  • Model Transformation Language — Presentation = Ubiquitous transformations The notion of Model transformation is of central importance to Information Technology. A software system may be seen as a set of information transformations. The Unix system itself may be viewed as a… …   Wikipedia

  • Model transformation language — A model transformation language in systems and software engineering is a language for model transformation. Contents 1 Overview 2 Available transformation languages 3 See also 4 …   Wikipedia

  • Tripel-Graph-Grammatik — Als Tripel Graph Grammatik (engl. triple graph grammar, kurz: TGG) bezeichnet man eine spezielle Art von Graphgrammatik, die vor allem für bidirektionale Modell zu Modell Transformationen verwendet wird. Besonderheit von Tripel Graph Grammatiken… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”