Skip to main content

General Composition of Software Artifacts

  • Conference paper
Software Composition (SC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4089))

Included in the following conference series:

Abstract

Composition is the process of creating new artifacts from a set of input artifacts by combining the content of the input artifacts according to some given specifications. Composition engines are a distinct kind of software component. Like compilers, parsers, and UI-generators, they have their own domain of discourse and base of concepts, their own structure for expressing desired results, their own internal solution structure, and their own set of research problems. Composition applies not only to artifacts representing executable code, but to any sort of artifacts, from build or configuration controls to documentation or UI. While software composition is of interest to an audience wider than that of developers applying aspect-oriented software development (AOSD) approaches, AOSD’s composition of separate concerns or aspects presents more complex requirements than does object-composition. This paper describes a base of concepts suitable for expressing composition and shows how a general composition engine realizing these concepts can be used to effect the composition needs of several existing AOSD approaches.

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. AspectWerkz web site, http://aspectwerkz.codehaus.org

  2. Aksit, M., Bergmans, L., Vural, S.: An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach. In: Proc. European Conference on Object-Oriented Programming (1992)

    Google Scholar 

  3. Batory, D.S., Singhal, V., Thomas, J., Dasari, S., Geraci, B., Sirkin, M.: The GenVoca Model of Software-System Generators. IEEE Software (September 1994)

    Google Scholar 

  4. Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  5. Cohen, G., Chase, J.: Automatic Program Transformation with JOIE. In: USENIX Annual Technical Conference (June 1998)

    Google Scholar 

  6. Harrison, W., Ossher, H.: Subject-Oriented Programming: A Critique of Pure Objects. In: Proc. 8th conference on Object-oriented programming systems, languages, and applications, pp. 411–428 (1993)

    Google Scholar 

  7. Harrison, W., Ossher, H.: Member-Group Relationships Among Objects, In: Workshops on Foundations of Aspect Languages, on Aspect-Oriented Design, and on UML in Aspect-Oriented Software at International Conference on Aspect-Oriented Software Development (March 2002)

    Google Scholar 

  8. Harrison, W., Ossher, H., Sutton, S., Tarr, P.: The Concern Manipulation Environment—Supporting aspect-oriented software development. IBM Systems Journal Special Interest Issue on Open Source 44(2) (2005)

    Google Scholar 

  9. Harrison, W.H., Ossher, H.L., Tarr, P.L., Kruskal, V., Tip, F.: "CAT: A Toolkit for Assem-bling Concerns" IBM Research Report RC22686 (December 2002)

    Google Scholar 

  10. Helm, R., Holland, I., Gangopadhyay, D.: Contracts: Specifying Behavioral Compositions in Object-Oriented Systems. In: Proceedings of the Conference on Object-Oriented Programming: Systems, Languages, and Applications, Vancouver. ACM, New York (1990)

    Google Scholar 

  11. Hillsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: Proc. 3rd International Conference on Aspect-Oriented Software Development, pp. 26–35 (2004)

    Google Scholar 

  12. Keller, R., Hölzle, U.: Binary Component Adaptation. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, p. 307. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  13. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Lo-ingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  14. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Proc. 15th European Conference on Object-Oriented Programming, pp. 327–353 (2001)

    Google Scholar 

  15. Kniesel, G., Constanza, P., Austermann, M.: JMangler – A Framework for Load-Time Transformation of Java Class Files. In: IEEE Workshop on Source Code Analysis and Manipulation (SCAM) (November 2001)

    Google Scholar 

  16. Lau, K.-K., Wang, Z.: A Taxonomy of Software Component Models. In: Proceedings of 31st Euromicro Conference on Software Engineering and Advanced Applications. IEEE, Los Alamitos (2005)

    Google Scholar 

  17. JBOSS web page, http://www.jboss.org

  18. Mezini, M., Lieberherr, K.: Adaptive Plug-and-Play Components for Evolutionary Software Development. In: Proc. Conference on Object-oriented Programming: Systems, Languages, and Applications (1998)

    Google Scholar 

  19. Smaragdakis, Batory: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM Transactions on Software Engineering and Methodology (April 2002)

    Google Scholar 

  20. Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.M.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. 21st International Conference on Software Engineering, pp. 107–119 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, W., Ossher, H., Tarr, P. (2006). General Composition of Software Artifacts. In: Löwe, W., Südholt, M. (eds) Software Composition. SC 2006. Lecture Notes in Computer Science, vol 4089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821946_13

Download citation

  • DOI: https://doi.org/10.1007/11821946_13

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics