Skip to main content

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 6580))

Abstract

Aspect orientation has been used to improve the modularization of crosscutting concerns that emerge at different levels of software abstraction. Although initial research was focused on imparting aspect-oriented (AO) capabilities to programming languages, the paradigm was later on extended to software artifacts that appear at higher levels of abstraction (e.g., models). In particular, the Model-Driven Engineering (MDE) paradigm has largely benefitted from the inclusion of aspect-oriented techniques. In a converse way, we believe it may also be productive to investigate how MDE techniques can be adopted to benefit the development of aspect-oriented tools. The main objective of this paper is to show how MDE techniques can be used to improve the construction of aspect weavers for General-Purpose Languages (GPLs) through reusable models and transformations. The approach described in the paper uses models to capture the concepts of various Aspect-Oriented Programming (AOP) language constructs at a metamodeling level. These models are then mapped to concrete weavers for GPLs through a combination of higher-order model transformation and program transformation rules. A generic extension to the framework further supports reusability of artifacts among weavers during the construction process. Aspect weavers for FORTRAN and Object Pascal have been constructed using the framework, and their features evaluated against several case study applications.

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. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Liu, Y., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  2. Clarke, S., Harrison, W., Ossher, H., Tarr, P.: Subject-Oriented Design: Towards Improved Alignment of Requirements, Design, and Code. In: Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Denver, CO, October 1999, pp. 325–339 (1999)

    Google Scholar 

  3. Jacobson, I., Ng, P.: Aspect-Oriented Software Development with Use Cases. Addison-Wesley, Reading (2005)

    Google Scholar 

  4. France, R., Ray, I., Georg, G., Ghosh, S.: Aspect-Oriented Approach to Design Modeling. IEE Proceedings - Software (Special Issue on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design) 151(4), 173–185 (2004)

    Google Scholar 

  5. Schmidt, D.: Guest Editor’s Introduction: Model-Driven Engineering. IEEE Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  6. Lämmel, R., Verhoef, C.: Cracking the 500 Language Problem. IEEE Software, 78–88 (November/December 2001)

    Google Scholar 

  7. Ulrich, W.: Legacy Systems: Transformation Strategies. Prentice-Hall, Englewood Cliffs (2002)

    Google Scholar 

  8. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting Started with AspectJ. Communications of the ACM, 59–65 (October 2001)

    Google Scholar 

  9. Baxter, I., Pidgeon, C., Mehlich, M.: DMS: Program Transformation for Practical Scalable Software Evolution. In: International Conference on Software Engineering (ICSE), Edinburgh, Scotland, May 2004, pp. 625–634 (2004)

    Google Scholar 

  10. Fradet, P., Südholt, M.: Towards a Generic Framework for Aspect-Oriented Programming. In: Demeyer, S., Dannenberg, R.B. (eds.) ECOOP 1998 Workshops. LNCS, vol. 1543, pp. 394–397. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Aßmann, U., Ludwig, A.: Aspect Weaving with Graph Rewriting. In: International Symposium on Generative and Component-Based Software Engineering, Erfurt, Germany, September 1999, pp. 24–36 (1999)

    Google Scholar 

  12. Gray, J., Roychoudhury, S.: A Technique for Constructing Aspect Weavers using a Program Transformation Engine. In: International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, March 2004, pp. 36–45 (2004)

    Google Scholar 

  13. van den Brand, M., Heering, J., Klint, P., Olivier, P.: Compiling Rewrite Systems: The ASF+SDF Compiler. ACM Transactions on Programming Languages and Systems, 334–368 (July 2002)

    Google Scholar 

  14. Cordy, J.: The TXL Source Transformation Language. Science of Computer Programming 61(3), 190–210 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  15. Akers, R., Baxter, I., Mehlich, M., Ellis, B., Luecke, K.: Case Study: Re-engineering C++ Component Models via Automatic Program Transformation. Information & Software Technology 49(3), 275–291 (2007)

    Article  Google Scholar 

  16. Adams, B.: Language-independent Aspect Weaving. Summer School on Generative and Transformational Techniques in Software Engineering, Braga, Portugal (July 2005)

    Google Scholar 

  17. Jackson, A., Clarke, S.: SourceWeave. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 115–135. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  18. Lafferty, D., Cahill, V.: Language-Independent Aspect-Oriented Programming. In: Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Anaheim, CA, October 2003, pp. 1–12 (2003)

    Google Scholar 

  19. Lämmel, R.: Declarative Aspect-Oriented Programming. In: ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, San Antonio, TX, January 1999, pp. 131–146 (1999)

    Google Scholar 

  20. Jouault, F., Bézivin, J.: KM3: a DSL for Metamodel Specification. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 171–185. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  21. Kurtev, I., Bézivin, J., Jouault, F., Valduriez, P.: Model-based DSL Frameworks. In: Object-Oriented Programming, Systems, Languages and Applications, Portland, OR, October 2006, pp. 602–616 (2006)

    Google Scholar 

  22. Barbero, M., Jouault, F., Gray, J., Bézivin, J.: A Practical Approach to Model Extension. In: European Conference on Model Driven Architecture Foundations and Applications (ECMDA), Haifa, Israel, June 2007, pp. 32–42 (2007)

    Google Scholar 

  23. Jouault, F., Bézivin, J., Kurtev, I.: TCS: A DSL for the Specification of Textual Concrete Syntaxes in Model Engineering. In: Generative Programming and Component Engineering (GPCE), Portland, OR, October 2006, pp. 249–254 (2006)

    Google Scholar 

  24. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A Model Transformation Tool. Science of Computer Programming 72(1-2), 31–39 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  25. Harbulot, B., Gurd, J.: Using AspectJ to Separate Concerns in Parallel Scientific Java Code. In: International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, March 2004, pp. 122–131 (2004)

    Google Scholar 

  26. Heidenreich, F., Johannes, J., Zschaler, S.: Aspect Orientation for Your Language of Choice. In: 11th International Workshop on Aspect-Oriented Modeling, Nashville, TN (September 2007)

    Google Scholar 

  27. Morin, B., Barais, O., Jézéquel, J., Ramos, R.: Towards a Generic Aspect-Oriented Modeling Framework. In: Workshop on Models and Aspects (ECOOP), Berlin, Germany (July 2007)

    Google Scholar 

  28. Klint, P., Lämmel, R., Verhoef, C.: Toward an Engineering Discipline for Grammarware. ACM Transactions on Software Engineering and Methodology 14(3), 331–380 (2005)

    Article  Google Scholar 

  29. Gropp, W., Lusk, E., Doss, N., Skjellum, A.: A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard. Parallel Computing 22(6), 789–828 (1996)

    Article  MATH  Google Scholar 

  30. GenAWeave project website, http://www.cis.uab.edu/softcom/genaweave

  31. Lämmel, R., De Schutter, K.: What Does Aspect-Oriented Programming Mean to Cobol? In: International Conference on Aspect-Oriented Software Development (AOSD), Chicago, IL, March 2005, pp. 99–110 (2005)

    Google Scholar 

  32. Germon, R.: Using XML as an Intermediate Form for Compiler Development. In: XML Conference and Exposition, Orlando, FL (December 2001)

    Google Scholar 

  33. Bravenboer, M., Visser, E.: Concrete Syntax for Objects: Domain-specific Language Embedding and Assimilation without Restrictions. In: Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Vancouver, Canada, October 2004, pp. 365–383 (2004)

    Google Scholar 

  34. De Roover, C., Brichau, J., Noguera, C., D’Hondt, T., Duchiena, L.: Behavioural Similarity Matching using Concrete Source Code Templates in Logic Queries. In: ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2007), Nice, France, January 2007, pp. 92–101 (2007)

    Google Scholar 

  35. Ramos, R., Barais, O., Jézéquel, J.: Matching Model-Snippets. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 121–135. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  36. Steel, J., Jézéquel, J.: On Model Typing. Journal of Software and Systems Modeling (SoSyM) 6(4), 452–468 (2007)

    Google Scholar 

  37. Eclipse Model to Text (M2T) project, http://www.eclipse.org/modeling/m2t/

  38. Lopes, C.: D: A Language Framework for Distributed Programming. Ph.D. Dissertation, College of Computer Science, Northeastern University, December 1997 (1998)

    Google Scholar 

  39. Jossic, A., Del Fabro, M., Lerat, J., Bézivin, J., Jouault, F.: Model Integration with Model Weaving: A Case Study in System Architecture. In: International Conference on Systems Engineering and Modeling, Haifa, Israel, March 2007, pp. 79–84 (2007)

    Google Scholar 

  40. Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, March 2004, pp. 26–35 (2004)

    Google Scholar 

  41. Schult, W., Tröger, P.: Loom.NET - An Aspect Weaving Tool. In: Cardelli, L. (ed.) ECOOP 2003. Schult, W., Tröger, P, vol. 2743. Springer, Heidelberg (2003)

    Google Scholar 

  42. Brichau, J., Mezini, M., Noyé, J., Havinga, W., Bergmans, L., Gasiunas, V., Bockisch, C., Fabry, J., D’Hondt, T.: An Initial Metamodel for Aspect-Oriented Programming Languages, Deliverable D39. In: AOSD-Europe (2006)

    Google Scholar 

  43. Tanter, E.: An Extensible Kernel Language for AOP. In: AOSD Workshop on Open and Dynamic Aspect Languages, Bonn, Germany (2006)

    Google Scholar 

  44. de Roo, A., Hendriks, M., Havinga, W., Durr, P., Bergmans, L.: Compose*: A Language- and Platform-Independent Aspect Compiler for Composition Filters. In: Workshop on Advanced Software Development Tools and Techniques, Pahpos, Cyprus (July 2008)

    Google Scholar 

  45. Chalabine, M., Kessler, C.W.: Parallelisation of Sequential Programs by Invasive Composition and Aspect Weaving. In: Cao, J., Nejdl, W., Xu, M. (eds.) APPT 2005. LNCS, vol. 3756, pp. 131–140. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  46. Irwin, J., Loingtier, J., Gilbert, J., Kiczales, G., Lamping, J., Mendhekar, A., Shpeisman, T.: Aspect-Oriented Programming of Sparse Matrix Code. In: Sun, Z., Reynders, J.V.W., Tholburn, M. (eds.) ISCOPE 1997. LNCS, vol. 1343, pp. 249–256. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  47. Herrmann, C., Lengauer, C.: Using Metaprogramming to Parallelize Functional Specifications. Parallel Processing Letter 12(2), 193–210 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Roychoudhury, S., Gray, J., Jouault, F. (2011). A Model-Driven Framework for Aspect Weaver Construction. In: Katz, S., Mezini, M., Schwanninger, C., Joosen, W. (eds) Transactions on Aspect-Oriented Software Development VIII. Lecture Notes in Computer Science, vol 6580. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22031-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22031-9_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22030-2

  • Online ISBN: 978-3-642-22031-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics