Skip to main content

μABC: A Minimal Aspect Calculus

  • Conference paper
CONCUR 2004 - Concurrency Theory (CONCUR 2004)

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

Included in the following conference series:

Abstract

Aspect-oriented programming is emerging as a powerful tool for system design and development. In this paper, we study aspects as primitive computational entities on par with objects, functions and horn-clauses. To this end, we introduce μABC, a name-based calculus, that incorporates aspects as primitive. In contrast to earlier work on aspects in the context of object-oriented and functional programming, the only computational entities in μABC are aspects. We establish a compositional translations into μABC from a functional language with aspects and higher-order functions. Further, we delineate the features required to support an aspect-oriented style by presenting a translation of μABC into an extended π-calculus.

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. AspectJ website. http://www.eclipse.org/aspectj/

  2. Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)

    Book  MATH  Google Scholar 

  3. Aksit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting object-interactions using composition-filters. In: Object-based distributed processing, LNCS (1993)

    Google Scholar 

  4. Association of Computing Machinery. Communications of the ACM (October 2001)

    Google Scholar 

  5. Bauer, L., Ligatti, J., Walker, D.: A calculus for composing security policies. Technical Report TR-655-02, Dept. of Computer Science, Princeton University (2002)

    Google Scholar 

  6. Benveniste, A., Berry, G.: The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79(9), 1270–1282 (1991)

    Article  Google Scholar 

  7. Bergmans, L.: Composing Concurrent Objects - Applying Composition Filters for the Development and Reuse of Concurrent Object-Oriented Programs. Ph.d. thesis, University of Twente (1994), http://wwwhome.cs.utwente.nl/~bergmans/phd.htm

  8. Bierman, G.M., Parkinson, M.J., Pitts, A.M.: An imperative core calculus for Java and Java with effects. Technical Report 563, University of Cambridge Computer Laboratory (April 2003)

    Google Scholar 

  9. Bruns, G., Jagadeesan, R., Jeffrey, A., Riely, J.: μABC: A minimal aspect calculus. Full version (2004), available at: http://fpl.cs.depaul.edu/ajeffrey/papers/muABCfull.pdf

  10. Clifton, C., Leavens, G.T., Wand, M.: Parameterized aspect calculus: A core calculus for the direct study of aspect-oriented languages (October 2003), Submitted for publication at: ftp://ftp.ccs.neu.edu/pub/people/wand/papers/clw-03.pdf

  11. Dantas, D.S., Walker, D.: Aspects, information hiding and modularity (2003), submitted for publication at: http://www.cs.princeton.edu/~dpw/papers/aspectml-nov03.pdf

  12. Dufour, B., Goard, C., Hendren, L., Verbrugge, C., de Moor, O., Sittampalam, G.: Measuring the dynamic behaviour of AspectJ programs (2003)

    Google Scholar 

  13. Filman, R., Friedman, D.: Aspect-oriented programming is quantification and obliviousness (2000)

    Google Scholar 

  14. Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: ACM Symposium on Principles of Programming Languages (POPL), pp. 171–183 (1998)

    Google Scholar 

  15. Fournet, C., Gonthier, G., Levy, J.-J., Maranget, L., Remy, D.: A claculus of mobile agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 406–421. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  16. Hoare, C.A.R.: Communicating Sequential Processes. Int. Series in Computer Science. Prentice Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  17. Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems 23(3), 396–450 (2001)

    Article  Google Scholar 

  18. Jagadeesan, R., Jeffrey, A., Riely, J.: A typed calculus for aspect-oriented programs (2003), Submitted for publication at: http://fpl.cs.depaul.edu/ajeffrey/papers/typedABL.pdf

  19. Jagadeesan, R., Jeffrey, A., Riely, J.: An untyped calculus of aspect oriented programs. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)

    Google Scholar 

  20. Kiczales, G., Coady, Y.: http://www.cs.ubc.ca/labs/spl/projects/aspectc.html

  21. 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)

    Chapter  Google Scholar 

  22. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, 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 

  23. Lieberherr, K.J.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company (1996)

    Google Scholar 

  24. Lopes, C.V.: D: A Language Framework for Distributed Programming. Ph.d. thesis, Northestern University (1997), ftp://ftp.ccs.neu.edu/pub/people/lieber/theses/lopes/dissertation.pdf

  25. Matsuoka, S., Yonezawa, A.: Analysis of inheritance anomaly in object-oriented concurrent programming languages. In: Agha, G., Wegner, P., Yonezawa, A. (eds.) Research Directions in Concurrent Object-Oriented Programming, pp. 107–150. MIT Press, Cambridge (1993)

    Google Scholar 

  26. Milner, R.: The polyadic π-calculus: A tutorial. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds.) Logic and Algebra of Specification, pp. 203–246. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  27. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts I and II. Information and Computation 100(1), 1–40 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  28. Ossher, H., Tarr, P.: Multi-dimensional separation of concerns and the hyperspace approach. In: Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development (2001)

    Google Scholar 

  29. Plotkin, G.: Call-by-name, call-by-value, and the λ-calculus. Theoretical Computer Science 1, 125–159 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  30. Tucker, D., Krishnamurthi, S.: Pointcuts and advice in higher-order languages. In: Conference Record of AOSD 2003: The 2nd International Conference on Aspect Oriented Software Development (2003)

    Google Scholar 

  31. Walker, D., Zdancewic, S., Ligatti, J.: A theory of aspects. In: Conference Record of ICFP 2003: The ACM SIGPLAN International Conference on Functional Programming (2003)

    Google Scholar 

  32. Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. In: TOPLAS (to appear, 2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bruns, G., Jagadeesan, R., Jeffrey, A., Riely, J. (2004). μABC: A Minimal Aspect Calculus. In: Gardner, P., Yoshida, N. (eds) CONCUR 2004 - Concurrency Theory. CONCUR 2004. Lecture Notes in Computer Science, vol 3170. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-28644-8_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-28644-8_14

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-28644-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics