{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:55:28Z","timestamp":1750308928479,"version":"3.41.0"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2004,9,1]],"date-time":"2004-09-01T00:00:00Z","timestamp":1093996800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2004,9]]},"abstract":"<jats:p>\n            A characteristic of aspect-oriented programming, as embodied in Aspect J, is the use of advice and point cuts to define behavior that crosscuts the structure of the rest of the code. The events during execution at which advice may execute are called\n            <jats:italic>join points<\/jats:italic>\n            . A\n            <jats:italic>pointcut<\/jats:italic>\n            is a set of join points. An advice is an action to be taken at the join points in a particular pointcut. In this model of aspect-oriented programming, join points are dynamic in that they refer to events during the flow of execution of the program.We give a denotational semantics for a minilanguage that embodies the key features of dynamic join points, pointcuts, and advice. This is the first semantics for aspect-oriented programming that handles dynamic join points and recursive procedures. It is intended as a baseline semantics against which future correctness results may be measured.\n          <\/jats:p>","DOI":"10.1145\/1018203.1018208","type":"journal-article","created":{"date-parts":[[2004,10,7]],"date-time":"2004-10-07T17:38:56Z","timestamp":1097170736000},"page":"890-910","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":121,"title":["A semantics for advice and dynamic join points in aspect-oriented programming"],"prefix":"10.1145","volume":"26","author":[{"given":"Mitchell","family":"Wand","sequence":"first","affiliation":[{"name":"Northeastern University, Boston, MA"}]},{"given":"Gregor","family":"Kiczales","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, BC, Canada"}]},{"given":"Christopher","family":"Dutchyn","sequence":"additional","affiliation":[{"name":"University of British Columbia, Vancouver, BC, Canada"}]}],"member":"320","published-online":{"date-parts":[[2004,9]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the ECOOP'93 Workshop on Object-Based Distributed Programming, R. Guerraoui, O. Nierstrasz, and M. Riveill, Eds. Lecture Notes in Computer Science","volume":"791","author":"Aksit M.","unstructured":"Aksit , M. , Wakita , K. , Bosch , J. , Bergmans , L. , and Yonezawa , A . 1994. Abstracting object interactions using composition filters . In Proceedings of the ECOOP'93 Workshop on Object-Based Distributed Programming, R. Guerraoui, O. Nierstrasz, and M. Riveill, Eds. Lecture Notes in Computer Science , vol. 791 . Springer-Verlag, Berlin, Heidelberg, and New York, 152--184. Aksit, M., Wakita, K., Bosch, J., Bergmans, L., and Yonezawa, A. 1994. Abstracting object interactions using composition filters. In Proceedings of the ECOOP'93 Workshop on Object-Based Distributed Programming, R. Guerraoui, O. Nierstrasz, and M. Riveill, Eds. Lecture Notes in Computer Science, vol. 791. Springer-Verlag, Berlin, Heidelberg, and New York, 152--184."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/646931.710564"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/28697.28700"},{"key":"e_1_2_1_4_1","volume-title":"Flavors: A Non-Hierarchical Approach to Object-Oriented Programming. Symbolics","author":"Cannon H. I.","year":"1982","unstructured":"Cannon , H. I. 1982 . Flavors: A Non-Hierarchical Approach to Object-Oriented Programming. Symbolics , Inc., Cambridge, Mass . Cannon, H. I. 1982. Flavors: A Non-Hierarchical Approach to Object-Oriented Programming. Symbolics, Inc., Cambridge, Mass."},{"key":"e_1_2_1_5_1","volume-title":"International Workshop on Aspect-Oriented Programming at ECOOP. 25","author":"DeMeuter W.","year":"1997","unstructured":"DeMeuter , W. 1997 . Monads as a theoretical foundation for AOP . In International Workshop on Aspect-Oriented Programming at ECOOP. 25 . DeMeuter, W. 1997. Monads as a theoretical foundation for AOP. In International Workshop on Aspect-Oriented Programming at ECOOP. 25."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/646931.710555"},{"key":"e_1_2_1_7_1","unstructured":"Dutchyn C. Kiczales G. and Masuhara H. 2002. Aspect sand box. http:\/\/www.cs.ubc.ca\/ labs\/spl\/ projects\/asb.html. web site.  Dutchyn C. Kiczales G. and Masuhara H. 2002. Aspect sand box. http:\/\/www.cs.ubc.ca\/ labs\/spl\/ projects\/asb.html. web site."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/383845.383853"},{"key":"e_1_2_1_9_1","unstructured":"Friedman D. P. Wand M. and Haynes C. T. 2001. Essentials of Programming Languages Second ed. MIT Press Cambridge MA.   Friedman D. P. Wand M. and Haynes C. T. 2001. Essentials of Programming Languages Second ed. MIT Press Cambridge MA."},{"key":"e_1_2_1_10_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995","unstructured":"Gamma , E. , Helm , R. , Johnson , R. , and Vlissides , J . 1995 . Design Patterns: Elements of Reusable Object-Oriented Software . Addison Wesley , Reading, Massachusetts . Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, Massachusetts."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/165854.165932"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science. Springer-Verlag","author":"Jagadeesan R.","key":"e_1_2_1_12_1","unstructured":"Jagadeesan , R. , Jeffrey , A. , and Riely , J . 2003. A calculus of untyped aspect-oriented programs . In Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science. Springer-Verlag , Berlin, Heidelberg, and New York. Jagadeesan, R., Jeffrey, A., and Riely, J. 2003. A calculus of untyped aspect-oriented programs. In Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science. Springer-Verlag, Berlin, Heidelberg, and New York."},{"volume-title":"The art of the metaobject protocol","author":"Kiczales G.","key":"e_1_2_1_13_1","unstructured":"Kiczales , G. and des Rivieres , J. 1991. The art of the metaobject protocol . MIT Press , Cambridge, MA, USA . Kiczales, G. and des Rivieres, J. 1991. The art of the metaobject protocol. MIT Press, Cambridge, MA, USA."},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science","volume":"2072","author":"Kiczales G.","unstructured":"Kiczales , G. , Hilsdale , E. , Hugunin , J. , Kersen , M. , Palm , J. , and Griswold , W. G . 2001. An overview of AspectJ . In Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science , vol. 2072 . Springer-Verlag, Berlin, Heidelberg, and New York, 327--353. Kiczales, G., Hilsdale, E., Hugunin, J., Kersen, M., Palm, J., and Griswold, W. G. 2001. An overview of AspectJ. In Proceedings of the European Conference on Object-Oriented Programming. Lecture Notes in Computer Science, vol. 2072. Springer-Verlag, Berlin, Heidelberg, and New York, 327--353."},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the European Conference on Object-Oriented Programming, M. Ak\u015fit and S. Matsuoka, Eds.","volume":"1241","author":"Kiczales G.","unstructured":"Kiczales , G. , Lamping , J. , Mendhekar , A. , Maeda , C. , Lopes , C. , Loingtier , J.-M. , and Irwin , J . 1997. Aspect-oriented programming . In Proceedings of the European Conference on Object-Oriented Programming, M. Ak\u015fit and S. Matsuoka, Eds. Vol. 1241 . Springer-Verlag, Berlin, Heidelberg, and New York, 220--242. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. 1997. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming, M. Ak\u015fit and S. Matsuoka, Eds. Vol. 1241. Springer-Verlag, Berlin, Heidelberg, and New York, 220--242."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/508386.508392"},{"volume-title":"Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns","author":"Lieberherr K. J.","key":"e_1_2_1_17_1","unstructured":"Lieberherr , K. J. 1996. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns . PWS Publishing Company , Boston, Mass . Lieberherr, K. J. 1996. Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston, Mass."},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming. ACM Press","author":"Masuhara H.","key":"e_1_2_1_18_1","unstructured":"Masuhara , H. and Kiczales , G . 2003. Crosscutting in aspect-oriented mechanisms . In Proceedings of the European Conference on Object-Oriented Programming. ACM Press , New York. Masuhara, H. and Kiczales, G. 2003. Crosscutting in aspect-oriented mechanisms. In Proceedings of the European Conference on Object-Oriented Programming. ACM Press, New York."},{"volume-title":"FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002, G. T. Leavens and R. Cytron, Eds. Tech. Rep. 02-06","author":"Masuhara K.","key":"e_1_2_1_19_1","unstructured":"Masuhara , K. , Kiczales , G. , and Dutchyn , C . 2002. Compilation semantics of aspect-oriented programs . In FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002, G. T. Leavens and R. Cytron, Eds. Tech. Rep. 02-06 . Department of Computer Science, Iowa State University, 17--26. Masuhara, K., Kiczales, G., and Dutchyn, C. 2002. Compilation semantics of aspect-oriented programs. In FOAL 2002 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002, G. T. Leavens and R. Cytron, Eds. Tech. Rep. 02-06. Department of Computer Science, Iowa State University, 17--26."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/0890-5401(91)90052-4"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/28697.28698"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/337180.337618"},{"key":"e_1_2_1_23_1","unstructured":"Peyton Jones S. Ed. 1999. Haskell 98---a non-strict purely functional language. Available from http:\/\/www.haskell.org\/onlinereport.  Peyton Jones S. Ed. 1999. Haskell 98---a non-strict purely functional language. Available from http:\/\/www.haskell.org\/onlinereport."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/800017.800513"},{"volume-title":"Common Lisp: the Language","author":"Steele G. L.","key":"e_1_2_1_25_1","unstructured":"Steele , G. L. 1990. Common Lisp: the Language , Second ed. Digital Press , Burlington, MA . Steele, G. L. 1990. Common Lisp: the Language, Second ed. Digital Press, Burlington, MA."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643620"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/143165.143169"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/944705.944718"},{"key":"e_1_2_1_29_1","volume-title":"Flavors: Message passing in the LISP machine. A. I. Memo 602","author":"Weinreb D.","year":"1981","unstructured":"Weinreb , D. and Moon , D. A . 1981 . Flavors: Message passing in the LISP machine. A. I. Memo 602 , Massachusetts Institute of Technology , A.I. Lab., Cambridge, Massachusetts. Weinreb, D. and Moon, D. A. 1981. Flavors: Message passing in the LISP machine. A. I. Memo 602, Massachusetts Institute of Technology, A.I. Lab., Cambridge, Massachusetts."}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1018203.1018208","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1018203.1018208","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T21:36:46Z","timestamp":1750282606000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1018203.1018208"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,9]]},"references-count":29,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2004,9]]}},"alternative-id":["10.1145\/1018203.1018208"],"URL":"https:\/\/doi.org\/10.1145\/1018203.1018208","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2004,9]]},"assertion":[{"value":"2004-09-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}