Ten years of Meta-Object Facility: an Analysis of Metamodeling Practices

The definition of a metamodel that precisely captures domain knowledge for effective know-how capitalization is a challenging task. A major obstacle for domain experts who want to build a metamodel is that they must master two radically different languages: an object-oriented, MOF-compliant, modeling language to capture the domain structure and first order logic (the Object Constraint Language) for the definition of well-formedness rules. However, there are no guidelines or tools to assist the conjunct usage of both paradigms. Consequently, we observe that most metamodels have only an object-oriented domain structure, leading to inaccurate metamodels. In this paper, we perform the first empirical study, which analyzes the current state of practice in metamodels that actually use logical expressions to constrain the structure. We analyze 33 metamodels including 1262 rules coming from industry, academia and the Object Management Group, to understand how metamodelers articulate both languages. We implement a set of metrics in the OCLMetrics tool to evaluate the complexity of both parts, as well as the coupling between both. We observe that all metamodels tend to have a small, core subset of concepts, which are constrained by most of the rules, in general the rules are loosely coupled to the structure and we identify the set of OCL constructs actually used in rules.

[1]  Jorge J. Gómez-Sanz,et al.  FAML: A Generic Metamodel for MAS Development , 2009, IEEE Transactions on Software Engineering.

[2]  Jean-Marc Jézéquel,et al.  Meta-model Pruning , 2009, MoDELS.

[3]  Daniel Jackson,et al.  Some Shortcomings of OCL, the Object Constraint Language of UML , 2000, TOOLS.

[4]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[5]  Janos Sztipanovits,et al.  A MOF-Based Metamodeling Environment , 2004, J. Univers. Comput. Sci..

[6]  Juha Kärnä,et al.  Evaluating the Use of Domain-Specific Modeling in Practice , 2009 .

[7]  Martin Gogolla,et al.  A Benchmark for OCL Engine Accuracy, Determinateness, and Efficiency , 2008, MoDELS.

[8]  Gabor Karsai,et al.  Design Guidelines for Domain Specific Languages , 2014, ArXiv.

[9]  James Skene,et al.  Specifications, not meta-models , 2006, GaMMa '06.

[10]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[11]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[12]  Michel R. V. Chaudron,et al.  Managing Model Quality in UML-Based Software Development , 2005, 13th IEEE International Workshop on Software Technology and Engineering Practice (STEP'05).

[13]  Nenad Medvidovic,et al.  A Methodology and Framework for Creating Domain-Specific Development Infrastructures , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[14]  Juha-Pekka Tolvanen,et al.  MetaEdit+: defining and using integrated domain-specific modeling languages , 2009, OOPSLA Companion.

[15]  James F. Power,et al.  On the application of software metrics to UML models , 2006, MoDELS'06.

[16]  Christian Hein,et al.  Generation of Formal Model Metrics for MOF based Domain Specific Languages , 2009, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[17]  Benoît Combemale,et al.  Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification , 2009, J. Softw..

[18]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[19]  Jean-Marc Jézéquel,et al.  Automated measurement of models of requirements , 2011, Software Quality Journal.

[20]  Houari A. Sahraoui,et al.  Searching the Boundaries of a Modeling Space to Test Metamodels , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[21]  Richard F. Paige,et al.  On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages , 2009, Rigorous Methods for Software Construction and Analysis.

[22]  Aline Lúcia Baroni Quantitative assessment of UML dynamic models , 2005, ESEC/FSE-13.

[23]  Yves Le Traon,et al.  Inquiring the usage of aspect-oriented programming: An empirical study , 2009, 2009 IEEE International Conference on Software Maintenance.

[24]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[25]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[26]  Jean-Marc Jézéquel,et al.  Model-driven generative development of measurement software , 2010, Software & Systems Modeling.