Skip to main content

Practical Conflict Resolution for the Composition of Program Transformations

  • Conference paper
Software Composition (SC 2008)

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

Included in the following conference series:

  • 355 Accesses

Abstract

The composition of separate concerns is a cornerstone for the construction of complex software. By now, aspect-oriented techniques have been established as the sine qua non in several application areas. However, their abilities to cope with composition conflicts are mostly limited to the linear ordering of aspects. This paper describes a more general and practical approach for the resolution of composition conflicts as it is realised in our general-purpose transformation system LLTS.

Our system divides a composition into two phases. In the expansion phase separate transformations add concern code within their isolated copies of the base code. In the subsequent contraction phase the manipulations of the first phase are compared and merged wherever possible. A hinting mechanism guides the semi-automatic merging on three levels: Conflicts are detected using compatibility relations between operators, by reconciling annotations of complex transformation tasks, and based on semantic predicates of the base code language. Conflicts are reported to the user with a comprehensive explanation and can be resolved with manual by-case deviations from the original transformation code. As a result, conflicts can be remedied on a finer granularity, e.g., by revising only parts of a transformation in a certain context.

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. Elrad, T., Filman, R., Bader, A.: Editorial: Aspect-oriented programming (and following articles). In: Elrad, T., Filman, R., Bader, A. (eds.) Communications of the ACM, vol. 44(10) (2001)

    Google Scholar 

  2. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–355. Springer, Heidelberg (2001)

    Google Scholar 

  3. Ostermann, K., Kniesel, G.: Independent extensibility - an open challenge for aspectj and hyper/j. In: Lopes, C.V. (ed.) ECOOP 2000 Workshop on Aspects and Dimension of Concerns (2000)

    Google Scholar 

  4. Kleppe, A., Warmer, J., Bast, W.: MDA Explained. The model driven architecture: practice and promise. Addison-Wesley, Reading (2003)

    Google Scholar 

  5. W3C: XML Path Language (XPath) 2.0, http://www.w3.org/TR/xpath20/

  6. Steele, G.: COMMON LISP: the language. Digital Press (1990), ISBN 1-55558-041-6

    Google Scholar 

  7. Schmied, A.I.: The LLTS Transformation Language. Technical Report TR-2007-1, Institute of Distributed Systems, Ulm University, Germany (online publication pending) (2007)

    Google Scholar 

  8. Heuzeroth, D., Aßmann, U., Trifu, M., Kuttruff, V.: 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.) GTTSE 2005. LNCS, vol. 4143, Springer, Heidelberg (2006)

    Google Scholar 

  9. Kniesel, G., Koch, H.: Static composition of refactorings. Sci. Comput. Program. 52(1-3), 9–51 (2004)

    Google Scholar 

  10. Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis - a comparison of two approaches. In: Rousseau, R., Urtado, C., Vauttier, S., (eds.) LMO, Hermès Lavoisier, pp. 167–184 (2006)

    Google Scholar 

  11. Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, Springer, Heidelberg (2004)

    Google Scholar 

  12. Havinga, W., Nagy, I., Bergmans, L., Aksit, M.: A graph-based approach to modeling and detecting composition conflicts related to introductions. In: Barry, B.M., de Moor, O. (eds.) AOSD, pp. 85–95. ACM, New York (2007)

    Google Scholar 

  13. Andrews, J.H.: Process-algebraic foundations of aspect-oriented programming. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 187–209. Springer, Heidelberg (2001)

    Google Scholar 

  14. Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Murphy, G.C., Lieberherr, K.J. (eds.) AOSD, pp. 141–150. ACM, New York (2004)

    Google Scholar 

  15. Tanter, É.: Aspects of composition in the Reflex AOP kernel. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 98–113. Springer, Heidelberg (2006)

    Google Scholar 

  16. Lagaisse, B., Joosen, W., De Win, B.: Managing semantic interference with aspect integration contracts. In: International Workshop on Software-Engineering Properties of Languages for Aspect Technologies (SPLAT), Lancaster, United Kingdom (2004)

    Google Scholar 

  17. Greenwood, P., Lagaisse, B., Sanen, F., Coulson, G., Rashid, A., Truyen, E., Joosen, W.: Interactions in AO middleware. In proceedings of Workshop on Aspects, dependencies and Interactions at ECOOP 2007 (2007)

    Chapter  Google Scholar 

  18. Pawlak, R., Duchien, L., Seinturier, L.: CompAr: Ensuring safe around advice composition. In: Steffen, M., Zavattaro, G. (eds.) FMOODS 2005. LNCS, vol. 3535, pp. 163–178. Springer, Heidelberg (2005)

    Google Scholar 

  19. Durr, P., Bergmans, L., Aksit, M.: Reasoning about semantic conflicts between aspects. In: Proceedings of ADI 2006 Aspect, Dependencies, and Interactions Workshop, held at ECOOP, Lancaster University (2006)

    Google Scholar 

  20. Apel, S., Liu, J.: On the notion of functional aspects in aspect-oriented refactoring. In: Proceedings of ADI 2006 Aspects, Dependencies, and Interactions Workshop, held at ECOOP, Lancaster University (2006)

    Google Scholar 

  21. Störzer, M., Sterr, R., Forster, F.: Detecting precedence-related advice interference. In: 21st IEEE International Conference on Automated Software Engineering (ASE 2006) (2006)

    Google Scholar 

  22. Ducasse, S., Nierstrasz, O., Schärli, N., Wuyts, R., Black, A.P.: Traits: A mechanism for fine-grained reuse. ACM Transactions on Programming Languages and Systems 28(2), 331–388 (2006)

    Google Scholar 

  23. Meyer, B.: Harnessing multiple inheritance. JOOP (Journal of Object-Oriented Programming) 1(4), 48–51 (1988)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Cesare Pautasso Éric Tanter

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schmied, A.I., Hauck, F.J. (2008). Practical Conflict Resolution for the Composition of Program Transformations. In: Pautasso, C., Tanter, É. (eds) Software Composition. SC 2008. Lecture Notes in Computer Science, vol 4954. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78789-1_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78789-1_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78788-4

  • Online ISBN: 978-3-540-78789-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics