Software & Systems Modeling

, Volume 14, Issue 1, pp 271–285 | Cite as

Automatically reasoning about metamodeling

  • Ethan K. Jackson
  • Tihamer Levendovszky
  • Daniel Balasubramanian
Special Section Paper


Metamodeling is foundational to many modeling frameworks, and so it is important to formalize and reason about it. Ideally, correctness proofs and test-case generation on the metamodeling framework should be automatic. However, it has yet to be shown that extensive automated reasoning on metamodeling frameworks can be achieved. In this paper, we present one approach to this problem: metamodeling frameworks are specified modularly using algebraic data types and constraint logic programming (CLP). Proofs and test-case generation are encoded as open world query operations and automatically solved.


Metamodeling Formal specifications Automated analysis 


  1. 1.
    Clark, T., Evans, A., Kent, S.: The metamodelling language calculus: foundation semantics for UML. In: FASE, pp. 17–31 (2001)Google Scholar
  2. 2.
    Jouault, F., Bézivin, J.: KM3: a DSL for metamodel specification. In: FMOODS, pp. 171–185 (2006)Google Scholar
  3. 3.
    Varró, D., Pataricza, A.: VPM: a visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. J. Softw. Syst. Model. 2(3), 187–210 (2003)CrossRefGoogle Scholar
  4. 4.
    Alanen, M., Porres, I.: A metamodeling language supporting subset and union properties. Softw. Syst. Model. 7(1), 103–124 (2008)CrossRefGoogle Scholar
  5. 5.
    Boronat, A., Meseguer, J.: An algebraic semantics for MOF. Formal Asp. Comput. 22(3–4), 269–296 (2010)CrossRefMATHGoogle Scholar
  6. 6.
    Jackson, E.K., Kang, E., Dahlweid, M., Seifert, D., Santen, T.: Components, platforms and possibilities: towards generic automation for MDA. In: EMSOFT, pp. 39–48 (2010)Google Scholar
  7. 7.
    Jackson, E.K., Levendovszky, T., Balasubramanian, D.: Reasoning about metamodeling with formal specifications and automatic proofs. In: MoDELS, pp. 653–667 (2011)Google Scholar
  8. 8.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of algebraic graph transformation (monographs in theoretical computer science). An EACTS series. Springer, New York (2006)Google Scholar
  9. 9.
    Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: UML, pp. 19–33 (2001)Google Scholar
  10. 10.
    Dantsin, E., Eiter, T., Gottlob, G., Voronkov, A.: Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3), 374–425 (2001)CrossRefGoogle Scholar
  11. 11.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: specification and programming in rewriting logic. Theor. Comput. Sci. 285(2), 187–243 (2002)CrossRefMATHGoogle Scholar
  12. 12.
    Varró, D.: Automated formal verification of visual modeling languages by model checking. Softw. Syst. Model. 3(2), 85–113 (2004)CrossRefGoogle Scholar
  13. 13.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: MODELS, pp. 436–450 (2007)Google Scholar
  14. 14.
    Torlak, E., Jackson, D.: Kodkod: a relational model finder. In: TACAS, pp. 632–647 (2007)Google Scholar
  15. 15.
    Kuhlmann, M., Gogolla, M.: From uml and ocl to relational logic and back. In: MoDELS, pp. 415–431 (2012)Google Scholar
  16. 16.
    Kuhlmann, M., Gogolla, M.: Strengthening sat-based validation of uml/ocl models by representing collections as relations. In: ECMFA, pp. 32–48 (2012)Google Scholar
  17. 17.
    Büttner, F., Egea, M., Cabot, J., Gogolla, M.: Verification of atl transformations using transformation models and model finders. In: ICFEM, pp. 198–213 (2012)Google Scholar
  18. 18.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)CrossRefGoogle Scholar
  19. 19.
    Balaban, M., Kifer, M.: Logic-based model-level software development with f-oml. In: MoDELS, pp. 517–532 (2011)Google Scholar
  20. 20.
    Gurevich, Y., Neeman, I.: Dkal: distributed-knowledge authorization language. In: CSF, pp. 149–162 (2008)Google Scholar
  21. 21.
    Alvaro, P., Condie, T., Conway, N., Elmeleegy, K., Hellerstein, J.M., Sears, R.: Boom analytics: exploring data-centric, declarative programming for the cloud. In: EuroSys, pp. 223–236 (2010)Google Scholar
  22. 22.
    de Moura, L.M., Bjørner, N.: Z3: An efficient smt solver. In: TACAS, pp. 337–340 (2008)Google Scholar
  23. 23.
    Büttner, F., Egea, M., Cabot, J.: On verifying atl transformations using ’off-the-shelf’ smt solvers. In: MoDELS, pp. 432–448 (2012)Google Scholar
  24. 24.
    Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Softw. Syst. Model. 8(4), 479–500 (2009)CrossRefGoogle Scholar
  25. 25.
    Grönniger, H., Ringert, J.O., Rumpe, B.: System model-based definition of modeling language semantics. In: FMOODS/FORTE, pp. 152–166 (2009)Google Scholar
  26. 26.
    Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: SPLC, pp. 231–240 (2009)Google Scholar
  27. 27.
    Jackson, E.K., Sztipanovits, J.: Constructive techniques for meta- and model-level reasoning. In: MODELS, pp. 405–419 (2007)Google Scholar
  28. 28.
    Jaffar, J., Maher, M.J., Marriott, K., Stuckey, P.J.: The semantics of constraint logic programs. J. Log. Program. 37(1–3), 1–46 (1998)CrossRefMATHMathSciNetGoogle Scholar
  29. 29.
    Lifschitz, V.: Twelve definitions of a stable model. In: ICLP, pp. 37–51 (2008)Google Scholar
  30. 30.
    Jackson, E.K., Bjørner, N., Schulte, W.: Canonical regular types. In: ICLP (technical communications), pp. 73–83 (2011)Google Scholar
  31. 31.
    Sheeran, M., Singh, S., Stålmarck, G.: Checking safety properties using induction and a sat-solver. In: FMCAD, pp 108–125 (2000)Google Scholar
  32. 32.
    Bjørner, N., Hoder, K.: Generalized property directed reachability. In: SAT (2012) Google Scholar
  33. 33.
    Ball, T., Bjørner, N., de Moura, L.M., McMillan, K.L., Veanes, M.: Beyond first-order satisfaction: Fixed points, interpolants, automata and polynomials. In: SPIN, pp. 1–6 (2012)Google Scholar
  34. 34.
    Object Management Group: Meta object facility (MOF) core specification version 2.4 (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Ethan K. Jackson
    • 1
  • Tihamer Levendovszky
    • 2
  • Daniel Balasubramanian
    • 2
  1. 1.Microsoft ResearchRedmondUSA
  2. 2.Vanderbilt UniversityNashvilleUSA

Personalised recommendations