Skip to main content

The COMPOST, COMPASS, Inject/J and RECODER Tool Suite for Invasive Software Composition: Invasive Composition with COMPASS Aspect-Oriented Connectors

  • Chapter
Generative and Transformational Techniques in Software Engineering (GTTSE 2005)

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

Abstract

Program analyses and transformations are means to support program evolution and bridge architectural mismatches in component composition. The Program Structures Group at the University of Karlsruhe und the FZI Karlsruhe, that we are or have been members of, have developed a suite of program analysis and transformation tools to attack these problems.

The basic tool Recoder offers sophisticated source code analyses and a library of common transformations in the form of Java meta programs to perform necessary component and interaction adapations. This library can be extended by the Recoder framework that offers means for implementing custom transformations. A transformation can also be a generator to produce glue code, for example.

Inject/J uses Recoder and offers a comfortable scripting language for implementing transformations. The scripting language combines declarative specifications of the program points, where the transformation should be applied, with imperative specifications of the transformation itself.

COMPASS is focused on bridging interaction mismatches among software components. It introduces architectural elements like components, ports and aspect-oriented connectors as source code transformations based on the Recoder framework.

COMPOST defines the general model of invasive software composition, where the ports of the COMPASS model are just one kind of hooks. Hooks are join points, i.e. part of a component that may be extended or replaced.

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. Allen, R., Garlan, D.: Beyond definition/use: Architectural interconnection. In: ACM IDL Workshop. SIGPLAN Notices, vol. 29(8) (1994)

    Google Scholar 

  2. Aßmann, U.: Invasive Software Composition. Springer, Heidelberg (2002)

    Google Scholar 

  3. Aßmann, U., Ludwig, A., Neumann, R., Heuzeroth, D.: The COMPOST project main page (1999 – 2005), http://www.the-compost-system.org

  4. Carriere, S.J., Woods, S.G., Kazman, R.: Software Architectural Transformation. In: WCRE 1999 (October 1999)

    Google Scholar 

  5. Darwin (2000), http://www.doc.ac.ic.uk

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1994)

    Google Scholar 

  7. Garlan, D., Allen, R., Ockerbloom, J.: Architectural Mismatch: Why Reuse Is So Hard. IEEE Software (1995)

    Google Scholar 

  8. Garlan, D., Shaw, M.: An Introduction to Software Architecture. In: Advances in Software Engineering and Knowledge Engineering. World Scientific Publishing, Singapore (1993)

    Google Scholar 

  9. Genßler, T., Kuttruff, V.: The inject/J project main page (1999 – 2005), http://injectj.sj.net

  10. Genssler, T., Kuttruff, V.: Source-to-Source Transformation In The Large. In: Böszörményi, L., Schojer, P. (eds.) JMLC 2003. LNCS, vol. 2789, pp. 254–265. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  11. Harris, D.R., Yeh, A.S., Reubenstein, H.B.: Extracting Architectural Features From Source Code. ASE 3, 109–138 (1996)

    MathSciNet  Google Scholar 

  12. Heuzeroth, D.: The COMPASS project main page (2003), http://www.info.uni-karlsruhe.de/~heuzer/projects/compass

  13. Heuzeroth, D.: Aspektorientierte Konfiguration und Adaption von Komponenteninteraktionen. PhD thesis, University of Karlsruhe (2004)

    Google Scholar 

  14. Heuzeroth, D.: COMPASS: Tool-supported Adaptation of Interactions. In: Automated Software Engineering 2004. IEEE, Los Alamitos (2004)

    Google Scholar 

  15. Heuzeroth, D.: A Model for an Executable Software Architecture to deal with Evolution and Architectural Mismatches. Technical report, Universität Karlsruhe (2004)

    Google Scholar 

  16. Heuzeroth, D., Högström, G., Holl, T., Löwe, W.: Automatic Design Pattern Detection. In: IWPC (May 2003)

    Google Scholar 

  17. Heuzeroth, D., Holl, T., Löwe, W.: Combining Static and Dynamic Analyses to Detect Interaction Patterns. In: IDPT (June 2002)

    Google Scholar 

  18. Heuzeroth, D., Löwe, W.: Software-Visualization - From Theory to Practice. In: Zhang, K. (ed.) Understanding Architecture Through Structure and Behavior Visualization. Kluwer, Dordrecht (2003)

    Google Scholar 

  19. Heuzeroth, D., Löwe, W., Mandel, S.: Generating Design Pattern Detectors from Pattern Specifications. In: 18th ASE. IEEE, Los Alamitos (2003)

    Google Scholar 

  20. Kazman, R., Clements, P., Bass, L.: Classifying Architectural Elements as a Foundation for Mechanism Matching. In: COMPSAC 1997 (August 1997)

    Google Scholar 

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

    Chapter  Google Scholar 

  22. Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE ToSE 21(4) (1995)

    Google Scholar 

  23. Ludwig, A., Heuzeroth, D.: Metaprogramming in the Large. In: Butler, G., Jarzabek, S. (eds.) GCSE 2000. LNCS, vol. 2177, pp. 443–452. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  24. Ludwig, A., Neumann, R., Heuzeroth, D., Trifu, M.: The RECODER project main page (1999 – 2005), http://recoder.sourceforge.net

  25. OMG. MDA Guide Version 1.0.1. Technical report, OMG (2003)

    Google Scholar 

  26. Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns in Hyperspace. Technical report, IBM T. J. Watson Research Center (April 1999)

    Google Scholar 

  27. Pulvermüller, E., Klaeren, H., Speck, A.: Aspects in distributed environments. In: Czarnecki, K., Eisenecker, U.W. (eds.) GCSE 1999. LNCS, vol. 1799, p. 37. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  28. http://www.reasoning.com (2003)

  29. Shaw, M., DeLine, R., Klein, D.V., Ross, T.L., Young, D.M., Zelesnik, G.: Abstractions for Software Architecture and Tools to Support Them. IEEE ToSE 21(4) (1995)

    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 chapter

Cite this chapter

Heuzeroth, D., Aßmann, U., Trifu, M., Kuttruff, V. (2006). The COMPOST, COMPASS, Inject/J and RECODER Tool Suite for Invasive Software Composition: Invasive Composition with COMPASS Aspect-Oriented Connectors. In: Lämmel, R., Saraiva, J., Visser, J. (eds) Generative and Transformational Techniques in Software Engineering. GTTSE 2005. Lecture Notes in Computer Science, vol 4143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11877028_14

Download citation

  • DOI: https://doi.org/10.1007/11877028_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-45778-7

  • Online ISBN: 978-3-540-46235-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics