ArticleslgStudy

computer science

Kermeta

Kermeta is a computer 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 Kermeta rather than just read about it. In short: Kermeta is a modeling and programming language for metamodel engineering. History The Kermeta language was initiated by Franck Fleurey in 2005 within the Triskell team of IRISA (gathering researchers of the INRIA, CNRS, INSA and the University of Rennes 1).

Key takeaways

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

Reference excerpt

Kermeta is a modeling and programming language for metamodel engineering.

History The Kermeta language was initiated by Franck Fleurey in 2005 within the Triskell team of IRISA (gathering researchers of the INRIA, CNRS, INSA and the University of Rennes 1). The Kermeta language borrows concepts from languages such as MOF, OCL and QVT, but also from BasicMTL, a model transformation language implemented in 2004 in the Triskell team by D. Vojtisek and F. Fondement. It is also inspired by the previous experience on MTL, the first transformation language created by Triskell, and by the Xion action language for UML. The name Kermeta is an abbreviation for "Kernel Metamodeling" and reflects the fact that the language is conceived as a core for (meta-)modeling. The Breton language consonance of this name is an intentional reflection of the Triskell team's location in Brittany. Kermeta, and its execution platform under Eclipse is currently available under its version 2.0.4 released in 2012. It is open-source, under the Eclipse Public License.

Philosophy Kermeta is a modeling and aspect oriented programming language. Its underlying metamodel conforms to the EMOF standard. It is designed to write programs which are also models, to write transformations of models (programs that transform a model into another), to write constraints on these models, and to execute them. The goal of this model approach is to bring an additional level of abstraction on top of the "object" level and thus to see a given system like a set of concepts (and instances of concepts) that form an explicitly coherent whole, which one will call a model. Kermeta thus brings:

all the concepts of EMOF used for the specifications of a model. a real concept of model, more precisely of model type (Jim Steel). a concrete syntax that fits well to model and metamodel writing. two paradigms: the object, and the model. a bridge towards the Eclipse ECore formalism

Characteristics The main characteristics of the Kermeta language are :

imperative: traditional structures of control object-oriented: multiple inheritance, late binding model-oriented: first-class concepts of associations and composition aspect-oriented: integrate a simple but powerful weaver for simple meta-modeling tasks. Arbitrary complex weaving is achieved using a dedicated composer written in Kermeta. This allows programmers to extend existing metamodels. Especially in order to add behavior to them by weaving behavioral semantics (operational or translational). design by contract: operations support pre and post conditions, classes use invariants. functional: functions and first class lambda-expressions statically typed: genericity for the classes and the operations, function types... complete introspection: the complete model of the program is available during execution.

Syntax The curious reader will find further information on the Kermeta website.

Example (Kermeta 1.4)

See also Model Driven Engineering Domain Specific Language Domain Specific Modelling Model-Based Testing Metamodeling OCL Model Transformation Language Meta-Object Facility

References

External links Kermeta official website

Worked examples

Example 1 — a first encounter with Kermeta

Start with the simplest possible case. Write down what Kermeta claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer 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 Kermeta 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 Kermeta 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 Kermeta

In research
Kermeta appears in computer 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 Kermeta 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
Kermeta is common in secondary-school and first-year university syllabi. It links to neighbouring topics Free UML tools, Java platform software, Software using the Eclipse Public License, so understanding it makes those chapters shorter.
In everyday life
Look for Kermeta 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 “Kermeta” →

Affiliate

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

How to study Kermeta in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Kermeta 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 Kermeta out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Kermeta in simple terms?

Kermeta is a modeling and programming language for metamodel engineering. History The Kermeta language was initiated by Franck Fleurey in 2005 within the Triskell team of IRISA (gathering researchers of the INRIA, CNRS, INSA and the University of Rennes 1).

Why does Kermeta matter?

Because it connects several computer 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 Kermeta?

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 Kermeta.

Tags

  • Free UML tools
  • Java platform software
  • Software using the Eclipse Public License
  • Unified Modeling Language

Keep exploring