Model-Driven Engineering and Optimizing Compilers: A Bridge Too Far?

  • Antoine Floch
  • Tomofumi Yuki
  • Clement Guy
  • Steven Derrien
  • Benoit Combemale
  • Sanjay Rajopadhye
  • Robert B. France
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)

Abstract

A primary goal of Model Driven Engineering (MDE) is to reduce the cost and effort of developing complex software systems using techniques for transforming abstract views of software to concrete implementations. The rich set of tools that have been developed, especially the growing maturity of model transformation technologies, opens the possibility of applying MDE technologies to transformation-based problems in other domains.

In this paper, we present our experience with using MDE technologies to build and evolve compiler infrastructures in the optimizing compiler domain. We illustrate, through our two ongoing research compiler projects for C and a functional language, the challenging aspects of optimizing compiler research and show how mature MDE technologies can be used to address them. We also identify some of the pitfalls that arise from unrealistic expectations of what can be accomplished using MDE and discuss how they can lead to unsuccessful and frustrating application of MDE technologies.

Keywords

Object Constraint Language Intermediate Representation Abstract Syntax Tree General Purpose Processor Model Drive Engineer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: Briand, L., Wolf, A. (eds.) Future of Software Engineering 2007. IEEE-CS Press, Los Alamitos (2007)Google Scholar
  2. 2.
    Schmidt, D.: Guest editor’s introduction: Model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  3. 3.
    The Object Management Group: UML 2.0: Superstructure Specification. Version 2.0, OMG, formal/05-07-04 (2005)Google Scholar
  4. 4.
    Hall, M., Padua, D., Pingali, K.: Compiler research: the next 50 years. Communications of the ACM 52(2), 60–67 (2009)CrossRefGoogle Scholar
  5. 5.
    Tripp, J.L., Gokhale, M., Peterson, K.D.: Trident: From High-Level Language to Hardware Circuitry. IEEE Computer 40(3), 28–37 (2007)CrossRefGoogle Scholar
  6. 6.
    Leroy, X.: Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In: Conference Record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 42–54. ACM, New York (2006)CrossRefGoogle Scholar
  7. 7.
    Arnold, G., Hölzl, J., Köksal, A., Bodík, R., Sagiv, M.: Specifying and verifying sparse matrix codes. In: Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming, pp. 249–260. ACM, New York (2010)CrossRefGoogle Scholar
  8. 8.
    Yelick, K., Semenzato, L., Pike, G., Miyamoto, C., Liblit, B., Krishnamurthy, A., Hilfinger, P., Graham, S., Gay, D., Colella, P., et al.: Titanium: A high-performance Java dialect. Concurrency Practice and Experience 10(11-13), 825–836 (1998)CrossRefGoogle Scholar
  9. 9.
    Charles, P., Grothoff, C., Saraswat, V., Donawa, C., Kielstra, A., Ebcioglu, K., Von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. In: ACM SIGPLAN Notices, vol. 40, pp. 519–538. ACM, New York (2005)Google Scholar
  10. 10.
    Chamberlain, B., Callahan, D., Zima, H.: Parallel programmability and the Chapel language. International Journal of High Performance Computing Applications 21(3), 291 (2007)CrossRefGoogle Scholar
  11. 11.
    Clavreul, M., Barais, O., Jézéquel, J.M.: Integrating legacy systems with mde. In: ICSE 2010: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering and ICSE Workshops, Cape Town, South Africa, vol. 2, pp. 69–78. ( May 2010)Google Scholar
  12. 12.
    Steel, J., Jézéquel, J.M.: On model typing. Journal of Software and Systems Modeling (SoSyM) 6(4), 401–414 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Antoine Floch
    • 1
  • Tomofumi Yuki
    • 2
  • Clement Guy
    • 1
  • Steven Derrien
    • 1
  • Benoit Combemale
    • 1
  • Sanjay Rajopadhye
    • 2
  • Robert B. France
    • 2
  1. 1.University of Rennes 1, IRISA, INRIAFrance
  2. 2.Colorado State UniversityUSA

Personalised recommendations