The Road to Utopia: A Future for Generative Programming

  • Don Batory
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3016)


The future of software engineering lies in automation and will exploit the combined strengths of generative programming, domain-specific languages, and automatic programming. While each of these areas is still in its infancy, a spectacularly successful example of their combination was realized twenty-five years ago: relational query optimization. In this paper, I chart the successes and mindset used by database researchers to generate efficient query processing programs automatically. I argue that the road that they have so successfully followed is the same road that the generative programming, domain-specific languages, and automatic programming communities are now traversing.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Balzer, R.: A Fifteen-Year Perspective on Automatic Programming. IEEE Transactions on Software Engineering (November 1985)Google Scholar
  2. 2.
    Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with Reusable Components. In: ACM TOSEM (October 1992)Google Scholar
  3. 3.
    Batory, D., Singhal, V., Thomas, J., Sirkin, M.: Scalable Software Libraries. In: ACM SIGSOFT (1993)Google Scholar
  4. 4.
    Batory, D., Chen, G., Robertson, E., Wang, T.: Design Wizards and Visual Programming Environments for GenVoca Generators. IEEE Transactions on Software Engineering, 441–452 (May 2000)Google Scholar
  5. 5.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. In: International Conference on Software Engineering (ICSE 2003) (2003)Google Scholar
  6. 6.
    Batory, D., Lopez-Herrejon, R., Martin, J.P.: Generating Product-Lines of Product- Families. In: Automated Software Engineering Conference (2002)Google Scholar
  7. 7.
    Blaine, L., et al.: Planware: Domain-Specific Synthesis of High-performance Schedulers. In: Automated Software Engineering Conference, pp. 270–280 (1998)Google Scholar
  8. 8.
    Brachman, R.J.: Systems That Know What They’re Doing. IEEE Intelligent Systems 17#6, 67–71 (2002)Google Scholar
  9. 9.
    DeWitt, D., et al.: The Gamma Database Machine Project. IEEE Transactions on Data and Knowledge Engineering (March 1990)Google Scholar
  10. 10.
    Gray, J., et al.: Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals. Data Mining and Knowledge Discovery 1, 29–53 (1997)CrossRefGoogle Scholar
  11. 11.
    Griss, M.: Implementing Product-Line Features by Composing Component Aspects. In: Software Product-Line Conference, Denver (August 2000)Google Scholar
  12. 12.
    Habermann, A.N., Flon, L., Cooprider, L.: Modularization and Hierarchy in a Family of Operating Systems. CACM 19#5 (May 1976)Google Scholar
  13. 13.
    Hein, A., Schlick, M., Vinga-Martins, R.: Applying Feature Models in Industrial Settings. In: Software Product Line Conference (SPLC1) (August 2000)Google Scholar
  14. 14.
    Hellerstein, J.: Predicate Migration: Optimizing Queries with Expensive Predicates. In: SIGMOD 1993 (1993)Google Scholar
  15. 15.
    Ioannidis, Y.E., Christodoulakis, S.: On the Propagation of Errors in the Size of Join Results. In: ACM SIGMOD 1991 (1991)Google Scholar
  16. 16.
    Ioannidis, Y.E.: On the Computation of the Transitive Closure of Relational Operators. In: Very Large Database Conference 1986, pp. 403–411 (1986)Google Scholar
  17. 17.
    Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. Rep. CMU/SEI-90-TR-21, Soft. Eng. Institute, Carnegie Mellon Univ., Pittsburgh, PA (November 1990)Google Scholar
  18. 18.
    Li, H.C., Krishnamurthi, S., Fisler, K.: Interfaces for Modular Feature Verification. In: Automated Software Engineering Conference 2002, pp. 195–204 (2002)Google Scholar
  19. 19.
    Neighbors, J.: Software construction using components. Ph. D. Thesis (Technical Report TR-160), University of California, Irvine (1980)Google Scholar
  20. 20.
    Sammet, J.E., Rector, R.W.: In Recognition of the 25th Anniversary of Computing Reviews: Selected Reviews 1960-1984. Communications of the ACM, 53–68 (January 1985)Google Scholar
  21. 21.
    Schultz, U.P., Lawall, J.L., Consel, C.: Specialization Patterns, Research Report #3835 (January 1999)Google Scholar
  22. 22.
    Selinger, P., Astrahan, M.M., Chamberlin, D.D., Lorie, R.A., Price, T.G.: Access Path Selection in a Relational Database System. In: ACM SIGMOD 1979, pp. 23–34 (1979)Google Scholar
  23. 23.
    Stickel, M., et al.: Deductive Composition of Astronomical Software from Subroutine Libraries. In: Bundy, A. (ed.) CADE 1994. LNCS, vol. 814, Springer, Heidelberg (1994)Google Scholar
  24. 24.
    Stonebraker, M.: Inclusion of New Types in Relational Data Base Systems. In: IEEE Data Engineering Conference, Los Angeles, CA (February 1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Don Batory
    • 1
  1. 1.Department of Computer SciencesUniversity of Texas at AustinAustin

Personalised recommendations