Software & Systems Modeling

, Volume 12, Issue 1, pp 105–119 | Cite as

Typing artifacts in megamodeling

  • Andrés Vignaga
  • Frédéric Jouault
  • María Cecilia Bastarrica
  • Hugo Brunelière
Special Section Paper

Abstract

Model management is essential for coping with the complexity introduced by the increasing number and varied nature of artifacts involved in model-driven engineering-based projects. Global model management (GMM) addresses this issue by enabling the representation of artifacts, particularly transformation composition and execution, within a model called a megamodel. Type information about artifacts can be used for preventing type errors during execution. Built on our previous work, in this paper we present the core elements of a type system for GMM that improves its original typing approach and enables both typechecking and type inference on artifacts within a megamodel. This type system is able to deal with non-trivial situations such as the use of higher order transformations. We also present a prototypical implementation of such a type system.

Keywords

Model transformation Type system Megamodeling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    AM3 Project. Internet: http://www.eclipse.org/gmt/am3/ (2009)
  2. 2.
  3. 3.
    Barbero, M., Jouault, F., Bézivin, J.: Model driven management of complex systems: implementing the macroscopes vision. In: 15th Annual IEEE International Conference and Workshop on Engineering of Computer Based Systems (ECBS 2008), 31 March–4 April 2008, Belfast, Northern Ireland, pp. 277–286. IEEE Computer Society (2008)Google Scholar
  4. 4.
    Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model transformations? Transformation models! In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006, Genova, Italy, October 1–6, 2006, Proceedings. Lecture Notes in Computer Science, vol. 4199, pp. 440–453. Springer, New York (2006)Google Scholar
  5. 5.
    Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the large and modeling in the small. In: Aßmann, U., Aksit, M., Rensink, A. (eds.) Model Driven Architecture, European MDA Workshops: Foundations and Applications, MDAFA 2003 and MDAFA 2004, Twente, The Netherlands, June 26–27, 2003 and Linköping, Sweden, June 10–11, 2004, Revised Selected Papers. Lecture Notes in Computer Science, vol. 3599, pp. 33–46. Springer, New York (2004)Google Scholar
  6. 6.
    Cardelli, L.: Typechecking dependent types and subtypes. In: Boscarol, M., Aiello, L.C., Levi, G. (eds.) Foundations of Logic and Functional Programming, Workshop, Trento, Italy, December 15–19, 1986, Proceedings. Lecture Notes in Computer Science, vol. 306, pp. 45–57. Springer, New York (1986)Google Scholar
  7. 7.
    Cardelli L: Type Systems. In: Tucker, A.B. (eds) The Computer Science and Engineering Handbook, pp. 2208–2236. CRC Press, Boca Raton (1997)Google Scholar
  8. 8.
    Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)CrossRefGoogle Scholar
  9. 9.
    Favre, J.-M.: Towards a basic theory to model model driven engineering. In: 3rd Workshop in Software Model Engineering, Lisbon, Portugal (2004)Google Scholar
  10. 10.
    Jouault F., Allilaire F., Bézivin J., Kurtev I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1-2), 31–39 (2008)MATHCrossRefGoogle Scholar
  11. 11.
    Jouault, F., Bézivin, J.: KM3: a DSL for metamodel specification. In: Gorrieri, R., Wehrheim, H. (eds.) Formal Methods for Open Object-Based Distributed Systems, 8th IFIP WG 6.1 International Conference, FMOODS 2006, Bologna, Italy, June 14–16, 2006, Proceedings. Lecture Notes in Computer Science, vol. 4037, pp. 171–185. Springer, New York (2006)Google Scholar
  12. 12.
    Jouault F., Kurtev I.: Transforming models with ATL. In: Bruel, J.-M. (eds) MoDELS Satellite Events. Lecture Notes in Computer Science, vol. 3844, pp. 128–138. Springer, New York (2005)Google Scholar
  13. 13.
    Luo, Z.: An extended calculus of constructions. Ph.D. Thesis, University of Edinburgh (1990)Google Scholar
  14. 14.
    MacQueen, D.B.: Using dependent types to express modular structure. In: Thirteenth Annual ACM Symposium on Principles of Programming Languages, pp. 277–286. St. Petersburg Beach, Florida, January 1986Google Scholar
  15. 15.
    MODELPLEX IST-FP6 European Project: https://www.modelplex-ist.org/ (2009)
  16. 16.
    ModelPlex Project: Deliverable D2.13.b: Model Management Supporting Tool. https://www.modelplex.org//index.php?option=com_remository&Itemid=%0&func=startdown&id=183. March 2009
  17. 17.
  18. 18.
    Paulin-Mohring, C.: Le Système Coq. Thèse d’habilitation. ENS Lyon (1997)Google Scholar
  19. 19.
    Plotkin G.D.: Call-by-name, call-by-value and the λ-calculus. Theor. Comput. Sci. 1(2), 125–159 (1975)MathSciNetMATHCrossRefGoogle Scholar
  20. 20.
    Poernomo, I.: A type theoretic framework for formal metamodelling. In: Reussner R.H., Stafford J.A., Szyperski C.A. (eds.) Architecting Systems with Trustworthy Components, International Seminar, Dagstuhl Castle, Germany, December 12–17, 2004. Revised Selected Papers,. Lecture Notes in Computer Science, vol. 3938, pp. 262–298. Springer, New York (2006)Google Scholar
  21. 21.
    Rivera, J.E., Ruiz-González, D., López-Romero, F., Vallecillo, A.: Orchestrating ATL model transformations. In: Jouault, F. (ed.) 1st International Workshop on Model Transformation with ATL, MtATL 2009, pp. 34–46, Nantes, France, Proceedings, July 8–9, 2009Google Scholar
  22. 22.
    Steel J., Jézéquel J.-M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)CrossRefGoogle Scholar
  23. 23.
    The Coq Proof Assistant Reference Manual: Version 8.2. http://coq.inria.fr/doc-eng.html (2009)
  24. 24.
    Vanhooff, B., Ayed, D., Baelen, S.V., Joosen W., Berbers, Y.: UniTI: a unified transformation infrastructure. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F.(eds.) Model Driven Engineering Languages and Systems, 10th International Conference, MoDELS 2007, Nashville, USA, September 30–October 5, 2007, Proceedings. Lecture Notes in Computer Science, vol. 4735, pp. 31–45. Springer, New York (2007)Google Scholar
  25. 25.
    Vignaga, A.: Typing textual entities and M2T/T2M transformations in a model management environment. In: Arenas, M., Bustos, B. (eds.) 2009 International Conference of the Chilean Computer Science Society, pp. 115–122. IEEE Computer Society (2009)Google Scholar
  26. 26.
    Vignaga, A., Bastarrica, M.C.: Verification of megamodel manipulations involving weaving models. Technical Report TR/DCC-2009-9. Universidad de Chile, Computer Science Department, October 2009Google Scholar
  27. 27.
    Vignaga, A., Jouault, F., Bastarrica, M.C., Brunelière, H.: Typing in model management. In: Paige, R.F. (ed.) Theory and Practice of Model Transformations. Proceedings of Second International Conference, ICMT 2009, Zurich, Switzerland, June 29–30, 2009. Lecture Notes in Computer Science, vol. 5563, pp. 197–212. Springer, New York (2009)Google Scholar
  28. 28.
    Werner, B.: Une Théorie des constructions inductives. Thèse de doctorat, Université Paris 7 (1994)Google Scholar
  29. 29.
    Willink E.D.: OMELET: exploiting meta-models as type systems. In: Akehurst, D.H. (eds) 2nd European Workshop on MDA, pp. 160–164. University of Kent, Canterbury (2004)Google Scholar
  30. 30.
    Wright A.K., Felleisen M.: A syntactic approach to type soundness. Inf. Comput. 115(1), 38–94 (1994)MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Andrés Vignaga
    • 1
  • Frédéric Jouault
    • 2
  • María Cecilia Bastarrica
    • 1
  • Hugo Brunelière
    • 2
  1. 1.MaTE, Department of Computer ScienceUniversidad de ChileSantiagoChile
  2. 2.AtlanMod, INRIA Rennes Center, Bretagne Atlantique, Ecole des Mines de NantesNantesFrance

Personalised recommendations