{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:32:06Z","timestamp":1750307526844,"version":"3.41.0"},"reference-count":54,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2009,8,1]],"date-time":"2009-08-01T00:00:00Z","timestamp":1249084800000},"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. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2009,8]]},"abstract":"<jats:p>The contribution of this work is the design and evaluation of a programming language model that unifies aspects and classes as they appear in AspectJ-like languages. We show that our model preserves the capabilities of AspectJ-like languages, while improving the conceptual integrity of the language model and the compositionality of modules. The improvement in conceptual integrity is manifested by the reduction of specialized constructs in favor of uniform orthogonal constructs. The enhancement in compositionality is demonstrated by better modularization of integration and higher-order crosscutting concerns.<\/jats:p>","DOI":"10.1145\/1555392.1555396","type":"journal-article","created":{"date-parts":[[2009,8,4]],"date-time":"2009-08-04T13:38:02Z","timestamp":1249393082000},"page":"1-41","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Unifying aspect- and object-oriented design"],"prefix":"10.1145","volume":"19","author":[{"given":"Hridesh","family":"Rajan","sequence":"first","affiliation":[{"name":"Iowa State University, Ames, IA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kevin J.","family":"Sullivan","sequence":"additional","affiliation":[{"name":"University of Virginia, Charlottesville, VA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,8,4]]},"reference":[{"volume":"791","volume-title":"Proceedings of the ECOOP'93 Workshop on Object-Based Distributed Programming, R. Guerraoui et al., Eds. Lecture Notes in Computer Science","author":"Aksit M.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1218563.1218582"},{"key":"e_1_2_1_3_1","unstructured":"Bergmans L. and Ak&amp;#351;it M. 2005. Principles and Design Rationale of Composition Filters. Addison-Wesley Boston 63--95.  Bergmans L. and Ak&amp;#351;it M. 2005. Principles and Design Rationale of Composition Filters. Addison-Wesley Boston 63--95."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976273"},{"key":"e_1_2_1_5_1","unstructured":"Brooks F. P. 1995. The Mythical Man-Month: Essays on Software Engineering 20th Anniversary Edition 2nd Ed. Addison Wesley Reading.   Brooks F. P. 1995. The Mythical Man-Month: Essays on Software Engineering 20th Anniversary Edition 2nd Ed. Addison Wesley Reading."},{"key":"e_1_2_1_6_1","unstructured":"Bryant A. and Feldt R. 2002. AspectR: Simple aspect-oriented programming in Ruby. http:\/\/aspectr.sourceforge.net\/.  Bryant A. and Feldt R. 2002. AspectR: Simple aspect-oriented programming in Ruby. http:\/\/aspectr.sourceforge.net\/."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976279"},{"volume":"2","volume-title":"Proceedings of the International Workshop on Distributed Dynamic Multiservice Architectures (ICDCS'01)","author":"Constantinides C. A.","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/362929.362947"},{"key":"e_1_2_1_10_1","unstructured":"Douence R. and S&amp;#252;dholt M. 2002. A model and a tool for event-based aspect-oriented programming (EAOP). Tech. rep. 02\/11\/INFO Ecole des Mines de Nantes.  Douence R. and S&amp;#252;dholt M. 2002. A model and a tool for event-based aspect-oriented programming (EAOP). Tech. rep. 02\/11\/INFO Ecole des Mines de Nantes."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1353482.1353505"},{"key":"e_1_2_1_12_1","unstructured":"Filman R. E. Barrett S. Lee D. D. and Linden T. 2005. Inserting Ilities by Controlling Communications. Addison-Wesley Boston 283--295.  Filman R. E. Barrett S. Lee D. D. and Linden T. 2005. Inserting Ilities by Controlling Communications. Addison-Wesley Boston 283--295."},{"volume-title":"Proceedings of the Workshop on Advanced Separation of Concerns (OOPSLA 00)","author":"Filman R. E.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","unstructured":"Filman R. E. and Friedman D. P. 2004. Aspect-oriented programming is quantification and obliviousness. In Aspect-Oriented Software Development. Addison-Wesley Professional 21--35.  Filman R. E. and Friedman D. P. 2004. Aspect-oriented programming is quantification and obliviousness. In Aspect-Oriented Software Development. Addison-Wesley Professional 21--35."},{"volume-title":"Proceedings of the Workshop on Advanced Separation of Concerns in Object-Oriented Systems (OOPSLA'01)","author":"Gal A.","key":"e_1_2_1_15_1"},{"volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","year":"1995","author":"Gamma E.","key":"e_1_2_1_16_1"},{"volume-title":"Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development (VDM'91)","author":"Garlan D.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Garlan D. and Shaw M. 1993. An introduction to software architecture. In Advances in Software Engineering and Knowledge Engineering V. Ambriola and G. Tortora Eds. vol. 1. World Scientific Publishing Company 1--40.  Garlan D. and Shaw M. 1993. An introduction to software architecture. In Advances in Software Engineering and Knowledge Engineering V. Ambriola and G. Tortora Eds. vol. 1. World Scientific Publishing Company 1--40.","DOI":"10.1142\/9789812798039_0001"},{"key":"e_1_2_1_19_1","unstructured":"Gosling J. Joy B. and Steele G. L. 1996. The Java Language Specification. Addison-Wesley Longman Publishing Boston.   Gosling J. Joy B. and Steele G. L. 1996. The Java Language Specification. Addison-Wesley Longman Publishing Boston."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643610"},{"key":"e_1_2_1_21_1","unstructured":"Harrison W. Ossher H. and Tarr P. 2003. Asymmetrically vs. symmetrically organized paradigms for software composition. In Software Engineering Properties of Languages for Aspect Technologies (SPLAT) L. Bergmans et al. Eds.  Harrison W. Ossher H. and Tarr P. 2003. Asymmetrically vs. symmetrically organized paradigms for software composition. In Software Engineering Properties of Languages for Aspect Technologies (SPLAT) L. Bergmans et al. Eds."},{"volume-title":"Revised Articles from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World (NODe'02)","author":"Herrmann S.","key":"e_1_2_1_22_1"},{"volume-title":"Revised Articles from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World (NODe'02)","author":"Hirschfeld R.","key":"e_1_2_1_23_1"},{"key":"e_1_2_1_24_1","unstructured":"Johnson R. Hoeller J. Arendsen A. Sampaleanu C. and Horrop R. 2007. The spring framework reference documentation 2.03. http:\/\/static.springframework.org.  Johnson R. Hoeller J. Arendsen A. Sampaleanu C. and Horrop R. 2007. The spring framework reference documentation 2.03. http:\/\/static.springframework.org."},{"key":"e_1_2_1_25_1","unstructured":"Khan K. Burke B. Rainone F. Pedersen S. Fleury M. Brock A. Hussenet C. and Culpepper M. 2007. JBoss AOP reference documentation. www.jboss.org.  Khan K. Burke B. Rainone F. Pedersen S. Fleury M. Brock A. Hussenet C. and Culpepper M. 2007. JBoss AOP reference documentation. www.jboss.org."},{"volume":"2072","volume-title":"Proceedings of the Object-Oriented Programming 15th European Conference on (ECOOP'01)","author":"Kiczales G.","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/253228.253431"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP'97)","author":"Kiczales G.","key":"e_1_2_1_28_1"},{"key":"e_1_2_1_29_1","unstructured":"Kim H. 2002. AspectC&amp;num;: An aosd implementation for C&amp;num;. Tech. rep. TCD-CS-2002-55 Department of Computer Science Trinity College Dublin.  Kim H. 2002. AspectC&amp;num;: An aosd implementation for C&amp;num;. Tech. rep. TCD-CS-2002-55 Department of Computer Science Trinity College Dublin."},{"key":"e_1_2_1_30_1","unstructured":"Koopmans P. 1995. Sina user's guide and reference manual. Tech. rep. Department of Computer Science University of Twente.  Koopmans P. 1995. Sina user's guide and reference manual. Tech. rep. Department of Computer Science University of Twente."},{"key":"e_1_2_1_31_1","unstructured":"Laddad R. 2003. AspectJ in Action: Practical Aspect-Oriented Programming. Manning.   Laddad R. 2003. AspectJ in Action: Practical Aspect-Oriented Programming. Manning."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/800233.807045"},{"key":"e_1_2_1_33_1","unstructured":"MacLennan B. J. 1986. Principles of Programming Languages: Design Evaluation and Implementation 2nd Eds. Holt Rinehart &amp; Winston.   MacLennan B. J. 1986. Principles of Programming Languages: Design Evaluation and Implementation 2nd Eds. Holt Rinehart &amp; Winston."},{"volume-title":"DJ: Dynamic structure-shy traversal in pure Java. Tech. rep.","year":"1999","author":"Marshall J.","key":"e_1_2_1_34_1"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643613"},{"key":"e_1_2_1_36_1","unstructured":"Ossher H. and Tarr P. 1999. Multi-dimensional separation of concerns using hyperspaces. IBM Res. rep. 21452 IBM. April.  Ossher H. and Tarr P. 1999. Multi-dimensional separation of concerns using hyperspaces. IBM Res. rep. 21452 IBM. April."},{"key":"e_1_2_1_37_1","unstructured":"Rajan H. 2005. Unifying aspect- and object-oriented program design. Ph.D. thesis The University of Virginia Charlottesville.   Rajan H. 2005. Unifying aspect- and object-oriented program design. Ph.D. thesis The University of Virginia Charlottesville."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772070.1772081"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/940071.940111"},{"key":"e_1_2_1_40_1","unstructured":"Rajan H. and Sullivan K. 2003a. Need for instance-level aspect language with rich pointcut language. In Software Engineering Properties of Languages for Aspect Technologies (SPLAT) L. Bergmans et al. Eds.  Rajan H. and Sullivan K. 2003a. Need for instance-level aspect language with rich pointcut language. In Software Engineering Properties of Languages for Aspect Technologies (SPLAT) L. Bergmans et al. Eds."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1052898.1052914"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062483"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976271"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976275"},{"volume-title":"Proceedings of the 40th International Confernece on Tools Pacific (CRPITS'02)","author":"Spinczyk O.","key":"e_1_2_1_45_1"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/508386.508390"},{"volume-title":"Galileo: An advanced fault tree analysis tool","year":"1997","author":"Sullivan K. J.","key":"e_1_2_1_47_1"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081734"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/99278.99281"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/131736.131744"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643606"},{"key":"e_1_2_1_52_1","doi-asserted-by":"crossref","unstructured":"Tarr P. and Ossher H. 2000. Hyper\/J user and installation manual. Tech. rep. IBM T. J. Watson Research Center.  Tarr P. and Ossher H. 2000. Hyper\/J user and installation manual. Tech. rep. IBM T. J. Watson Research Center.","DOI":"10.1145\/337180.337618"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302457"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643620"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1555392.1555396","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1555392.1555396","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:04Z","timestamp":1750249384000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1555392.1555396"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,8]]},"references-count":54,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2009,8]]}},"alternative-id":["10.1145\/1555392.1555396"],"URL":"https:\/\/doi.org\/10.1145\/1555392.1555396","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2009,8]]},"assertion":[{"value":"2006-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-08-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}