Skip to content
  Projet Triskell  


Document Actions

Metamodeling is a key activity for capitalizing domain knowledge. A metamodel captures the essential concepts of an engineering domain, providing the basis for the definition of a modeling language. A precise metamodel is essential to drive all the development steps of the modeling language (definition of semantics, construction of editors, etc.) [1]. Yet, the activity of capturing a specific domain expertise in the form of a generic metamodel, is still a craft, where domain experts are the craftsmen. They look at existing practices, interact with stakeholders who build models in that domain and identify the essential concepts to describe abstractions in that domain, providing an initial metamodel. Metamodeling, is thus a labor intensive task, which is not well supported with established best practices and methodologies. Our work aims at observing previous metamodeling experiences, through rigorous empirical inquiry, in order to provide a quantified state of the practice.

We perform empirical evaluation on a wide set of metamodels, and build tool to automatically extract a set of metrics from metamodels, and to understand how OCL and MOF coexist. We analyze how both formalisms are used to define invariants in the following metamodels.

We have built an Eclipse-based environment to automatically import metamodels and compute metrics on the MOF and OCL parts. OCLMetrics, is the core tool in this environment, which implements our set of metrics for metamodeling.

The technical report can be found here.

Juan Cadavid - juan.cadavid at
Benoit Baudry - benoit.baudry at
Benoit Combemale - benoit.combemale at