A Constructive Approach to Testing Model Transformations

  • Camillo Fiorentini
  • Alberto Momigliano
  • Mario Ornaghi
  • Iman Poernomo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6142)

Abstract

This paper concerns a formal encoding of the Object Management Group’s Complete Meta-Object Facility (CMOF) in order to provide a more trustworthy software development lifecycle for Model Driven Architecture (MDA). We show how a form of constructive logic can be used to provide a uniform semantics of metamodels, model transformation specifications, model transformations and black-box transformation tests. A model’s instantiation of a metamodel within the MOF is treated using the logic’s realizability relationship, a kind of type inhabitation relationship that is expressive enough to characterize constraint conformance between terms and types. These notions enable us to formalize the notion of a correct model instantiation of a metamodel with constraints. We then adapt previous work on snapshot generation to generate input models from source metamodel specification with the purpose of testing model transformations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and System Modeling 9(1), 69–86 (2010)CrossRefGoogle Scholar
  2. 2.
    Aydal, E.G., Utting, M., Woodcock, J.: A comparison of state-based modelling tools for model validation. In: Paige, R.F., Meyer, B. (eds.) TOOLS (46). Lecture Notes in Business Information Processing, vol. 11, pp. 278–296. Springer, Heidelberg (2008)Google Scholar
  3. 3.
    Baudry, B., Dinh-Trong, T., Mottu, J.-M., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Traon, Y.L.: Model transformation testing challenges. In: ECMDA workshop on Integration of Model Driven Development and Model Driven Testing (2006)Google Scholar
  4. 4.
    Bézivin, J., Rumpe, B., Schürr, A., Tratt, L.: Model transformations in practice workshop. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 120–127. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Software and System Modeling 8(4), 479–500 (2009)CrossRefGoogle Scholar
  6. 6.
    Ferrari, M., Fiorentini, C., Momigliano, A., Ornaghi, M.: Snapshot generation in a constructive object-oriented modeling language. In: King, A. (ed.) LOPSTR 2007. LNCS, vol. 4915, pp. 169–184. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Fleury, F., Steel, J., Baudry, B.: Validation in model-driven engineering: Testing model transformations. In: MoDeVa 2004 (Model Design and Validation Workshop associated to ISSRE 2004), Rennes, France (November 2004)Google Scholar
  8. 8.
    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. Software and System Modeling 4(4), 386–398 (2005)CrossRefGoogle Scholar
  9. 9.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)Google Scholar
  10. 10.
    Jackson, E., Sztipanovits, J.: Formalizing the structural semantics of domain-specific modeling languages. Software and Systems Modeling (2009)Google Scholar
  11. 11.
    Königs, A., Schürr, A.: Multi-domain integration with MOF and extended triple graph grammars. In: Bezivin, J., Heckel, R. (eds.) Dagstuhl Seminar Proceedings Language Engineering for Model-Driven Software Development, Dagstuhl, Germany. No. 04101 (2005)Google Scholar
  12. 12.
    Miglioli, P., Moscato, U., Ornaghi, M., Usberti, G.: A constructivism based on classical truth. Notre Dame Journal of Formal Logic 30(1), 67–90 (1989)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Ornaghi, M., Benini, M., Ferrari, M., Fiorentini, C., Momigliano, A.: A constructive object oriented modeling language for information systems. ENTCS 153(1), 67–90 (2006)Google Scholar
  14. 14.
    Poernomo, I.: Proofs-as-model-transformations. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 214–228. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Sen, S., Baudry, B., Mottu, J.-M.: On combining multi-formalism knowledge to select models for model transformation testing. In: ICST, pp. 328–337. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  16. 16.
    Sen, S., Baudry, B., Mottu, J.-M.: Automatic model generation strategies for model transformation testing. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 148–164. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    Traon, Y.L., Baudry, B., Jezequel, J.-M.: Design by contract to improve software vigilance. IEEE Trans. Softw. Eng. 32(8), 571–586 (2006)CrossRefGoogle Scholar
  18. 18.
    Troelstra, A.S.: Realizability. In: Buss, S.R. (ed.) Handbook of Proof Theory, ch. 4, pp. 407–473. Elsevier, Amsterdam (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Camillo Fiorentini
    • 1
  • Alberto Momigliano
    • 1
  • Mario Ornaghi
    • 1
  • Iman Poernomo
    • 2
  1. 1.Dipartimento di Scienze dell’InformazioneUniversità degli Studi di MilanoItaly
  2. 2.Department of Computer ScienceKing’s College London, StrandLondonUK

Personalised recommendations