Nothing Special   »   [go: up one dir, main page]

Skip to main content

Exploiting persistent intermediate code representations in open database environments

  • Performance
  • Conference paper
  • First Online:
Advances in Database Technology — EDBT '96 (EDBT 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1057))

Included in the following conference series:

Abstract

Modern database environments have to execute, store, analyze, optimize and generate code at various levels of abstraction (queries, views, triggers, query execution plans, methods, 4GL programs, etc.). We present TML, an abstract persistent intermediate code representation developed in the Tycoon2 project to fully integrate static and dynamic code analysis and rewriting. TML is a continuation passing style (CPS) language which excels in its explicit, high-level representation of control and data dependencies. We formally define TML and its core rewrite rules which unify many well-known optimizing transformations. We also present Tycoon's innovative reflective system architecture which supports modular compile-time as well as global runtime optimizations. Moreover, we describe how this architecture enables optimizations across abstraction barriers in large modular persistent applications including embedded declarative queries.

This research is supported by ESPRIT Basic Research, Project FIDE, #6309 and by a grant from the German Israeli Foundation for Research and Development (bulk data classification, I-183 060).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. :Agrawal, R. and Gehani, N.H. Rationale for the design of persistence and query processing facilities in the database programming language O++. In Proceedings of the Second International Workshop on Database Programming Languages, Salishan, Oregon, June 1989.

    Google Scholar 

  2. :Appel, A. W. Compiling with Continuations. Cambridge University Press, 1992.

    Google Scholar 

  3. :Böttcher, S., Jarke, M., and Schmidt, J.W. Adaptive predicate managers in database systems. In Proceedings of the Twelfth International Conference on Very Large Databases, Kyoto, Japan, 1986.

    Google Scholar 

  4. :Breazu-Tannen, V., Buneman, P., and Naqvi, S. Structural recursion as a query language. In Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece. Morgan Kaufmann Publishers, September 1991.

    Google Scholar 

  5. :Catell, R.G.G., editor. The Object Database Standard: ODMG-93. Morgan Kaufmann Publishers, 1994.

    Google Scholar 

  6. :Eder, J., Rudloff, A., Matthes, F., and Schmidt, J.W. Data construction with recursive set expressions in DBPL. In Proceedings of the Kiev East/West Workshop on Next Generation Database Technology, volume 504 of Lecture Notes in Computer Science, April 1991.

    Google Scholar 

  7. :Fegaras, L. Efficient optimization of iterative queries. In Beeri, C., Ohori, A., and Shasha, D.E., editors, Database Programming Languages, New York City, 1993, Workshops in Computing, pages 200–225, 1994.

    Google Scholar 

  8. :Freytag, J.C. and Goodman, N. On the translation of relational queries into iterative programs. A CM Transactions on Database Systems, 14(1), March 1989.

    Google Scholar 

  9. :Gawecki, A. and Matthes, F. The Tycoon Machine Language TML — an optimizable persistent program representation. FIDE Technical Report FIDE/94/100, Fachbereich Informatik, Universität Hamburg, Germany, July 1994.

    Google Scholar 

  10. :Gawecki, A. An optimizing compiler for Smalltalk. Bericht FBI-HH-B-152/92, Fachbereich Informatik, Universität Hamburg, Germany, September 1992. In German.

    Google Scholar 

  11. :Gifford, David K. and Lucassen, John M. Integrating functional and imperative programming. In Proceedings of the ACM Conference on Lisp and Functional Programming, Cambridge, Massachusetts, August 4–6, 1986, pages 28–38, 1986.

    Google Scholar 

  12. :Jarke, M. and Koch, J. Query optimization in database systems. ACM Computing Surveys, 16(2):111–152, 1984.

    Google Scholar 

  13. :Jarke, M. and Schmidt, J.W. Query processing strategies in the Pascal/R relational database management system. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, 1982.

    Google Scholar 

  14. :Jarke, M., Koch, J., Mall, M., and Schmidt, J.W. Query optimization research in the database programming languages (DBPL) project. IEEE — Data Engineering, pages 11–14, September 1982.

    Google Scholar 

  15. :Kelsey, R.A. Compilation by program transformation. Technical report, Yale University, Department of Computer Science, May 1989.

    Google Scholar 

  16. :Kiradjiev, P. Dynamische Optimierung in CPS-orientierten Zwischensprachen. Diplomarbeit, Fachbereich Informatik, Universität Hamburg, Germany, December 1994.

    Google Scholar 

  17. :Kranz, D., Kelsey, R., Rees, J., Hudak, P., Philbin, J., and Adams, N. ORBIT: an optimizing compiler for Scheme. ACM SIGPLAN Notices, 21(7):219–233, July 1986.

    Google Scholar 

  18. :Lieuwen, Daniel F. and DeWitt, David J. Optimizing loops in database programming languages. In Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece, Nafplion, Greece, September 1991. Morgan Kaufmann Publishers.

    Google Scholar 

  19. :Mall, M., Reimer, M., and Schmidt, J.W. Data selection, sharing and access control in a relational scenario. In Brodie, M.L., Myopoulos, J.L., and Schmidt, J.W., editors, On Conceptual Modelling. Springer-Verlag, 1984.

    Google Scholar 

  20. :Mathiske, B., Matthes, F., and Schmidt, J.W. Scaling database languages to higher-order distributed programming. In Proceedings of the Fifth International Workshop on Database Programming Languages, Gubbio, Italy. Springer-Verlag, September 1995. (Also appeared as TR FIDE/95/137).

    Google Scholar 

  21. :Matthes, F. and Schmidt, J.W. Bulk types: Built-in or add-on? In Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece. Morgan Kaufmann Publishers, September 1991.

    Google Scholar 

  22. :Matthes, F. and Schmidt, J.W. Definition of the Tycoon Language TL — a preliminary report. Informatik Fachbericht FBI-HH-B-160/92, Fachbereich Informatik, Universität Hamburg, Germany, November 1992.

    Google Scholar 

  23. :Matthes, F. and Schmidt, J.W. Persistent threads. In Proceedings of the Twentieth International Conference on Very Large Data Bases, VLDB, pages 403–414, Santiago, Chile, September 1994.

    Google Scholar 

  24. :Poulovassilis, A. and Small, C. Investigation of algebraic query optimisation for database programming languages. In Proceedings of the 20th International Conference on Very Large Databases, Santiago, Chile, September 1994.

    Google Scholar 

  25. :Rudloff, A., Matthes, F., and Schmidt, J.W. Security as an addon quality in persistent object systems. In Second International East/West Database Workshop, Workshops in Computing. Springer-Verlag, 1995. (to appear).

    Google Scholar 

  26. :Schmidt, J.W. and Matthes, F. The DBPL project: Advances in modular database programming. Information Systems, 19(2):121–140, 1994.

    Google Scholar 

  27. :Schmidt, J.W. Some high level language constructs for data of type relation. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, Toronto, Canada, August 1977.

    Google Scholar 

  28. :Steele, Guy L. Rabbit: A compiler for SCHEME. Technical report, Massachusetts Institute of Technology, May 1978.

    Google Scholar 

  29. :Steele, Guy L. The revised3 report on the algorithmic language Scheme. ACM SIGPLAN Notices, 21(12):37–79, December 1986.

    Google Scholar 

  30. :Teodosiu, Dan. Hare: An optimizing portable compiler for Scheme. ACM SIGPLAN Notices, 26(1):109–120, January 1991.

    Google Scholar 

  31. :Trinder, P. Comprehensions, a query notation for DBPLs. In Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece. Morgan Kaufmann Publishers, September 1991.

    Google Scholar 

  32. :Ullman, J.D. Database and Knowledge-Base Systems, vol. 2. Computer Science Press, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter Apers Mokrane Bouzeghoub Georges Gardarin

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gawecki, A., Matthes, F. (1996). Exploiting persistent intermediate code representations in open database environments. In: Apers, P., Bouzeghoub, M., Gardarin, G. (eds) Advances in Database Technology — EDBT '96. EDBT 1996. Lecture Notes in Computer Science, vol 1057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014168

Download citation

  • DOI: https://doi.org/10.1007/BFb0014168

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61057-1

  • Online ISBN: 978-3-540-49943-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics