Skip to main content

Source Tree Composition

  • Conference paper
  • First Online:
Book cover Software Reuse: Methods, Techniques, and Tools (ICSR 2002)

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

Included in the following conference series:

Abstract

Dividing software systems in components improves software reusability as well as software maintainability. Components live at several levels, we concentrate on the implementation level where components are formed by source files, divided over directory structures.

Such source code components are usually strongly coupled in the directory structure of a software system. Their compilation is usually controlled by a single global build process. This entangling of source trees and build processes often makes reuse of source code components in different software systems difficult. It also makes software systems inflexible because integration of additional source code components in source trees and build processes is difficult.

This paper’s subject is to increase software reuse by decreasing coupling of source code components. It is achieved by automized assembly of software systems from reusable source code components and involves integration of source trees, build processes, and configuration processes. Application domains include generative programming, product-line architectures, and commercial off-the-shelf (COTS) software engineering.

This research was sponsored by the Dutch Telematica Instituut, project DSL.

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E. C. Bailey. Maximum RPM. Red Hat Software, Inc., 1997.

    Google Scholar 

  2. D. S. Batory, C. Johnson, B. MacDonald, and D. von Heeder. Achieving extensibility through product-lines and domain-specific languages: A case study. In International Conference on Software Reuse, volume 1844 of LNCS, pages 117–136. Springer-Verlag, 2000.

    Google Scholar 

  3. R. H. Berlack. Software Configuration Management. Wiley and Sons, New York, 1991.

    Google Scholar 

  4. M. van den Brand, A. van Deursen, J. Heering, H. de Jong, M. de Jonge, T. Kuipers, P. Klint, L. Moonen, P. Olivier, J. Scheerder, J. Vinju, E. Visser, and J. Visser. The ASF+SDF Meta-Environment: a component-based language development environment. In Compiler Construction 2001 (CC2001), volume 2027 of LNCS. Springer-Verlag, 2001.

    Chapter  Google Scholar 

  5. P. Brereton and P. Singleton. Deductive software building. In J. Estublier, editor, Software Configuration Management: Selected Papers of the ICSE SCM-4 and SCM-5 Workshops, number 1005 in LNCS, pages 81–87. Springer-Verlag, Oct. 1995.

    Google Scholar 

  6. J. Buffenbarger and K. Gruel. A language for software subsystem composition. In 34th Annual Hawaii International Conference on System Sciences (HICSS-34). IEEE, 2001.

    Google Scholar 

  7. M. Cagan and A. Wright. Untangling configuration management. In J. Estublier, editor, Software Configuration Management: Selected Papers of the ICSE SCM-4 and SCM-5 Workshops, number 1005 in LNCS, pages 35–52. Springer-Verlag, 1995.

    Google Scholar 

  8. G. M. Clemm. The Odin system. In J. Estublier, editor, Software Configuration Management: Selected Papers of the ICSE SCM-4 and SCM-5 Workshops, number 1005 in LNCS, pages 241–2262. Springer-Verlag, Oct. 1995.

    Google Scholar 

  9. R. Conradi and B. Westfechtel. Version models for software configuration management. ACM Computing Surveys, 30(2):232–282, June 1998.

    Google Scholar 

  10. K. Czarnecki and U. W. Eisenecker. Components and generative programming. In O. Nierstrasz and M. Lemoine, editors, ESEC/FSE’ 99, volume 1687 of LNCS, pages 2–19. Springer-Verlag / ACM Press, 1999.

    Google Scholar 

  11. K. Czarnecki and U. W. Eisenecker. Generative Programming. Methods, Tools, and Applications. Addison-Wesley, 2000.

    Google Scholar 

  12. A. van Deursen, M. de Jonge, and T. Kuipers. Feature-based product line instantiation using source-level packages. submitted for publication, january 2002.

    Google Scholar 

  13. A. van Deursen and P. Klint. Domain-specific language design requires feature descriptions. Journal of Computing and Information Technology, 2001.

    Google Scholar 

  14. A. van Deursen and T. Kuipers. Building documentation generators. In Proceedings; IEEE International Conference on Software Maintenance, pages 40–49. IEEE Computer Society Press, 1999.

    Google Scholar 

  15. S. I. Feldman. Make-A program for maintaining computer programs. Software-Practice and Experience, 9(3):255–265, Mar. 1979.

    Google Scholar 

  16. C. A. Gunter. Abstracting dependencies between software configuration items. ACM Transactions on Software Engineering and Methodology, 9(1):94–131, Jan. 2000.

    Google Scholar 

  17. J. van Gurp, J. Bosch, and M. Svahnberg. On the notion of variability in software product lines. In R. Kazman, P. Kruchten, C. Verhoef, and H. van Vliet, editors, Proceedings of the Working IEEE/IFIP Conference on Software Architecture, pages 45–54. IEEE, 2001.

    Google Scholar 

  18. A. van der Hoek, R. S.Hall, D. Heimbigner, and A. L. Wolf. Software release management. In M. Jazayeri and H. Schauer, editors, ESEC/FSE’ 97, volume 1301 of LNCS, pages 159–175. Springer / ACM Press, 1997.

    Google Scholar 

  19. A. van der Hoek and A. L. Wolf. Software release management for component-based software, 2001. (In preparation).

    Google Scholar 

  20. M. de Jonge, E. Visser, and J. Visser. XT: a bundle of program transformation tools. In M. van den Brand and D. Parigot, editors, Proceedings of Language Descriptions, Tools and Applications (LDTA 2001), volume 44 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 2001.

    Google Scholar 

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

    Google Scholar 

  22. C. W Krueger. Software reuse. ACM Computing Surveys, 24(2):131–183, June 1992.

    Google Scholar 

  23. Y.-J. Lin and S. P. Reiss. Configuration management in terms of modules. In J. Estublier, editor, Software Configuration Management: Selected Papers of the ICSE SCM-4 and SCM-5 Workshops, number 1005 in LNCS, pages 101–117. Springer-Verlag, 1995.

    Google Scholar 

  24. D. Mackenzie and B. Elliston. Autoconf: Generating automatic configuration scripts, 1998. http://www.gnu.org/manual/autoconf/.

  25. D. Mackenzie and T. Tromey. Automake, 2001. http://www.gnu.org/manual/automake/.

  26. P. Miller. Recursive make considered harmful, 1997. http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html.

  27. R. van Ommering. Configuration management in component based product populations. In Tenth International Workshop on Software Configuration Management (SCM-10), 2001. http://www.ics.uci.edu/~andre/scm10/papers/ommering.pdf.

  28. R. van Ommering, F. van der Linden, J. Kramer, and J. Magee. The Koala component model for consumer electronics software. IEEE Computer, 33(3):78–85, March 2000.

    Google Scholar 

  29. D. B. Tucker and S. Krishnamurthi. Applying module system research to package management. In Tenth International Workshop on Software Configuration Management (SCM-10), 2001. http://www.ics.uci.edu/~andre/scm10/papers/tucker.pdf.

  30. E. Visser. Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5. In A. Middeldorp, editor, Rewriting Techniques and Applications (RTA’01), volume 2051 of LNCS, pages 357–361. Springer-Verlag, May 2001.

    Chapter  Google Scholar 

  31. D. Whitgift. Methods and Tools for Software Configuration Management. John Wiley & Sons, 1991.

    Google Scholar 

  32. A. Zeller and G. Snelting. Unified versioning through feature logic. ACM Transactions on Software Engineering and Methodology, 6(4):398–441, Oct. 1997.

    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

de Jonge, M. (2002). Source Tree Composition. In: Gacek, C. (eds) Software Reuse: Methods, Techniques, and Tools. ICSR 2002. Lecture Notes in Computer Science, vol 2319. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46020-9_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-46020-9_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43483-2

  • Online ISBN: 978-3-540-46020-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics