Software & Systems Modeling

, Volume 14, Issue 4, pp 1323–1347 | Cite as

Example-driven meta-model development

  • Jesús J. López-Fernández
  • Jesús Sánchez Cuadrado
  • Esther Guerra
  • Juan de Lara
Special Section Paper


The intensive use of models in model-driven engineering (MDE) raises the need to develop meta-models with different aims, such as the construction of textual and visual modelling languages and the specification of source and target ends of model-to-model transformations. While domain experts have the knowledge about the concepts of the domain, they usually lack the skills to build meta-models. Moreover, meta-models typically need to be tailored according to their future usage and specific implementation platform, which demands knowledge available only to engineers with great expertise in specific MDE platforms. These issues hinder a wider adoption of MDE both by domain experts and software engineers. In order to alleviate this situation, we propose an interactive, iterative approach to meta-model construction, enabling the specification of example model fragments by domain experts, with the possibility of using informal drawing tools like Dia or yED. These fragments can be annotated with hints about the intention or needs for certain elements. A meta-model is then automatically induced, which can be refactored in an interactive way, and then compiled into an implementation meta-model using profiles and patterns for different platforms and purposes. Our approach includes the use of a virtual assistant, which provides suggestions for improving the meta-model based on well-known refactorings, and a validation mode, enabling the validation of the meta-model by means of examples.


Meta-modelling Domain-specific modelling languages Interactive meta-modelling Meta-model induction Example-driven modelling Meta-model design exploration Meta-model validation 



