Abstract
Modeling languages raise the abstraction level at which software is built by providing a set of constructs tailored to the needs of their users. Metamodels define their constructs and thereby reflect the expectations of the language developers about the use of the language. In practice, language users often do not use the constructs provided by a metamodel as expected by language developers. In this paper, we advocate that insights about how constructs are used can offer language developers useful information for improving the metamodel. We define a set of usage and improvement patterns to characterize the use of the metamodel by the built models. We present our experience with the analysis of the usage of seven metamodels (EMF, GMF, UNICASE) and a large corpus of models. Our empirical investigation shows that we identify mismatches between the expected and actual use of a language that are useful for metamodel improvements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Atkinson, C., Kühne, T.: A tour of language customization concepts. Advances in Computers 70, 105–161 (2007)
Bosch, J.: Design patterns as language constructs. JOOP - Journal of Object-Oriented Programming 11(2), 18–32 (1998)
Gil, J., Maman, I.: Micro patterns in Java code. In: OOPSLA 2005: Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 97–116. ACM, New York (2005)
Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Reading (2009)
Hage, J., van Keeken, P.: Neon: A library for language usage analysis. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 35–53. Springer, Heidelberg (2009)
Henderson-Sellers, B., Gonzalez-Perez, C.: Uses and abuses of the stereotype mechanism in UML 1.x and 2.0. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 16–26. Springer, Heidelberg (2006)
Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE - automating coupled evolution of metamodels and models. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 52–76. Springer, Heidelberg (2009)
Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schindler, M., Völkl, S.: Design guidelines for domain specific languages. In: The 9th OOPSLA Workshop on Domain-Specific Modeling (2009)
Kelly, S., Pohjonen, R.: Worst practices for domain-specific modeling. IEEE Software 26(4), 22–29 (2009)
Lämmel, R., Kitsis, S., Remy, D.: Analysis of XML schema usage. In: Conference Proceedings XML 2005 (November 2005)
Lämmel, R., Pek, E.: Vivisection of a non-executable, domain-specific language; understanding (the usage of) the P3P language. In: ICPC 2010: 18th International Conference on Program Comprehension. IEEE, Los Alamitos (2010)
Lange, C.F.J., DuBois, B., Chaudron, M.R.V., Demeyer, S.: An experimental investigation of UML modeling conventions. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 27–41. Springer, Heidelberg (2006)
Li, X., Shannon, D., Walker, J., Khurshid, S., Marinov, D.: Analyzing the uses of a software modeling tool. In: LDTA 2006: 6th Workshop on Language Descriptions, Tools, and Applications, pp. 3–18. Elsevier, Amsterdam (2006)
Object Management Group: Meta Object Facility (MOF) core specification version 2.0 (2006), http://www.omg.org/spec/MOF/2.0/
Paige, R.F., Ostroff, J.S., Brooke, P.J.: Principles for modeling language design. Information and Software Technology 42(10), 665–675 (2000)
Sen, S., Moha, N., Baudry, B., Jézéquel, J.-M.: Meta-model pruning. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 32–46. Springer, Heidelberg (2009)
Singer, J., Brown, G., Lujan, M., Pocock, A., Yiapanis, P.: Fundamental nano-patterns to characterize and classify java methods. In: LDTA 2009: 9th Workshop on Language Descriptions, Tools and Applications, pp. 204–218 (2009)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0. Addison-Wesley, Reading (2009)
Tolvanen, J.P.: Incremental Method Engineering with Modeling Tools: Theoretical Principles and Empirical Evidence. Ph.D. thesis, University of Jyväskylä (1998)
Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Herrmannsdoerfer, M., Ratiu, D., Koegel, M. (2011). Metamodel Usage Analysis for Identifying Metamodel Improvements. In: Malloy, B., Staab, S., van den Brand, M. (eds) Software Language Engineering. SLE 2010. Lecture Notes in Computer Science, vol 6563. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19440-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-19440-5_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19439-9
Online ISBN: 978-3-642-19440-5
eBook Packages: Computer ScienceComputer Science (R0)