{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T12:27:49Z","timestamp":1780316869799,"version":"3.54.1"},"publisher-location":"Berlin, Heidelberg","reference-count":38,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540630890","type":"print"},{"value":"9783540691273","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[1997]]},"DOI":"10.1007\/bfb0053381","type":"book-chapter","created":{"date-parts":[[2006,6,7]],"date-time":"2006-06-07T04:12:53Z","timestamp":1149653573000},"page":"220-242","source":"Crossref","is-referenced-by-count":2183,"title":["Aspect-oriented programming"],"prefix":"10.1007","author":[{"given":"Gregor","family":"Kiczales","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John","family":"Lamping","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Anurag","family":"Mendhekar","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Chris","family":"Maeda","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Cristina","family":"Lopes","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jean-Marc","family":"Loingtier","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"John","family":"Irwin","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2006,5,23]]},"reference":[{"key":"10_CR1","doi-asserted-by":"crossref","unstructured":"Aksit M., Wakita K., et al., Abstracting object interactions using composition filters, in proc. ECOOP\u201d93 Workshop on Object-Based Distributed Programming, pp. 152\u2013184, 1993.","DOI":"10.1007\/BFb0017540"},{"key":"10_CR2","doi-asserted-by":"crossref","unstructured":"Bobrow D. G., DeMichiel L. G., et al., Common Lisp Object System Specification, in SIGPLAN Notices, vol. 23, 1988.","DOI":"10.1145\/885631.885632"},{"key":"10_CR3","doi-asserted-by":"crossref","unstructured":"Chiba S., A Metaobject Protocol for C++, in proc. Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 95), Austin, 1995.","DOI":"10.1145\/217838.217868"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Consel C, Program Adaptation based on Program Transformation, in proc. ACM Workshop on Strategic Directions in Computing Research, 1996.","DOI":"10.1145\/242224.242431"},{"key":"10_CR5","doi-asserted-by":"crossref","unstructured":"Harrison W. and Ossher H., Subject-oriented programming (a critique of pure objects), in proc. Conference on Object-Oriented Programming: Systems, Languages, and Applications, pp. 411\u2013428, Washington D.C., 1993.","DOI":"10.1145\/167962.165932"},{"key":"10_CR6","doi-asserted-by":"crossref","first-page":"509","DOI":"10.1109\/TSE.1981.231113","volume":"SE-7","author":"S. Henry","year":"1981","unstructured":"Henry S. and Kafura D., Software Structure Metrics Based on Information Flow, in IEEE Transactions on Software Engineering, vol. SE-7: 509\u2013518, 1981.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"10_CR7","unstructured":"Ichisugi Y., Matsuoka S., et al., Rbc1: A reflective object-oriented concurrrent language without a run-time kernel, in proc. International Workshop on New Models for Software Architecture '92; Reflection and Meta-Level Architecture, pp. 24\u201335, 1992."},{"key":"10_CR8","volume-title":"Technical report SPL97-007 P9710045","author":"J. Irwin","year":"1997","unstructured":"Irwin J., Loingtier J.-M., et al., Aspect-Oriented Programming of Sparse Matrix Code, Xerox PARC, Palo Alto, CA. Technical report SPL97-007 P9710045, February, 1997."},{"key":"10_CR9","unstructured":"Kiczales G., Foil for the Workshop on Open Implementation, Xerox PARC, Web pages, http:\/\/www.parc.xerox.com\/spl\/eca\/oi\/workshop-94\/foil\/main.html"},{"key":"10_CR10","unstructured":"Kiczales G., Why are Black Boxes so Hard to Reuse?, Invited Talk, OOPSLA'94, Video tape, Web pages, http:\/\/www.parc.xerox.com\/spl\/eca\/oi\/gregor-invite.html"},{"key":"10_CR11","doi-asserted-by":"crossref","unstructured":"Kiczales G., des Riv\u00e8res J., et al., The Art of the Metaobject Protocol. Book published by MIT Press, 1991.","DOI":"10.7551\/mitpress\/1405.001.0001"},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Kiczales G., Lamping J., et al., Open Implementation Design Guidelines, in proc. International Conference on Software Engineering, (Forthcoming), 1997.","DOI":"10.1145\/253228.253431"},{"issue":"5","key":"10_CR13","doi-asserted-by":"publisher","first-page":"94","DOI":"10.1145\/175290.175303","volume":"37","author":"K. J. Lieberherr","year":"1994","unstructured":"Lieberherr K. J., Silva-Lepe I., et al., Adaptive Object-Oriented Programming Using Graph-Based Customization, in Communications of the ACM, vol. 37(5): 94\u2013101,1994.","journal-title":"Communications of the ACM"},{"key":"10_CR14","volume-title":"Technical report SPL97-010 P9710047","author":"C. V. Lopes","year":"1997","unstructured":"Lopes C. V. and Kiczales G., D: A Language Framework for Distributed Programming, Xerox PARC, Palo Alto, CA. Technical report SPL97-010 P9710047, February, 1997."},{"key":"10_CR15","doi-asserted-by":"crossref","unstructured":"Lopes C. V. and Lieberherr K., Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications, in proc. European Conference on Object-Oriented Programming, pp. 81\u201399, Bologna, Italy, 1994.","DOI":"10.1007\/BFb0052177"},{"key":"10_CR16","unstructured":"Lopes C. V. and Lieberherr K., AP\/S++: Case-Study of a MOP for Purposes of Software Evolution, in proc. Reflection'96, pp. 167\u2013184, S. Francisco, CA, 1996."},{"key":"10_CR17","doi-asserted-by":"crossref","unstructured":"Maeda C., Lee A., et al., Open Implementation Analysis and Design, in proc. Symposium on Software Reuse (To Appear, May 1997), 1997.","DOI":"10.1145\/258366.258383"},{"key":"10_CR18","volume-title":"SPL95-069","author":"J. V. Mahoney","year":"1995","unstructured":"Mahoney J. V., Functional Visual Routines, Xerox Palo Alto Research Center, Palo Alto SPL95-069, July 30, 1995, 1995."},{"key":"10_CR19","doi-asserted-by":"crossref","unstructured":"Massalin H. and Pu C., Threads and Input\/Output in the Synthesis Kernel, in Proceedings of the 12th ACM Symposium on Operating Systems Principles: pp 191\u2013201, 1989.","DOI":"10.1145\/74850.74869"},{"key":"10_CR20","doi-asserted-by":"crossref","unstructured":"Matsuoka S., Watanabe T., et al., Hybrid Group Reflective Architecture for Object-Oriented Concurrent Reflective Programming, in European Conference on Object Oriented Programming: pp 231\u2013250, 1991.","DOI":"10.1007\/BFb0057025"},{"key":"10_CR21","unstructured":"McClure C, A Model for Program Complexity Analysis, in proc. 3rd International Conference on Software Engineering, Los Alamitos, CA, 1978."},{"key":"10_CR22","volume-title":"Technical report SPL97-009 P9710044","author":"A. Mendhekar","year":"1997","unstructured":"Mendhekar A., Kiczales G., et al., RG: A Case-Study for Aspect-Oriented Programming, Xerox PARC, Palo Alto, CA. Technical report SPL97-009 P9710044, February, 1997."},{"key":"10_CR23","unstructured":"Okamura H., Ishikawa Y., et al., Al-1\/d: A distributed programming system with multi-model reflection framework, in proc. International Workshop on New Models for Software Architecture '92; Reflection and Meta-Level Architecture, pp. 36\u201347,1992."},{"key":"10_CR24","doi-asserted-by":"crossref","unstructured":"Okamura H., Ishikawa Y., et al., Metalevel Decomposition in AL-1\/D, in proc. International Symposium on Object Technologies for Advanced Software, pp. 110\u2013127, 1993.","DOI":"10.1007\/3-540-57342-9_69"},{"key":"10_CR25","unstructured":"Parnas D. L., Designing Software for Extension and Contraction, in proc. 3rd International Conference on Software Engineering, pp. 264\u2013277, 1978."},{"key":"10_CR26","unstructured":"Parnas D. L., On a \u2018Buzzword': Hierarchical Structure, in proc. IFIP Congress 74, pp. 336\u2013339, 1974."},{"key":"10_CR27","doi-asserted-by":"crossref","unstructured":"Parnas D. L., On the Criteria to be Used in decomposing Systems into Modules, in Communications of the ACM, vol. 15(2), 1972.","DOI":"10.1145\/361598.361623"},{"key":"10_CR28","doi-asserted-by":"crossref","unstructured":"Pu C, Autrey T., et al., Optimistic Incremental Specialization: Streamlining a Commercial Operating System, in proc. 15th ACM Symposium on Operating Systems Principles (SOSP'95), 1995.","DOI":"10.1145\/224056.224080"},{"key":"10_CR29","unstructured":"Rational, Rational Web pages, Rational Software Corporation, Web pages, http:\/\/www.rational.com"},{"key":"10_CR30","unstructured":"Rumbaugh J., Blaha M., et al., Object-Oriented Modeling and Design. Book published by Prentice Hall, 1991."},{"key":"10_CR31","doi-asserted-by":"crossref","unstructured":"Seiter L. M., Palsberg J., et al., Evolution of Object Behavior Using Context Relations, in proc. Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 46\u201457, San Francisco, 1996.","DOI":"10.1145\/239098.239108"},{"key":"10_CR32","volume-title":"Reflection and Semantics in a Procedural Language LCS Technical Report","author":"B. C. Smith","year":"1982","unstructured":"Smith B. C, Reflection and Semantics in a Procedural Language LCS Technical Report, M.I.T., Cambridge, MA, 1982."},{"key":"10_CR33","unstructured":"Steele G. L., Common LISP: The Language, 2nd Edition. Book published by Digital Press, 1990."},{"key":"10_CR34","doi-asserted-by":"crossref","unstructured":"Wand M. and Friedman D. P., The Mystery of the Tower Revealed: A Non-Reflective Description of the Reflective Tower, in Proceedings of the ACM Conference on LISP and Functional Programming: pp 298\u2013307. ACM, 1986.","DOI":"10.1145\/319838.319871"},{"key":"10_CR35","doi-asserted-by":"crossref","unstructured":"Watanabe T. and Yonezawa A., Reflection in an object-oriented concurrent language, in proc. ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 88), pp. 306\u2013315, San Diego, CA, 1988.","DOI":"10.1145\/62083.62111"},{"key":"10_CR36","first-page":"545","volume":"SE-6","author":"S. Yau","year":"1980","unstructured":"Yau S. and Collofello J., Some Stability Measures for Software Maintenance, in tse, vol. SE-6: 545\u2013552, 1980.","journal-title":"tse"},{"key":"10_CR37","doi-asserted-by":"crossref","unstructured":"Yokote Y., The Apertos Reflective Operating System: The Concept and its Implementation, in proc. Conference on Object-Oriented Programming: Systems, Languages, and Applications, 1992.","DOI":"10.1145\/141936.141970"},{"key":"10_CR38","doi-asserted-by":"crossref","unstructured":"Yonezawa A. and Watanabe T., An Introduction to Object-Based Reflective Concurrent Computation, in Proceedings of the ACM SIGPLAN Workshop on Object-Based Concurrent Programming, SIGPLAN Notices, 24(4), Agha G., Wegner P., et al., Eds., 1989.","DOI":"10.1145\/67387.67399"}],"container-title":["Lecture Notes in Computer Science","ECOOP'97 \u2014 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/BFb0053381","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,4,19]],"date-time":"2019-04-19T06:23:13Z","timestamp":1555654993000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/BFb0053381"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1997]]},"ISBN":["9783540630890","9783540691273"],"references-count":38,"URL":"https:\/\/doi.org\/10.1007\/bfb0053381","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[1997]]}}}