We thank the referees for their detailed and useful comments. This work has been funded by the Spanish Ministry of Economy and Competitivity with project “Go Lite” (TIN2011-24139), and by the R&D programme of Madrid Region with project “eMadrid” (S2009/TIC-1650).


  1. 1.
    Aguilera, D., García-Ranea, R., Gómez, C., Olivé, A.: An eclipse plugin for validating names in UML conceptual schemas. In: ER Workshops, Volume 6999 of LNCS, pp. 323–327. Springer, Berlin (2011)Google Scholar
  2. 2.
    Aguilera, D., Gómez, C., Olivé, A.: A method for the definition and treatment of conceptual schema quality issues. In: ER, Volume 7532 of LNCS, pp. 501–514. Springer, Berlin (2012)Google Scholar
  3. 3.
    Antkiewicz, M., Bak, K., Czarnecki, K., Diskin, Z., Zayan, D., Wasowski, A.: Example-driven modeling using clafer. In: MDEBE’2013. CEUR (2013)Google Scholar
  4. 4.
    Bak, K., Zayan, D., Czarnecki, K., Antkiewicz, M., Diskin, Z., Wasowski, A., Rayside D.: Example-driven modeling: Model = abstractions + examples. In: ICSE, pp. 1273–1276. IEEE ACM (2013)Google Scholar
  5. 5.
    Baldwin, C.Y., Clark, K.B.: Design Rules: The Power of Modularity, vol. 1. The MIT Press, Cambridge, MA (2000)Google Scholar
  6. 6.
    Barker, R.: Case*Method: Entity Relationship Modelling. Addison-Wesley Professional, Reading, MA (1990)Google Scholar
  7. 7.
    Beck, K.: Simple smalltalk testing: with patterns. Tech. Rep .4(2), The Smalltalk Reports (1994)Google Scholar
  8. 8.
    Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)CrossRefGoogle Scholar
  9. 9.
    Cabot, J., Pau, R., Raventós, R.: From UML/OCL to SBVR specifications: a challenging transformation. Inf. Syst. 35(4), 417–440 (2010)CrossRefGoogle Scholar
  10. 10.
    Cho, H., Gray, J.: Design patterns for metamodels. In: SPLASH Workshops, pp. 25–32. ACM (2011)Google Scholar
  11. 11.
    Cho, H., Gray, J., Syriani, E.: Creating visual domain-specific modeling languages from end-user demonstration. In: MiSE’12 (2012)Google Scholar
  12. 12.
    Cho, H., Sun, Y., Gray, J., White J.: Key challenges for modeling language creation by demonstration. In: ICSE’11 Workshop on Flexible Modeling Tools (2011)Google Scholar
  13. 13.
    Cicchetti, A., di Ruscio, D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven, engineering. In: EDOC’08, pp. 222–231 (2008)Google Scholar
  14. 14.
    Cicchetti, A., di Ruscio, D., Pierantonio, A.: Managing model conflicts in distributed development. In: MODELS’08, Volume 5301 of LNCS, pp. 311–325. Springer, Berlin (2008)Google Scholar
  15. 15.
    Cicchetti, A., di Ruscio, D., Pierantonio, A., Kolovos, D.: A test-driven approach for metamodel development. In: Emerging Technologies for the Evolution and Maintenance of Software Models, pp. 319–342. IGI Global (2012)Google Scholar
  16. 16.
    Cuadrado, J.S., de Lara, J., Guerra, E.: Bottom-up meta-modelling: an interactive approach. In: MoDELS, Volume 7590 of LNCS, pp. 3–19. Springer, Berlin (2012)Google Scholar
  17. 17.
    Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order, 2nd edn. Cambridge University Press, Cambridge, MA (2002)zbMATHCrossRefGoogle Scholar
  18. 18.
    Davis, R.: Magic paper: sketch-understanding research. Computer 40(9), 34–41 (2007)CrossRefGoogle Scholar
  19. 19.
    Dawson, L.: A social-creative-cognitive (scc) model for requirements engineering. In: ISD (2012)Google Scholar
  20. 20.
    de Lara, J., Guerra, E.: Deep meta-modelling with MetaDepth. In: TOOLS’10, Volume 6141 of LNCS, pp. 1–20. Springer, Berlin (2010)Google Scholar
  21. 21.
    de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. Softw. Syst. Model. 12(3), 453–474 (2013)CrossRefGoogle Scholar
  22. 22.
    Deeptimahanti, D.K., Babar, M.A.: An automated tool for generating uml models from natural language requirements. In: ASE, pp. 680–682. IEEE Computer Society (2009)Google Scholar
  23. 23.
    Dingel, J., Diskin, Z., Zito, A.: Understanding and improving UML package merge. Softw. Syst. Model. 7(4), 443–467 (2008)CrossRefGoogle Scholar
  24. 24.
    Diskin, Z.: Mathematics of UML: making the Odysseys of UML less dramatic. In: Kilov, H., Baclawski, K. (eds.) Practical Foundations of Business System Specifications, pp. 145–178. Springer, Netherlands (2003)CrossRefGoogle Scholar
  25. 25.
    Diskin, Z., Kadish, B., Piessens, F., Johnson, M.: Universal arrow foundations for visual modeling. In: Diagrams, Volume 1889 of LNCS, pp. 345–360. Springer, Berlin (2000)Google Scholar
  26. 26.
    Dyck, A., Ganser, A., Lichter, H.: Model recommenders for command-enabled editors. In: MDEBE’2013. CEUR (2013)Google Scholar
  27. 27.
    Edwards, J.: Example centric programming. SIGPLAN Not. 39(12):84–91 (2004)Google Scholar
  28. 28.
    Egyed, A.: Automatically detecting and tracking inconsistencies in software design models. IEEE Trans. Softw. Eng. 37(2), 188–204 (2011)CrossRefGoogle Scholar
  29. 29.
    Elaasar, M., Briand, L.C., Labiche, Y.: Domain-specific model verification with QVT. In: ECMFA, Volume 6698 of LNCS, pp. 282–298. Springer, Berlin (2011). See also
  30. 30.
    Fowler, M.: Refactoring. Improving the Design of Existing Code. Addison-Wesley, Reading, MA (1999)Google Scholar
  31. 31.
    Freeman, S., Pryce, N.: Growing Object-Oriented Software, Guided by Tests, 1st edn. Addison-Wesley Professional, Reading, MA (2009)Google Scholar
  32. 32.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, MA (1994)Google Scholar
  33. 33.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit, 1st edn. Addison-Wesley Professional, Reading, MA (2009). See also
  34. 34.
    Izquierdo, J.L.C., Cabot, J.: Enabling the collaborative definition of DSMLs. In: CAiSE, Volume 7908 of LNCS, pp. 272–287. Springer, Berlin (2013)Google Scholar
  35. 35.
    Izquierdo, J.L.C., Cabot, J., López-Fernández, J.J., Cuadrado, J.S., Guerra, E., de Lara, J.: Engaging end-users in the collaborative development of domain-specific modelling languages. In: CDVE, Volume 8091 of LNCS, pp. 101–110. Springer, Berlin (2013)Google Scholar
  36. 36.
    Javed, F., Mernik, M., Gray, J., Bryant, B.R.: MARS: a metamodel recovery system using grammar inference. Inf. Softw. Technol. 50(9–10), 948–968 (2008)CrossRefGoogle Scholar
  37. 37.
    Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schneider, M., Völkel, S.: Design guidelines for domain specific languages. In: DSM’09, pp. 7–13 (2009)Google Scholar
  38. 38.
    Kelly, S., Pohjonen, R.: Worst practices for domain-specific modeling. IEEE Softw. 26(4), 22–29 (2009)CrossRefGoogle Scholar
  39. 39.
    Kolovos, D.S., Rose, L.M., Abid, S.B., Paige, R.F., Polack, F.A.C., Botterweck G.: Taming EMF and GMF using model transformation. In: MODELS’10, Volume 6394 of LNCS, pp. 211–225. Springer, Berlin (2010)Google Scholar
  40. 40.
    Liquiere, M., Sallantin, J.: Structural machine learning with galois lattice and graphs. In: ICML’98, pp. 305–313. Morgan Kaufmann, Los Altos, CA (1998)Google Scholar
  41. 41.
    Maoz, S., Ringert, J.O., Rumpe, B.: Modal object diagrams. In: ECOOP, Volume 6813 of LNCS, pp. 281–305. Springer, Berlin (2011)Google Scholar
  42. 42.
    Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002)CrossRefGoogle Scholar
  43. 43.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRefGoogle Scholar
  44. 44.
    Metamodel refactorings.
  45. 45.
    Nierstrasz, O.: Ten things I hate about object-oriented programming. J. Object Technol. 9(5), (2010)Google Scholar
  46. 46.
    OMG. UML 2.4.1 specification.
  47. 47.
    Paige, R.F., Brooke, P.J., Ostroff, J.S.: Specification-driven development of an executable metamodel in Eiffel. In: WISME’04 (2004)Google Scholar
  48. 48.
    Perera, R.: First-order interactive programming. In: PADL’10, Volume 5937 of LNCS, pp. 186–200. Springer, Berlin (2010) Google Scholar
  49. 49.
    Sadilek D. A., Weißleder S.: Towards automated testing of abstract syntax specifications of domain-specific modeling languages. In: Volume 324 of CEUR Workshop Proceedings, pp. 21–29. (2008)Google Scholar
  50. 50.
    Schäfer, C., Kuhn, T., Trapp, M.: A pattern-based approach to DSL development. In: DSM’11, pp. 39–46 (2011)Google Scholar
  51. 51.
    Shneiderman, B., Plaisant, C.: Designing the User Interface—Strategies for Effective Human-Computer Interaction, 5th edn. Addison-Wesley, Reading, MA (2010)Google Scholar
  52. 52.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading, MA (2008)Google Scholar
  53. 53.
    Voelter, M.: DSL Engineering—Designing, Implementing and Using Domain-Specific Languages. CreateSpace (2013)Google Scholar
  54. 54.
    Wenyin, L., Zhang, W., Yan, L.: An interactive example-driven approach to graphics recognition in engineering drawings. IJDAR 9(1), 13–29 (2007)CrossRefGoogle Scholar
  55. 55.
    Wirfs-Brock, R., Wiener, L.R., Wilkerson, B.: Designing object-oriented software. Prentice Hall, Englewood Cliffs, NJ (1990)Google Scholar
  56. 56.
    Wüest, D., Glinz, M.: Flexible sketch-based requirements modeling. In: REFSQ, Volume 6606 of LNCS, pp. 100–105. Springer, Berlin (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Jesús J. López-Fernández
    • 1
  • Jesús Sánchez Cuadrado
    • 1
  • Esther Guerra
    • 1
  • Juan de Lara
    • 1
  1. 1.Computer Science DepartmentUniversidad Autónoma de MadridMadridSpain

Personalised recommendations