ArticleslgStudy

science

Tefkat

Tefkat is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Tefkat rather than just read about it. In short: 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.

Key takeaways

  • Tefkat belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Tefkat to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Tefkat from memory before moving on to harder problems.

Reference excerpt

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.

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) Logic programming

References Tefkat project page Practical Declarative Model Transformation with Tefkat

Worked examples

Example 1 — a first encounter with Tefkat

Start with the simplest possible case. Write down what Tefkat claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Tefkat before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Tefkat ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Tefkat

In research
Tefkat appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Tefkat in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Tefkat is common in secondary-school and first-year university syllabi. It links to neighbouring topics Specification languages, so understanding it makes those chapters shorter.
In everyday life
Look for Tefkat outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Tefkat” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Tefkat in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Tefkat means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Tefkat out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Tefkat in simple terms?

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.

Why does Tefkat matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Tefkat?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Tefkat.

Tags

  • Specification languages

Keep exploring