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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
C. Alexander. The Timeless Way of Building. Oxford Univ. Press, 1979.
Apache XML Project. The Apache XML project. http://xml.apache.org/, 2000.
S. Ball. XML support for Tcl. In Proc. of the Sixth Tcl/Tk Conference, San Diego, CA, USA, September 1998.
J. Bosch. Design patterns as language constructs. Journal of Object Oriented Programming, 11(2), 1998.
T. Bray, J. Paoli, and C. Sperberg-McQueen. Extensible markup language (XML) 1.0. http://www.w3.org/TR/1998/REC-xml-19980210, 1998.
F. Budinsky, M. Finnie, P. Yu, and J. Vlissides. Automatic code generation from design patterns. IBM Systems Journal, 35(2), 1996.
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.
J. Clark. Expat-XML parser toolkit. http://www.jclark.com/xml/expat.html, 1998.
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.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
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.
M. Goedicke, G. Neumann, and U. Zdun. Object system layer. In Proceeding of EuroPlop 2000, Irsee, Germany, July 2000.
M. Goedicke, G. Neumann, and U. Zdun. Message redirector. In Proceeding of EuroPlop 2001, Irsee, Germany, July 2001.
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.
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.
IBM. XML4J, Version 3.0.1. http://www.alphaworks.ibm.com/, 2000.
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. Getting started with AspectJ. Communications of the ACM, October 2001.
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.
B. B. Kristensen and K. Østerbye. Roles: Conceptual abstraction theory & practical language issues. Theory and Practice of Object Systems, 2:143–160, 1996.
O. Lassila and R. R. Swick. Resource description framework (RDF): Model and syntax specification. http://www.w3.org/TR/WD-rdf-syntax/, 1999.
D. Megginson. SAX 2.0: The simple API for XML. http://www.megginson.com/SAX/index.html, 1999.
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.
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.
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.
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.
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.
J. K. Ousterhout. Tcl: An embeddable command language. In Proc. of the 1990 Winter USENIX Conference, January 1990.
J. Punin. W3C sample code library libwww RDF parser. http://www.w3.org/Library/src/HTRDF, 1998.
J. Saarela. SiRPAC-simple RDF parser & compiler. http://www.w3.org/RDF/Implementations/SiRPAC/, 1998.
D. C. Schmidt. Wrapper facade: A structural pattern for encapsulating functions within classes. C++ Report, SIGS, 11(2), February 1999.
O. Vogel and U. Zdun. Dynamic content conversion and generation on the web: A pattern language. submitted to EuroPlop 2002, 2002.
W3C. Document object model. http://www.w3.org/DOM/, 2000.
D. Wetherall and C. J. Lindblad. Extending Tcl for dynamic object-oriented programming. In Proc. of the Tcl/Tk Workshop’ 95, Toronto, July 1995.
U. Zdun. Language Support for Dynamic and Evolving Software Architectures. PhD thesis, University of Essen, Germany, January 2002.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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