AMaχoS—Abstract Machine for Xcerpt: Architecture and Principles

  • François Bry
  • Tim Furche
  • Benedikt Linse
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4187)


Web query languages promise convenient and efficient access to Web data such as XML, RDF, or Topic Maps. Xcerpt is one such Web query language with strong emphasis on novel high-level constructs for effective and convenient query authoring, particularly tailored to versatile access to data in different Web formats such as XML or RDF. However, so far it lacks an efficient implementation to supplement the convenient language features. AMa χ oS is an abstract machine implementation for Xcerpt that aims at efficiency and ease of deployment. It strictly separates compilation and execution of queries: Queries are compiled once to abstract machine code that consists in (1) a code segment with instructions for evaluating each rule and (2) a hint segment that provides the abstract machine with optimization hints derived by the query compilation. This article summarizes the motivation and principles behind AMa χ oS and discusses how its current architecture realizes these principles.


Virtual Machine Query Evaluation Query Execution Abstract Machine Conjunctive Query 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, D.J., Carney, D., Çetintemel, U., et al.: Aurora: a New Model and Architecture for Data Stream Management. VLDB Journal 12(2), 120–139 (2003)CrossRefGoogle Scholar
  2. 2.
    Avnur, R., Hellerstein, J.M.: Eddies: Continuously Adaptive Query Processing. In: Proc. ACM SIGMOD, pp. 261–272 (2000)Google Scholar
  3. 3.
    Babu, S., Widom, J.: Continuous Queries over Data Streams. SIGMOD Record 30(3), 109–120 (2001)CrossRefGoogle Scholar
  4. 4.
    Berger, S., Bry, F., Furche, T., et al.: Beyond XML and RDF: The Versatile Web Query Language Xcerpt. In: Proc. Int’l. Conf. on World Wide Web (2006)Google Scholar
  5. 5.
    Bruno, N., Koudas, N., Srivastava, D.: Holistic Twig Joins: Optimal XML Pattern Matching. In: Proc. ACM SIGMOD, pp. 310–321 (2002)Google Scholar
  6. 6.
    Bry, F., Coskun, F., Durmaz, S., Furche, T., Olteanu, D., Spannagel, M.: The XML Stream Query Processor SPEX. In: Proc. ICDE (2005)Google Scholar
  7. 7.
    Bry, F., Furche, T., et al.: Querying the Web Reconsidered: Design Principles for Versatile Web Query Languages. J. of Semantic Web and Inf. Sys. 1(2) (2005)Google Scholar
  8. 8.
    Bry, F., Schroeder, A., Furche, T., Linse, B.: Efficient Evaluation of n-ary Queries over Trees and Graphs (submitted for publication, 2006)Google Scholar
  9. 9.
    Bugnion, E., Devine, S., Govil, K., Rosenblum, M.: Disco: Running Commodity Operating Systems on Scalable Multiprocessors. ACM TOCS 15(4), 412–447 (1997)CrossRefGoogle Scholar
  10. 10.
    Davis, B., Beatty, A., Casey, K., et al.: The Case for Virtual Register Machines. In: Proc. Workshop on Interpreters, Virtual Machines and Emulators, pp. 41–49 (2003)Google Scholar
  11. 11.
    Garfinkel, T., Pfaff, B., Chow, J., et al.: Terra: a Virtual Machine-based Platform for Trusted Computing. In: Proc. of ACM S. on Op. Sys. Princ., pp. 193–206 (2003)Google Scholar
  12. 12.
    Goldberg, R.P.: Survey of Virtual Machine Research. Computer 7(6), 34–45 (1974)Google Scholar
  13. 13.
    Gottlob, G., Koch, C., Schulz, K.U.: Conjunctive Queries over Trees. J. of the ACM 53(2) (2006)Google Scholar
  14. 14.
    Groves, L.J., Rogers, W.J.: The Design of a Virtual Machine for Ada. In: Proc. ACM Symposium on Ada Programming Language, pp. 223–234 (1980)Google Scholar
  15. 15.
    ISO/IEC. 23271, Common Language Infrastructure (CLI). Int’l. Standard (2003)Google Scholar
  16. 16.
    Johnsson, T.: Efficient Compilation of Lazy Evaluation. SIGPLAN N., 19(6) (1984)Google Scholar
  17. 17.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley Professional, Reading (1999)Google Scholar
  18. 18.
    Malhotra, A., Melton, J., Walsh, N.: XQuery 1.0 and XPath 2.0 Functions and Operators. Working draft, W3C (2005)Google Scholar
  19. 19.
    Novoselsky, A.: The Oracle XSLT Virtual Machine. In: XTech 2005 (2005)Google Scholar
  20. 20.
    Olteanu, D., Meuss, H., Furche, T., Bry, F.: XPath: Looking Forward. In: Chaudhri, A.B., Unland, R., Djeraba, C., Lindner, W. (eds.) EDBT 2002. LNCS, vol. 2490, pp. 109–127. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  21. 21.
    O’Neil, P., O’Neil, E., Pal, S., et al.: ORDPATHs: Insert-friendly XML Node Labels. In: Proc. ACM SIGMOD, pp. 903–908 (2004)Google Scholar
  22. 22.
    Overheu, D.L.: An Abstract Machine for Symbolic Computation. J. of the ACM 13(3), 444–468 (1966)CrossRefGoogle Scholar
  23. 23.
    Pemberton, S., Daniels, M.: Pascal Implementation: The P4 Compiler and Interpreter. Ellis Horwood (1982)Google Scholar
  24. 24.
    Randell, B., Russell, L.J.: ALGOL 60 Implementation. Academic Press, London (1964)MATHGoogle Scholar
  25. 25.
    Rosenblum, M.: The Reincarnation of Virtual Machines. Queue 2(5), 34–40 (2004)CrossRefGoogle Scholar
  26. 26.
    Sagonas, K., Swift, T.: An Abstract Machine for Tabled Execution of Fixed-order Stratified Logic Programs. ACM TOPLAS 20(3) (1998)Google Scholar
  27. 27.
    Schaffert, S.: Xcerpt: A Rule-Based Query and Transformation Language for the Web. Dissertation/Ph.D. thesis, University of Munich (2004)Google Scholar
  28. 28.
    Schaffert, S., Bry, F.: Querying the Web Reconsidered: A Practical Introduction to Xcerpt. In: Proc. Extreme Markup Languages (2004)Google Scholar
  29. 29.
    Shi, Y., Gregg, D., Beatty, A., Ertl, M.A.: Virtual Machine Showdown: Stack versus Registers. In: Proc. Int. Conf. on Virtual Execution Env.s, pp. 153–163 (2005)Google Scholar
  30. 30.
    Warren, D.H.D.: An Abstract Prolog Instruction Set. Note 309, SRI Int’l. (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • François Bry
    • 1
  • Tim Furche
    • 1
  • Benedikt Linse
    • 1
  1. 1.Institute for InformaticsUniversity of MunichMünchenGermany

Personalised recommendations