Skip to main content

Building Composable Aspect-Specific Languages with Logic Metaprogramming

  • Conference paper
  • First Online:
Generative Programming and Component Engineering (GPCE 2002)

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

Abstract

The goal of aspect-oriented programming is to modularize crosscutting concerns (or aspects) at the code level. These aspects can be defined in either a general-purpose language or in a language that is fine-tuned to a specific aspect in consideration. Aspect-specific languages provide more concise and more readable aspect declarations but are limited to a specific domain. Moreover, multiple aspects may be needed in a single application and composing aspects written in different aspect languages is not an easy task.

To solve this composition problem, we represent both aspects and aspect languages as modularized logic metaprograms. These logic modules can be composed in flexible ways to achieve combinations of aspects written in different aspect-specific languages. As such, the advantages of both general-purpose and aspect-specific languages are combined.

Research assistant of the Fund for Scientific Research - Flanders (Belgium) (F.W.O.)

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. L. Bergmans, M. Aksit, and B. Tekinerdogan. Aspect composition using composition filters. In Software Architectures and Component Technology: The State of the Art in Research and Practice, pages 357–382. Kluwer Academic Publishers, 2001.

    Google Scholar 

  2. J. Brichau. Soul/Aop weaver. http://prog.vub.ac.be/research/aop/soulaop.html.

  3. K. De Volder. Code reuse, an essential concern in the design of aspect languages? Position Paper on Workshop on Advanced Separation of Concerns at ECOOP 2001, 2001.

    Google Scholar 

  4. K. De Volder and T. D’Hondt. Aspect-oriented logic meta-programming. In Meta-Level Architectures and Reflection, Second International Conference, Reflection’99, volume 1616 of LNCS, pages 250–272. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  5. K. Gybels. Expressing crosscutting on a dynamic joinpoint structure using logic meta programming. Graduation thesis, Vrije Universiteit Brussel, 2001.

    Google Scholar 

  6. J. Irwin, J.-M. Loingtier, J. Gilbert, G. Kiczales, J. Lamping, A. Mendhekar, and T. Shpeisman. Aspect-oriented programming of sparse matrix code. In ISCOPE, volume 1343 of LNCS. Springer-Verlag, 1997.

    Google Scholar 

  7. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of Aspect J. In Proceedings of ECOOP 2001, LNCS. Springer-Verlag, 2001.

    Google Scholar 

  8. G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, ECOOP’ 97 — Object-Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241, pages 220–242. Springer-Verlag, New York, NY, 1997.

    Google Scholar 

  9. H. Klaeren, E. Pulvermueller, A. Rashid, and A. Speck. Aspect composition applying the design by contract principle. In Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering, volume 2177 of LNCS, pages 57–69. Springer-Verlag, 2000.

    Chapter  Google Scholar 

  10. C. V. Lopes and G. Kiczales. D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University, 1997.

    Google Scholar 

  11. A. Mendhekar, G. Kiczales, and J. Lamping. RG: A case-study for aspect-oriented programming. Technical Report SPL97-009P9710044, Xerox PARC, February 1997.

    Google Scholar 

  12. K. Mens. Automating Architectural Conformance Checking by means of Logic Meta Programming. PhD thesis, Vrije Universiteit Brussel, 2000.

    Google Scholar 

  13. K. Mens, I. Michiels, and R. Wuyts. Supporting software development through declaratively codified programming patterns. In Proceedings of the 13th SEKE Conference, pages 236–243. Knowledge Systems Institute, 2001.

    Google Scholar 

  14. T. Mens and T. Tourwe. A declarative evolution framework for object-oriented design patterns. In Proceedings of Int. Conf. on Software Maintenance. IEEE Computer Society Press, 2001.

    Google Scholar 

  15. H. Ossher and P. L. Tarr. Hyper/J: multi-dimensional separation of concerns for Java. In Proceedings of ICSE 2000, pages 734–737, 2000.

    Google Scholar 

  16. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053–1058, 1972.

    Article  Google Scholar 

  17. R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. JAC: A flexible and efficient solution for aspect-oriented programming in Java. Submitted to the Reflection Conference, 2001.

    Google Scholar 

  18. A. Rashid. A hybrid approach to separation of concerns: The story of SADES. In Proceedings of the 3rd International Conference on Meta-Level Architectures and Separation of Concerns Reflection 2001, volume 2192 of LNCS, pages 231–249. Springer, 2001.

    Google Scholar 

  19. P. L. Tarr, M. D’Hondt, L. Bergmans, and C. V. Lopes. Workshop on aspects and dimensions of concerns: Requirements on, and challenge problems for, advanced separation of concerns. In ECOOP Workshop reader, volume 1964 of LNCS, pages 203–240. Springer-Verlag, 2000.

    Google Scholar 

  20. R. Wuyts. Declarative reasoning about the structure of object-oriented systems. In Proceedings of TOOLS-USA’ 98, 1998.

    Google Scholar 

  21. R. Wuyts. A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation. PhD thesis, Vrije Universiteit Brussel, 2001.

    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

Brichau, J., Mens, K., De Volder, K. (2002). Building Composable Aspect-Specific Languages with Logic Metaprogramming. In: Batory, D., Consel, C., Taha, W. (eds) Generative Programming and Component Engineering. GPCE 2002. Lecture Notes in Computer Science, vol 2487. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45821-2_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-45821-2_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics