Skip to main content

Design and Implementation Constructs for the Development of Flexible, Component-Oriented Software Architectures

  • Conference paper
  • First Online:

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

Abstract

Component-orientation is an emerging paradigm that promises components that are usable as prefabricated black-boxes. But components have the problem that they should be changeable and flexibly adaptable to a huge number of different application contexts and to changing requirements. We will argue, that sole parameterization — as the key variation technique of components — is not suitable to cope with all required change scenarios. A proper integration with multiple other paradigms, such as object-orientation, the usage of a scripting language as a flexible component glue, and the exploitation of high-level interception techniques can make components be easier (ex)-changeable and adaptable. These techniques can be applied without interfering with the component’s internals.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting object interactions using composition filters. In R. Guerraoui, O. Nierstrasz, and M. Riveill, editors, Object-Based Distributed Processing, pages 152–184. LCNS791, Springer-Verlag, 1993.

    Google Scholar 

  2. J. Bosch. Superimposition: A component adaptation technique. Information and Software Technology, 41, 1999.

    Google Scholar 

  3. J. O. Coplien. Multi-Paradigm Design for C++. Addison-Wesley, 1998.

    Google Scholar 

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

    Google Scholar 

  5. M. Goedicke, J. Cramer, W. Fey, and M. Gro\( \ddot s \) 129-1e-Rhode. Towards a formally based component description language a foundation for reuse. Structured Programming, 12(2), 1991.

    Google Scholar 

  6. W. Harrison and H. Ossher. Subject-oriented programming-a critique of pure objects. In Proceedings of Conference on Object-Oriented Programming Systems, Languages (OOPSLA), 1993.

    Google Scholar 

  7. G. C. Hunt and M. L. Scott. Intercepting and insturmenting COM applications. In Proceedings of COOTS’99, 5th Conference on Object-Oriented Technologies and Systems, San Diego, California, USA, May 1999.

    Google Scholar 

  8. IONA Technologies Ltd. The orbix architecture, August 1993.

    Google Scholar 

  9. G. Kiczales, J. des Rivieres, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, 1991.

    Google Scholar 

  10. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of ECOOP’97, Finnland, June 1997. LCNS1241, Springer-Verlag.

    Google Scholar 

  11. 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 

  12. M. Goedicke, G. Neumann, and U. Zdun. Object system layer. Accepted for publication in EuroPlop 2000, 2000.

    Google Scholar 

  13. 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 

  14. 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 

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

    Google Scholar 

  16. G. Neumann and U. Zdun. High-level design and architecture of an http-based infrastructure for webap plications. Accepted for publication in the World Wide WebJou rnal3(1), 2000.

    Google Scholar 

  17. G. Neumann and U. Zdun. Highly flexible design and implementation of an xml and rdf parser/interpreter. to appear, 2000.

    Google Scholar 

  18. 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 

  19. J. K. Ousterhout. Scripting: Higher level programming for the 21st century. IEEE Computer, 31, March 1998.

    Google Scholar 

  20. W. Pree. Design Patterns for Object-Oriented Software Development. ACMPress Books. Addison-Wesley, 1995.

    Google Scholar 

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

    Google Scholar 

  22. C. Szyperski. Component Software-Beyond Object-Oriented Programming. ACM Press Books. Addison-Wesley, 1997.

    Google Scholar 

  23. P. Wegner. Learning the language. Byte, 14:245–253, March 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goedicke, M., Neumann, G., Zdun, U. (2001). Design and Implementation Constructs for the Development of Flexible, Component-Oriented Software Architectures. In: Butler, G., Jarzabek, S. (eds) Generative and Component-Based Software Engineering. GCSE 2000. Lecture Notes in Computer Science, vol 2177. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44815-2_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-44815-2_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42578-6

  • Online ISBN: 978-3-540-44815-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics