Skip to main content

Generative Development of Object-Oriented Frameworks

  • Chapter
  • 123 Accesses

Part of the book series: The Kluwer International Series in Engineering and Computer Science ((SECS,volume 732))

Abstract

Developing domain-specific object-oriented frameworks is difficult. It requires a deep understanding of both the application domain and the mechanisms and principles of object orientation. This article claims that by adopting some techniques of generative programming, framework development can be made into a more repeatable process, rather than the art it currently is.

The article starts by analyzing some of the problems of designing reusable software. These problems are related to the nature of design, a lack of methodological support and the problem of capturing system evolution. Then a process is outlined which uses XML and XSLT to generate code from configuration knowledge. Commonality and variability are factored out of this code generator, using a number of straightforward refactoring operations. The result is a reusable black box framework. To conclude, we evaluate how the proposed approach solves or mitigates the problems discussed in the first section.

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   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
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover 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. Roberts, D., Johnson, R.: Evolving frameworks: A pattern-language for developing object-oriented frameworks. In Martin, R.C., Riehle, D., Buschmann, F., eds.: Pattern Languages of Program Design 3. Software Patterns Series. Addison-Wesley (1997)

    Google Scholar 

  2. Martin, R.C.: The Dependency Inversion Principle. C++ Report 8 (1996) 61–66

    Google Scholar 

  3. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the ACM 15 (1972) 1053–1058

    Article  Google Scholar 

  4. Op dyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  5. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison Wesley (1999)

    Google Scholar 

  6. Czarnecki, K., Eisenecker, U.W.: Generative Programming, Methods, Tools, and Applications. Addison-Wesley (2000)

    Google Scholar 

  7. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie Mellon Software Engineering Institute (1990)

    Google Scholar 

  8. Parnas, D.: The Design of Program Families. IEEE Transactions on Software Engineering 2 (1976) 1–9

    Article  MATH  Google Scholar 

  9. Thompson, H.S., Beech, D., Maloney, M., Mendelsohn, N.: Xml schema part 1: Structures w3c candidate recommendation 24 October 2000. http://www.w3.org/TR/xmlschema-1/(2000).

  10. Clark, J.: Xsl transformations (xslt) version 1.0 w3c recommendation. http://www.w3.org/TR/1999/REC-xslt-19991116 (1999).

  11. Badros, G.J.: Javaml: A markup language for Java source code. In: Ninth International World Wide Web Conference. (2000)

    Google Scholar 

  12. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading, MA (1995)

    Google Scholar 

  13. Beck, K.: Embracing change with Extreme Programming. Computer 32 (1999) 70–77

    Article  Google Scholar 

  14. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C, Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP). LNCS, Springer-Verlag (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer Science+Business Media New York

About this chapter

Cite this chapter

Hendrikx, K., Olivié, H., Duval, E. (2003). Generative Development of Object-Oriented Frameworks. In: D’Hondt, T. (eds) Technology of Object-Oriented Languages, Systems and Architectures. The Kluwer International Series in Engineering and Computer Science, vol 732. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-0413-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-0413-9_3

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-5064-4

  • Online ISBN: 978-1-4615-0413-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics