WG211/MustRead

From WG 2.11
Jump to: navigation, search


Must-read Papers

Dear all,

Please enter below titles of papers (and, ideally, links to their source) of papers that you view as seminal or highly influential in the fields of program generation, domain-specific languages, and model-driven computation.

Please:

  • Note the seperate headings for program generation, DSLs, and Model-driven computation.
  • Before you add a paper, please check that it is not there.
  • Use one bullet per paper that you add.

Walid.

Key Papers in Program Generation

  • Eelco Visser: Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Stratego/XT 0.9. Domain-Specific Program Generation 2003: 216-238
  • E. Kohlbecker, D. P. Friedman, M. Felleisen, and B. Duba. Hygienic macro expansion. In Proceedings of the 1986 ACM conference on LISP and functional programming, pages 151{161. ACM Press, 1986.
  • D.R. Smith, KIDS: a semiautomatic program development system, IEEE Trans. Softw. Eng., 16(9): 1024-1043, September 1990.
  • T.W. Reps and T. Teitelbaum, The Synthesizer Generator: A System for Constructing Language-Based Editors, Springer-Verlag, New York, 1988.
  • D. Zook, S. S. Huang, and Y. Smaragdakis. Generating AspectJ programs with Meta-AspectJ. In Proceedings of the 2004 Generative Progamming and Component Engineering (GPCE) Conference.
  • W. Taha and T. Sheard. Multi-stage programming with explicit annotations. In Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997, pages 203{217. New York: ACM, 1997.
  • N. D. Jones and A. J. Glenstrup. Program generation, termination, and binding-time analysis. In Generative Programming and Component Engineering (GPCE) Conference, LNCS 2487, pages 1{31. Springer, 2002.
  • Walid Taha. A Gentle Introduction to Multi-stage Programming. In C. Lengauer et al. Domain-Specific Program Generation, LNCS 3016, pp.30-50, Springer-Verlag, 2004. Survey paper; [Springer-Link]
  • K. Czarnecki and U. Eisenecker. Generative Programming: Methods, Techniques and Applications. Addison-Wesley Longman, 1999. (not a paper of course)
  • "Aspect-Oriented Programming". Gregor Kiczales, John Lamping, Anurag, Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier and John Irwin, ECOOP97. [Springer Link]
  • K. Czarnecki, U. W. Eisenecker, R. Glück, D. Vandevoorde, and T. Veldhuizen. Generative programming and active libraries (extended abstract). In M. Jazayeri, D. Musser, and R. Loos, editors, Generic Programming. Proceedings, LNCS 1766, Springer-Verlag, 2000, pages 25–39.
  • Todd L. Veldhuizen. Template metaprograms. C++ Report, 7(4):36–43, 1995.
  • Template metaprogramming for Haskell, by Tim Sheard and Simon Peyton Jones, May 2002. CM SIGPLAN Haskell Workshop 02 (http://www.haskell.org/th/) (is there a better reference?)
  • Y. Futamura. Partial evaluation of computation process - an approach to a compiler-compiler. Systems, Computers, Controls, 2(5):45-50, 1971.
  • C. Bastoul. Efficient code generation for automatic parallelization and optimization. ISPDC'2 IEEE International Symposium on Parallel and Distributed Computing, October 2003, Ljubjana, Slovenia.
  • R. Glück, J. Jørgensen, An automatic program generator for multi-level specialization. In: Lisp and Symbolic Computation, 10(2): 113-158, 1997.
  • Smith, D.R., Constructing Specification Morphisms, Journal of Symbolic Computation, Special Issue on Automatic Programming, Vol 16, No 5-6, 1993, 571-606.
  • Douglas R. Smith, Eduardo A. Parra, and Stephen J. Westfold, Synthesis of Planning and Scheduling Software, in Advanced Planning Technology, (Ed. A. Tate), AAAI Press, Menlo Park, California, 1996, 226-234.
  • Emic Pasalic and Nathan Linger, Meta-Programming with Typed Object-Language Representations. Presented at [GPCE], Vacouver B.C. Oct 2004.
  • ...


Key Papers in Domain-specific Languages

  • Don Batory. The Road to Utopia. In Christian Lengauer et al. Domain-Specific Program Generation, LNCS 3016, pp.1-18, Springer-Verlag, 2004. Survey paper; [Springer Link]
  • C. Consel and R. Marlet. Architecturing software using a methodology for language development. In C. Palamidessi, H. Glaser, and K. Meinke, editors, Proceedings of the 10th International Symposium on Programming Language Implementation and Logic Programming, volume 1490 of Lecture Notes in Computer Science, Pisa, Italy, pages 170--194, September 1998 [pdf]
  • R. Kieburtz, L. McKinney, J. Bell, J. Hook, A. Kotov, J. Lewis, D. Oliva, T. Sheard, I. Smith and L. Walton, A software engineering experiment in software component generation, Int. Conf. on Softw. Eng. (ICSE), 1996.
  • M. Pueschel and B. Singer and J. Xiong and J. Moura and J. Johnson and D. Padua and M. Veloso and R. W. Johnson. SPIRAL: A Generator for Platform-Adapted Libraries of Signal Processing Algorithms. Journal of High Performance Computing and Applications, special issue on Automatic Performance Tuning, 18 (1), pp. 21--45, 2004.
  • ...

Key Papers in Model-driven Computation

  • D. Batory and S. O’Malley, “The Design and Implementation of Hierarchical Software Systems with Reusable Components”, ACM TOSEM, October 1992.
  • Y. Smaragdakis and D. Batory, "Implementing Layered Designs with Mixin Layers", ECOOP 1998.
  • T. Biggerstaff, “The Library Scaling Problem and the Limits of Concrete Component Reuse”, International Conference on Software Reuse, 1994.
  • J. Neighbors, Draco: a method for engineering reusable software components. In T.J. Biggerstaff and A. Perlis (eds.), Software Reusability, Addison-Wesley/ACM Press, 1989.
  • D. HAREL, H. LACHOVER, A. NAAMAD, A. PNUELI, M. POLITI, R. SHERMAN, A. SHTULL-TRAURING, AND M. TRAKHTENBROT, “STATEMATE: A Working Environment for the Development of Complex Reactive Systems,” IEEE Transactions on Software Engineering 16 (April 1990), pp. 403–14
  • D. HAREL, “Biting the Silver Bullet,” IEEE Computer 25 (January 1992), pp. 8–20.
  • David Harel, Bernhard Rumpe: Meaningful Modeling: What's the Semantics of "Semantics"?. IEEE Computer 37(10): 64-72 (2004)
  • Rumpe, B.: “A Note on Semantics (with an Emphasis on UML)”; Second ECOOP Workshop on Precise Behavioral Semantics (with an Emphasis on OO Business Specifications) (1998).
  • Mosterman, P., Sztipanovits, J., Engell, S.: “Computer-Automated Multi-Paradigm Modeling in Control Systems technology,” IEEE Transactions on Control System Technology, Vol. 12, No. 2, pp. 223-234, March 2004
  • Horowitz, B.; Liebman, J.; Ma, C.; Koo, T.J.; Sangiovanni-Vincentelli, A.; Sastry, S.S.: “Platform-based embedded software design and system integration for autonomous vehicles,” Proceedings of the IEEE, Vol. 91, No.1., pp. 198-211, January, 2003