Abstract
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.
Similar content being viewed by others
Notes
This paper is an extended version of the work presented in [7].
Our definition differs from others as we allow edges to also act as types.
References
Clark, T., Evans, A., Kent, S.: The metamodelling language calculus: foundation semantics for UML. In: FASE, pp. 17–31 (2001)
Jouault, F., Bézivin, J.: KM3: a DSL for metamodel specification. In: FMOODS, pp. 171–185 (2006)
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)
Alanen, M., Porres, I.: A metamodeling language supporting subset and union properties. Softw. Syst. Model. 7(1), 103–124 (2008)
Boronat, A., Meseguer, J.: An algebraic semantics for MOF. Formal Asp. Comput. 22(3–4), 269–296 (2010)
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)
Jackson, E.K., Levendovszky, T., Balasubramanian, D.: Reasoning about metamodeling with formal specifications and automatic proofs. In: MoDELS, pp. 653–667 (2011)
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)
Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: UML, pp. 19–33 (2001)
Dantsin, E., Eiter, T., Gottlob, G., Voronkov, A.: Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3), 374–425 (2001)
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)
Varró, D.: Automated formal verification of visual modeling languages by model checking. Softw. Syst. Model. 3(2), 85–113 (2004)
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: MODELS, pp. 436–450 (2007)
Torlak, E., Jackson, D.: Kodkod: a relational model finder. In: TACAS, pp. 632–647 (2007)
Kuhlmann, M., Gogolla, M.: From uml and ocl to relational logic and back. In: MoDELS, pp. 415–431 (2012)
Kuhlmann, M., Gogolla, M.: Strengthening sat-based validation of uml/ocl models by representing collections as relations. In: ECMFA, pp. 32–48 (2012)
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)
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)
Balaban, M., Kifer, M.: Logic-based model-level software development with f-oml. In: MoDELS, pp. 517–532 (2011)
Gurevich, Y., Neeman, I.: Dkal: distributed-knowledge authorization language. In: CSF, pp. 149–162 (2008)
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)
de Moura, L.M., Bjørner, N.: Z3: An efficient smt solver. In: TACAS, pp. 337–340 (2008)
Büttner, F., Egea, M., Cabot, J.: On verifying atl transformations using ’off-the-shelf’ smt solvers. In: MoDELS, pp. 432–448 (2012)
Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Softw. Syst. Model. 8(4), 479–500 (2009)
Grönniger, H., Ringert, J.O., Rumpe, B.: System model-based definition of modeling language semantics. In: FMOODS/FORTE, pp. 152–166 (2009)
Mendonça, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: SPLC, pp. 231–240 (2009)
Jackson, E.K., Sztipanovits, J.: Constructive techniques for meta- and model-level reasoning. In: MODELS, pp. 405–419 (2007)
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)
Lifschitz, V.: Twelve definitions of a stable model. In: ICLP, pp. 37–51 (2008)
Jackson, E.K., Bjørner, N., Schulte, W.: Canonical regular types. In: ICLP (technical communications), pp. 73–83 (2011)
Sheeran, M., Singh, S., Stålmarck, G.: Checking safety properties using induction and a sat-solver. In: FMCAD, pp 108–125 (2000)
Bjørner, N., Hoder, K.: Generalized property directed reachability. In: SAT (2012)
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)
Object Management Group: Meta object facility (MOF) core specification version 2.4 (2010)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Tony Clark and Prof. Jon Whittle.
Rights and permissions
About this article
Cite this article
Jackson, E.K., Levendovszky, T. & Balasubramanian, D. Automatically reasoning about metamodeling. Softw Syst Model 14, 271–285 (2015). https://doi.org/10.1007/s10270-013-0315-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-013-0315-y