Skip to main content

Pattern-Based Design and Implementation of an XML and RDF Parser and Interpreter: A Case Study

  • Conference paper
  • First Online:
ECOOP 2002 — Object-Oriented Programming (ECOOP 2002)

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

Included in the following conference series:

Abstract

Software patterns have been widely promoted as a means of conveying practical design knowledge in a reusable fashion. Several approaches for providing better implementation variants of certain patterns have been presented. These approaches promise great advantages for flexibility, traceability, and reusability of pattern implementations. However, there are only a few larger practical case studies of these concepts available. In this paper we will present a case study of a component framework for flexible processing of markup languages in the object-oriented scripting language XOTcl. The language offers high-level means and architectural support for component integration (“component glueing”), introspection, language dynamics, and message interception techniques. These language constructs enable developers to extend the language with pattern implementations, and so to provide language support for certain pattern fragments. As a case study domain we discuss an extensible and flexible framework for XML/RDF parsing and interpretation that was developed and evolved over a period of three years and is now in use in numerous applications.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. C. Alexander. The Timeless Way of Building. Oxford Univ. Press, 1979.

    Google Scholar 

  2. Apache XML Project. The Apache XML project. http://xml.apache.org/, 2000.

  3. S. Ball. XML support for Tcl. In Proc. of the Sixth Tcl/Tk Conference, San Diego, CA, USA, September 1998.

    Google Scholar 

  4. J. Bosch. Design patterns as language constructs. Journal of Object Oriented Programming, 11(2), 1998.

    Google Scholar 

  5. T. Bray, J. Paoli, and C. Sperberg-McQueen. Extensible markup language (XML) 1.0. http://www.w3.org/TR/1998/REC-xml-19980210, 1998.

  6. F. Budinsky, M. Finnie, P. Yu, and J. Vlissides. Automatic code generation from design patterns. IBM Systems Journal, 35(2), 1996.

    Google Scholar 

  7. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-orinented Software Architecture — A System of Patterns. J. Wiley and Sons Ltd., 1996.

    Google Scholar 

  8. J. Clark. Expat-XML parser toolkit. http://www.jclark.com/xml/expat.html, 1998.

  9. S. Ducasse. Message passing abstractions as elementary bricks for design pattern implementation. In Proceeding of ECOOP Workshop on Language Support for Design Patterns and Frameworks, Jyväskylä, Finland, 1997.

    Google Scholar 

  10. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.

    Google Scholar 

  11. M. Goedicke, G. Neumann, and U. Zdun. Design and implementation constructs for the development of flexible, component-oriented software architectures. In Proc. of Second International Symposium on Generative and Component-Based Software Engineering (GCSE’2000), Erfurt, Germany, Oct 2000.

    Google Scholar 

  12. M. Goedicke, G. Neumann, and U. Zdun. Object system layer. In Proceeding of EuroPlop 2000, Irsee, Germany, July 2000.

    Google Scholar 

  13. M. Goedicke, G. Neumann, and U. Zdun. Message redirector. In Proceeding of EuroPlop 2001, Irsee, Germany, July 2001.

    Google Scholar 

  14. M. Goedicke and U. Zdun. Piecemeal legacy migrating with an architectural pattern language: A case study. Accepted for publication in Journal of Software Maintenance: Research and Practice, 2001.

    Google Scholar 

  15. M. Goedicke and U. Zdun. Piecemeal migration of a document archive system with an architectural pattern language. In 5th European Conference on Software Maintenance and Reengineering (CSMR’01), Lisbon, Portugal, Mar 2001.

    Google Scholar 

  16. IBM. XML4J, Version 3.0.1. http://www.alphaworks.ibm.com/, 2000.

  17. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. Getting started with AspectJ. Communications of the ACM, October 2001.

    Google Scholar 

  18. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’97), LNCS 1241. Springer-Verlag, 1997.

    Google Scholar 

  19. B. B. Kristensen and K. Østerbye. Roles: Conceptual abstraction theory & practical language issues. Theory and Practice of Object Systems, 2:143–160, 1996.

    Article  Google Scholar 

  20. O. Lassila and R. R. Swick. Resource description framework (RDF): Model and syntax specification. http://www.w3.org/TR/WD-rdf-syntax/, 1999.

  21. D. Megginson. SAX 2.0: The simple API for XML. http://www.megginson.com/SAX/index.html, 1999.

  22. G. Neumann and U. Zdun. Enhancing object-based system composition through per-object mixins. In Proceedings of Asia-Pacific Software Engineering Conference (APSEC), Takamatsu, Japan, December 1999.

    Google Scholar 

  23. G. Neumann and U. Zdun. Filters as a language support for design patterns in object-oriented scripting languages. In Proceedings of COOTS’99, 5th Conference on Object-Oriented Technologies and Systems, San Diego, California, USA, May 1999.

    Google Scholar 

  24. G. Neumann and U. Zdun. Implementing object-specific design patterns using per-object mixins. In Proceedings of NOSA‘99, Second Nordic Workshop on Software Architecture, Ronneby, Sweden, August 1999.

    Google Scholar 

  25. G. Neumann and U. Zdun. Towards the usage of dynamic object aggregation as a foundation for composition. In Proceedings of Symposium of Applied Computing (SAC‘00), Como, Italy, March 2000.

    Google Scholar 

  26. G. Neumann and U. Zdun. XOTcl, an object-oriented scripting language. In Proceedings of Tcl2k: The 7th USENIX Tcl/Tk Conference, Austin, Texas, USA, February 2000.

    Google Scholar 

  27. J. K. Ousterhout. Tcl: An embeddable command language. In Proc. of the 1990 Winter USENIX Conference, January 1990.

    Google Scholar 

  28. J. Punin. W3C sample code library libwww RDF parser. http://www.w3.org/Library/src/HTRDF, 1998.

  29. J. Saarela. SiRPAC-simple RDF parser & compiler. http://www.w3.org/RDF/Implementations/SiRPAC/, 1998.

  30. D. C. Schmidt. Wrapper facade: A structural pattern for encapsulating functions within classes. C++ Report, SIGS, 11(2), February 1999.

    Google Scholar 

  31. O. Vogel and U. Zdun. Dynamic content conversion and generation on the web: A pattern language. submitted to EuroPlop 2002, 2002.

    Google Scholar 

  32. W3C. Document object model. http://www.w3.org/DOM/, 2000.

  33. D. Wetherall and C. J. Lindblad. Extending Tcl for dynamic object-oriented programming. In Proc. of the Tcl/Tk Workshop’ 95, Toronto, July 1995.

    Google Scholar 

  34. U. Zdun. Language Support for Dynamic and Evolving Software Architectures. PhD thesis, University of Essen, Germany, January 2002.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Neumann, G., Zdun, U. (2002). Pattern-Based Design and Implementation of an XML and RDF Parser and Interpreter: A Case Study. In: Magnusson, B. (eds) ECOOP 2002 — Object-Oriented Programming. ECOOP 2002. Lecture Notes in Computer Science, vol 2374. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47993-7_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-47993-7_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43759-8

  • Online ISBN: 978-3-540-47993-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics