{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:19:25Z","timestamp":1750306765868,"version":"3.41.0"},"reference-count":126,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2013,7,1]],"date-time":"2013-07-01T00:00:00Z","timestamp":1372636800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004963","name":"Seventh Framework Programme","doi-asserted-by":"publisher","award":["Project 227977 (SMSCom)"],"award-info":[{"award-number":["Project 227977 (SMSCom)"]}],"id":[{"id":"10.13039\/501100004963","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Auton. Adapt. Syst."],"published-print":{"date-parts":[[2013,7]]},"abstract":"<jats:p>Self-adaptive software has become increasingly important to address the new challenges of complex computing systems. To achieve adaptation, software must be designed and implemented by following suitable criteria, methods, and strategies. Past research has been mostly addressing adaptation by developing solutions at the software architecture level. This work, instead, focuses on finer-grain programming language-level solutions. We analyze three main linguistic approaches: metaprogramming, aspect-oriented programming, and context-oriented programming. The first two are general-purpose linguistic mechanisms, whereas the third is a specific and focused approach developed to support context-aware applications. This paradigm provides specialized language-level abstractions to implement dynamic adaptation and modularize behavioral variations in adaptive systems.<\/jats:p>\n          <jats:p>The article shows how the three approaches can support the implementation of adaptive systems and compares the pros and cons offered by each solution.<\/jats:p>","DOI":"10.1145\/2491465.2491466","type":"journal-article","created":{"date-parts":[[2013,7,9]],"date-time":"2013-07-09T13:37:52Z","timestamp":1373377072000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":17,"title":["An Analysis of Language-Level Support for Self-Adaptive Software"],"prefix":"10.1145","volume":"8","author":[{"given":"Guido","family":"Salvaneschi","sequence":"first","affiliation":[{"name":"Technische Universit\u00e4t Darmstadt"}]},{"given":"Carlo","family":"Ghezzi","sequence":"additional","affiliation":[{"name":"Politecnico di Milano"}]},{"given":"Matteo","family":"Pradella","sequence":"additional","affiliation":[{"name":"Politecnico di Milano"}]}],"member":"320","published-online":{"date-parts":[[2013,7]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1562112.1562118"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1930021.1930025"},{"key":"e_1_2_1_3_1","doi-asserted-by":"crossref","unstructured":"Appeltauer M. Hirschfeld R. Masuhara H. Haupt M. and \n      Kawauchi K\n  . \n  2010\n  b. Event-specific software composition in context-oriented programming. In Proceedings of the 9th International Conference on Software Composition (SC\u201910). B. Baudry and E. Wohlstadter Eds. Lecture Notes in Computer Science Series vol. \n  6144 Springer 50--65.   Appeltauer M. Hirschfeld R. Masuhara H. Haupt M. and Kawauchi K. 2010b. Event-specific software composition in context-oriented programming. In Proceedings of the 9th International Conference on Software Composition (SC\u201910) . B. Baudry and E. Wohlstadter Eds. Lecture Notes in Computer Science Series vol. 6144 Springer 50--65.","DOI":"10.1007\/978-3-642-14046-4_4"},{"key":"e_1_2_1_4_1","first-page":"399","article-title":"ContextJ: Context-oriented programming with","volume":"6","author":"Appeltauer M.","year":"2011","unstructured":"Appeltauer , M. , Hirschfeld , R. , Haupt , M. , and Masuhara , H. 2011 . ContextJ: Context-oriented programming with Java. Inf. Media Technol. 6 , 2, 399 -- 419 . Appeltauer, M., Hirschfeld, R., Haupt, M., and Masuhara, H. 2011. ContextJ: Context-oriented programming with Java. Inf. Media Technol. 6, 2, 399--419.","journal-title":"Java. Inf. Media Technol."},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Aracic I. Gasiunas V. Mezini M. and \n      Ostermann K\n  . \n  2006\n  . An overview of CaesarJ. In Transactions on Aspect-Oriented Software Development. I. A. Rashid and M. Aksit Eds. Lecture Notes in Computer Science Series vol. \n  3880 Springer 135--173.   Aracic I. Gasiunas V. Mezini M. and Ostermann K. 2006. An overview of CaesarJ. In Transactions on Aspect-Oriented Software Development . I. A. Rashid and M. Aksit Eds. Lecture Notes in Computer Science Series vol. 3880 Springer 135--173.","DOI":"10.1007\/11687061_5"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065026"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2009.06.003"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2006.362"},{"key":"e_1_2_1_9_1","doi-asserted-by":"crossref","unstructured":"Bellifemine F. L. Caire G. and Greenwood D. 2007. Developing Multi-Agent Systems with JADE. Wiley Series in Agent Technology. John Wiley and Sons.   Bellifemine F. L. Caire G. and Greenwood D. 2007. Developing Multi-Agent Systems with JADE . Wiley Series in Agent Technology. John Wiley and Sons.","DOI":"10.1002\/9780470058411"},{"key":"e_1_2_1_10_1","unstructured":"Blair G. S. Coulson G. Andersen A. Blair L. Clarke M. Costa F. Duran-Limon H. Fitzpatrick T. Johnston L. Moreira R. Parlavantzas N. and Saikoski K. 2001. The design and implementation of Open ORB 2. IEEE Distrib. Syst. Online 2.   Blair G. S. Coulson G. Andersen A. Blair L. Clarke M. Costa F. Duran-Limon H. Fitzpatrick T. Johnston L. Moreira R. Parlavantzas N. and Saikoski K. 2001. The design and implementation of Open ORB 2. IEEE Distrib. Syst. Online 2 ."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167515.1167483"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167484"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the Workshop on Aspect-Oriented Programming (ECOOP\u201999)","author":"Bollert K.","year":"1999","unstructured":"Bollert , K. 1999 . On weaving aspects . In Proceedings of the Workshop on Aspect-Oriented Programming (ECOOP\u201999) . Bollert, K. 1999. On weaving aspects. In Proceedings of the Workshop on Aspect-Oriented Programming (ECOOP\u201999)."},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD\u201904)","author":"Boner J.","year":"2004","unstructured":"Boner , J. 2004 . AspectWerkz - Dynamic AOP for Java . In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD\u201904) . Boner, J. 2004. AspectWerkz - Dynamic AOP for Java. In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD\u201904)."},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Bordini R. H. H\u00fcbner J. F. and Vieira R. 2005. Jason and the Golden Fleece of agent-oriented programming. In Multi-Agent Programming: Languages Platforms and Applications. R. H. Bordini M. Dastani J. Dix and A. E. F. Seghrouchni Eds. Multiagent Systems Artificial Societies and Simulated Organizations vol. 15 Springer New York 3--37.  Bordini R. H. H\u00fcbner J. F. and Vieira R. 2005. Jason and the Golden Fleece of agent-oriented programming. In Multi-Agent Programming: Languages Platforms and Applications . R. H. Bordini M. Dastani J. Dix and A. E. F. Seghrouchni Eds. Multiagent Systems Artificial Societies and Simulated Organizations vol. 15 Springer New York 3--37.","DOI":"10.1007\/0-387-26350-0_1"},{"key":"e_1_2_1_16_1","unstructured":"Brichau J. and Haupt M. 2005. Survey of aspect-oriented languages and execution models. Tech. rep. AOSD-Europe-VUB-01 AOSD-Europe.  Brichau J. and Haupt M. 2005. Survey of aspect-oriented languages and execution models. Tech. rep. AOSD-Europe-VUB-01 AOSD-Europe."},{"volume-title":"Proceedings of the Adaptable and Extensible Component Systems. 1--12","author":"Bruneton E.","key":"e_1_2_1_17_1","unstructured":"Bruneton , E. , Lenglet , R. , and Coupaye , T . 2002. ASM: A code manipulation tool to implement adaptable systems . In Proceedings of the Adaptable and Extensible Component Systems. 1--12 . Bruneton, E., Lenglet, R., and Coupaye, T. 2002. ASM: A code manipulation tool to implement adaptable systems. In Proceedings of the Adaptable and Extensible Component Systems. 1--12."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/304065.304103"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1002\/1096-9128(200005)12:6<375::AID-CPE480>3.0.CO;2-M"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1237173"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1265522"},{"key":"e_1_2_1_22_1","doi-asserted-by":"crossref","unstructured":"Charfi A.\n     and \n      Mezini M\n  . \n  2004\n  . Aspect-oriented web service composition with AO4BPEL. In Proceedings of the European Conference on Web Services (ECOWA\u201994). L.-J. Zhang and M. Jeckle Eds. Lecture Notes in Computer Science Series vol. \n  3250 Springer 168--182.  Charfi A. and Mezini M. 2004. Aspect-oriented web service composition with AO4BPEL. In Proceedings of the European Conference on Web Services (ECOWA\u201994) . L.-J. Zhang and M. Jeckle Eds. Lecture Notes in Computer Science Series vol. 3250 Springer 168--182.","DOI":"10.1007\/978-3-540-30209-4_13"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/217838.217868"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11280-006-0017-2"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the 12th International Conference on Software Product Lines (SPLC\u201908)","author":"Costanza P.","year":"2008","unstructured":"Costanza , P. and D\u2019Hondt , T. 2008 . Feature descriptions for context-oriented programming . In Proceedings of the 12th International Conference on Software Product Lines (SPLC\u201908) . 9--14. Costanza, P. and D\u2019Hondt, T. 2008. Feature descriptions for context-oriented programming. In Proceedings of the 12th International Conference on Software Product Lines (SPLC\u201908). 9--14."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146841.1146842"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1244002.1244279"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/11860990_7"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062484"},{"key":"e_1_2_1_30_1","unstructured":"Dahm M. and Berlin F. U. 1998. Byte code engineering with the BCEL api. Tech. rep. B-17-98 Freie Universitt Berlin - Institut fr Informatik.  Dahm M. and Berlin F. U. 1998. Byte code engineering with the BCEL api. Tech. rep. B-17-98 Freie Universitt Berlin - Institut fr Informatik."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10458-008-9036-y"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/11821946_6"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1370018.1370033"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/592642.592644"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering. Papers from OORaSE","author":"Dowling J.","year":"1999","unstructured":"Dowling , J. , Sch\u00e4fer , T. , Cahill , V. , Haraszti , P. , and Redmond , B . 2000. Using reflection to support dynamic adaptation of system software: A case study driven evaluation . In Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering. Papers from OORaSE 1999 . Springer, 169--188. Dowling, J., Sch\u00e4fer, T., Cahill, V., Haraszti, P., and Redmond, B. 2000. Using reflection to support dynamic adaptation of system software: A case study driven evaluation. In Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering. Papers from OORaSE 1999. Springer, 169--188."},{"volume-title":"Proceedings of the European Interactive Workshop on Aspects in Software.","author":"Durr P.","key":"e_1_2_1_36_1","unstructured":"Durr , P. , Staijen , T. , Bergmans , L. , and Aksit , M . 2005. Reasoning about semantic conflicts between aspects . In Proceedings of the European Interactive Workshop on Aspects in Software. Durr, P., Staijen, T., Bergmans, L., and Aksit, M. 2005. Reasoning about semantic conflicts between aspects. In Proceedings of the European Interactive Workshop on Aspects in Software."},{"volume-title":"Proceedings of the 7th IEEE Workshop on Future Trends in Distributed Computing Systems. IEEE Computer Society Press, 60--65","author":"Eliassen F.","key":"e_1_2_1_37_1","unstructured":"Eliassen , F. , Andersen , A. , Blair , G. S. , Costa , F. , Coulson , G. , Goebel , V. , Ivind Hansen , Kristensen, T., Plagemann , T. , Rafaelsen , H. O. , Saikoski , K. B. , and Yu , W . 1999. Next generation middleware: Requirements, architecture, and prototypes . In Proceedings of the 7th IEEE Workshop on Future Trends in Distributed Computing Systems. IEEE Computer Society Press, 60--65 . Eliassen, F., Andersen, A., Blair, G. S., Costa, F., Coulson, G., Goebel, V., Ivind Hansen, Kristensen, T., Plagemann, T., Rafaelsen, H. O., Saikoski, K. B., and Yu, W. 1999. Next generation middleware: Requirements, architecture, and prototypes. In Proceedings of the 7th IEEE Workshop on Future Trends in Distributed Computing Systems. IEEE Computer Society Press, 60--65."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1052898.1052903"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070513"},{"volume-title":"Proceedings of the 7th European Conference on Object-Oriented Programming (ECOOP\u201993)","author":"Gamma E.","key":"e_1_2_1_40_1","unstructured":"Gamma , E. , Helm , R. , Johnson , R. E. , and Vlissides , J. M . 1993. Design patterns: Abstraction and reuse of object-oriented design . In Proceedings of the 7th European Conference on Object-Oriented Programming (ECOOP\u201993) . Springer, 406--431. Gamma, E., Helm, R., Johnson, R. E., and Vlissides, J. M. 1993. Design patterns: Abstraction and reuse of object-oriented design. In Proceedings of the 7th European Conference on Object-Oriented Programming (ECOOP\u201993). Springer, 406--431."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2363.2433"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1988008.1988016"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297081.1297094"},{"volume-title":"Proceedings of the International Conference on Software Language Engineering.","author":"Gonz\u00e1lez S.","key":"e_1_2_1_44_1","unstructured":"Gonz\u00e1lez , S. , Cardozo , N. , Mens , K. , C\u00e1diz , A. , Libbrecht , J.-C. , and Goffaux , J . 2010. Subjective-C: Bringing context to mobile platform programming . In Proceedings of the International Conference on Software Language Engineering. Gonz\u00e1lez, S., Cardozo, N., Mens, K., C\u00e1diz, A., Libbrecht, J.-C., and Goffaux, J. 2010. Subjective-C: Bringing context to mobile platform programming. In Proceedings of the International Conference on Software Language Engineering."},{"volume-title":"Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems. 52--55","author":"Gowing B.","key":"e_1_2_1_45_1","unstructured":"Gowing , B. and Cahill , V . 1995. Making meta-object protocols practical for operating systems . In Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems. 52--55 . Gowing, B. and Cahill, V. 1995. Making meta-object protocols practical for operating systems. In Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems. 52--55."},{"key":"e_1_2_1_46_1","doi-asserted-by":"crossref","unstructured":"Grace P. Blair G. and \n      Samuel S\n  . \n  2003\n  . ReMMoC: \n  A\n   reflective middleware to support mobile client interoperability. In Proceedings of the OTM Confederated International Conferences CoopIS DOA and ODBASE. R. Meersman Z. Tari and D. Schmidt Eds. Lecture Notes in Computer Science Series vol. \n  2888 Springer 1170--1187.  Grace P. Blair G. and Samuel S. 2003. ReMMoC: A reflective middleware to support mobile client interoperability. In Proceedings of the OTM Confederated International Conferences CoopIS DOA and ODBASE . R. Meersman Z. Tari and D. Schmidt Eds. Lecture Notes in Computer Science Series vol. 2888 Springer 1170--1187.","DOI":"10.1007\/978-3-540-39964-3_75"},{"volume-title":"Proceedings of the Dynamic Aspect Workshop (DAW\u201904)","author":"Greenwood P.","key":"e_1_2_1_47_1","unstructured":"Greenwood , P. and Blair , L . 2003. Using dynamic aspect-oriented programming to implement an autonomic system . In Proceedings of the Dynamic Aspect Workshop (DAW\u201904) . Greenwood, P. and Blair, L. 2003. Using dynamic aspect-oriented programming to implement an autonomic system. In Proceedings of the Dynamic Aspect Workshop (DAW\u201904)."},{"key":"e_1_2_1_48_1","doi-asserted-by":"crossref","unstructured":"Greenwood P. and Blair L. 2006. A framework for policy driven auto-adaptive systems using dynamic framed aspects. In Transactions on Aspect-Oriented Software Development II. Springer 30--65.   Greenwood P. and Blair L. 2006. A framework for policy driven auto-adaptive systems using dynamic framed aspects. In Transactions on Aspect-Oriented Software Development II . Springer 30--65.","DOI":"10.1007\/11922827_2"},{"key":"e_1_2_1_49_1","unstructured":"Haupt M.\n     and \n      Mezini M\n  . \n  2004\n  . Micro-measurements for dynamic aspect-oriented systems. In Proceedings of the 5th Annual International Conference on Object-Oriented and Internet-Based Technologies Concepts and Applications for a Nerworked World. M. Weske and P. Liggesmeyer Eds. Lecture Notes in Computer Science Series vol. \n  3263 Springer 277--305.  Haupt M. and Mezini M. 2004. Micro-measurements for dynamic aspect-oriented systems. In Proceedings of the 5th Annual International Conference on Object-Oriented and Internet-Based Technologies Concepts and Applications for a Nerworked World . M. Weske and P. Liggesmeyer Eds. Lecture Notes in Computer Science Series vol. 3263 Springer 277--305."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064979.1065000"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/1688933.1688934"},{"volume-title":"Proceedings of the 3rd International Joint Conference on Artificial Intelligence (IJCAI\u201973)","author":"Hewitt C.","key":"e_1_2_1_52_1","unstructured":"Hewitt , C. , Bishop , P. , and Steiger , R . 1973. A universal modular actor formalism for artificial intelligence . In Proceedings of the 3rd International Joint Conference on Artificial Intelligence (IJCAI\u201973) . Morgan Kaufmann Publishers, San Francisco, CA, 235--245. Hewitt, C., Bishop, P., and Steiger, R. 1973. A universal modular actor formalism for artificial intelligence. In Proceedings of the 3rd International Joint Conference on Artificial Intelligence (IJCAI\u201973). Morgan Kaufmann Publishers, San Francisco, CA, 235--245."},{"volume-title":"Revised Papers from the International Conference on NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World (NODe\u201902)","author":"Hirschfeld R.","key":"e_1_2_1_53_1","unstructured":"Hirschfeld , R. 2003. AspectS - aspect-oriented programming with Squeak . In Revised Papers from the International Conference on NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World (NODe\u201902) . Springer , 216--232. Hirschfeld, R. 2003. AspectS - aspect-oriented programming with Squeak. In Revised Papers from the International Conference on NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World (NODe\u201902). Springer, 216--232."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2008.7.3.a4"},{"volume-title":"Proceedings of the Workshop on Compiler Support for System Software. 127--133","author":"Hsieh W.","key":"e_1_2_1_55_1","unstructured":"Hsieh , W. , Fiuczynski , M. , Garrett , C. , Savage , S. , Becker , D. , and Bershad , B . 1996. Language support for extensible operating systems . In Proceedings of the Workshop on Compiler Support for System Software. 127--133 . Hsieh, W., Fiuczynski, M., Garrett, C., Savage, S., Becker, D., and Bershad, B. 1996. Language support for extensible operating systems. In Proceedings of the Workshop on Compiler Support for System Software. 127--133."},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1380584.1380585"},{"volume-title":"Proceedings of the USENIX Conference on Object-Oriented Technologies (COOTS\u201995)","author":"Itoh J.-I.","key":"e_1_2_1_57_1","unstructured":"Itoh , J.-I. , Lea , R. , and Yokote , Y . 1995. Using meta-objects to support optimisation in the Apertos operating system . In Proceedings of the USENIX Conference on Object-Oriented Technologies (COOTS\u201995) . USENIX Association, Berkeley, CA, 11--11. Itoh, J.-I., Lea, R., and Yokote, Y. 1995. Using meta-objects to support optimisation in the Apertos operating system. In Proceedings of the USENIX Conference on Object-Oriented Technologies (COOTS\u201995). USENIX Association, Berkeley, CA, 11--11."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2009.10.006"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.v40:3"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1930021.1930023"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1960275.1960305"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062464"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2003.1160055"},{"key":"e_1_2_1_64_1","doi-asserted-by":"crossref","unstructured":"Kiczales G. and Rivieres J. D. 1991. The Art of the Metaobject Protocol. MIT Press Cambridge MA.   Kiczales G. and Rivieres J. D. 1991. The Art of the Metaobject Protocol . MIT Press Cambridge MA.","DOI":"10.7551\/mitpress\/1405.001.0001"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0053381"},{"key":"e_1_2_1_66_1","doi-asserted-by":"crossref","unstructured":"Kiczales G. Hilsdale E. Hugunin J. Kersten M. Palm J. and \n      Griswold W\n  . \n  2001\n  . An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP\u201901). J. Knudsen Ed. Lecture Notes in Computer Science Series vol. \n  2072 Springer 327--354.   Kiczales G. Hilsdale E. Hugunin J. Kersten M. Palm J. and Griswold W. 2001. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP\u201901) . J. Knudsen Ed. Lecture Notes in Computer Science Series vol. 2072 Springer 327--354.","DOI":"10.1007\/3-540-45337-7_18"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/508448.508470"},{"volume-title":"European Interactive Workshop on Aspects in Software (EIWAS\u201904)","author":"Koppen C.","key":"e_1_2_1_68_1","unstructured":"Koppen , C. and Storzer , M . 2004. PCDiff: Attacking the fragile pointcut problem . In European Interactive Workshop on Aspects in Software (EIWAS\u201904) . K. Gybels, S. Hanenberg, S. Herrmann, and J. Wloka Eds. , Koppen, C. and Storzer, M. 2004. PCDiff: Attacking the fragile pointcut problem. In European Interactive Workshop on Aspects in Software (EIWAS\u201904). K. Gybels, S. Hanenberg, S. Herrmann, and J. Wloka Eds.,"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/C5.2012.20"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/FOSE.2007.19"},{"key":"e_1_2_1_71_1","volume-title":"AspectJ in Action: Enterprise AOP with Spring Applications","author":"Laddad R.","unstructured":"Laddad , R. 2009. AspectJ in Action: Enterprise AOP with Spring Applications 2 nd Ed. Manning Publications , Greenwich, CT . Laddad, R. 2009. AspectJ in Action: Enterprise AOP with Spring Applications 2nd Ed. Manning Publications, Greenwich, CT.","edition":"2"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.5555\/646580.697756"},{"key":"e_1_2_1_73_1","volume-title":"Proceedings of the Workshop on CORBA: Implementation, Use and Evaluation (ECOOP\u201997)","author":"Ledoux T.","year":"1997","unstructured":"Ledoux , T. 1997 . Implementing proxy objects in a reflective ORB . In Proceedings of the Workshop on CORBA: Implementation, Use and Evaluation (ECOOP\u201997) . Ledoux, T. 1997. Implementing proxy objects in a reflective ORB. In Proceedings of the Workshop on CORBA: Implementation, Use and Evaluation (ECOOP\u201997)."},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2010.11.013"},{"key":"e_1_2_1_75_1","unstructured":"Madany P. W. Islam N. Kougiouris P. and Campbell R. H. 1992. Reification and reflection in C++: An operating systems perspective. Tech. rep. UIUCDCS-R-92-1736 University of Illinois at Urbana-Champaign.  Madany P. W. Islam N. Kougiouris P. and Campbell R. H. 1992. Reification and reflection in C++: An operating systems perspective. Tech. rep. UIUCDCS-R-92-1736 University of Illinois at Urbana-Champaign."},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/38765.38821"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/1538942.1538945"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/141936.141948"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2004.48"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/952532.952607"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/1151695.1151698"},{"key":"e_1_2_1_82_1","unstructured":"Nagy I. Bergmans L. and Aksit M. 2004. Declarative aspect composition. In Software-Engineering Properties of Languages for Aspect Technologies (SPLAT!): in conjunction with the 3rd International Conference on Aspect-Oriented Software Development (AOSD\u201904).  Nagy I. Bergmans L. and Aksit M. 2004. Declarative aspect composition. In Software-Engineering Properties of Languages for Aspect Technologies (SPLAT!): in conjunction with the 3rd International Conference on Aspect-Oriented Software Development (AOSD\u201904) ."},{"volume-title":"Proceedings of International Conference NetObjectDays (NODe\u201905)","author":"Nagy I.","key":"e_1_2_1_83_1","unstructured":"Nagy , I. , Bergmans , L. , and Aksit , M . 2005. Composing aspects at shared join points . In Proceedings of International Conference NetObjectDays (NODe\u201905) . Springer. Nagy, I., Bergmans, L., and Aksit, M. 2005. Composing aspects at shared join points. In Proceedings of International Conference NetObjectDays (NODe\u201905). Springer."},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/1352592.1352617"},{"volume-title":"Workshop on New Models for Software Architecture.","author":"Okamuray H.","key":"e_1_2_1_85_1","unstructured":"Okamuray , H. , Ishikawayy , Y. , and Tokoroy , M . 1992. AL-1\/D: A distributed programming system with multi-model reflection framework . In Workshop on New Models for Software Architecture. Okamuray, H., Ishikawayy, Y., and Tokoroy, M. 1992. AL-1\/D: A distributed programming system with multi-model reflection framework. In Workshop on New Models for Software Architecture."},{"volume-title":"Proceedings of the 20th International Conference on Software Engineering (ICSE\u201998)","author":"Oreizy P.","key":"e_1_2_1_86_1","unstructured":"Oreizy , P. , Medvidovic , N. , and Taylor , R. N . 1998. Architecture-based runtime software evolution . In Proceedings of the 20th International Conference on Software Engineering (ICSE\u201998) . IEEE Computer Society, 177--186. Oreizy, P., Medvidovic, N., and Taylor, R. N. 1998. Architecture-based runtime software evolution. In Proceedings of the 20th International Conference on Software Engineering (ICSE\u201998). IEEE Computer Society, 177--186."},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/1370175.1370181"},{"key":"e_1_2_1_88_1","volume-title":"JAC: A flexible solution for aspect-oriented programming in Java. In Proceedings of the 3rd International Conference REFLECTION","author":"Pawlak R.","year":"2001","unstructured":"Pawlak , R. , Seinturier , L. , Duchien , L. , and Florin , G . 2001 . JAC: A flexible solution for aspect-oriented programming in Java. In Proceedings of the 3rd International Conference REFLECTION . A. Yonezawa and S. Matsuoka Eds., Lecture Notes in Computer Science, vol. 2192 , Springer , 1--24. Pawlak, R., Seinturier, L., Duchien, L., and Florin, G. 2001. JAC: A flexible solution for aspect-oriented programming in Java. In Proceedings of the 3rd International Conference REFLECTION. A. Yonezawa and S. Matsuoka Eds., Lecture Notes in Computer Science, vol. 2192, Springer, 1--24."},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.605"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1145\/508386.508404"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643614"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.5555\/237945.237953"},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643605"},{"key":"e_1_2_1_94_1","unstructured":"Redmond B.\n     and \n      Cahill V\n  . \n  2006\n  . Supporting unanticipated dynamic adaptation of application behaviour. In Proceedings of the 16th European Conference on Object-Oriented Programming (ECOOP\u201902). B. Magnusson Ed. Lecture Notes in Computer Science vol. \n  2374 Springer 29--53.   Redmond B. and Cahill V. 2006. Supporting unanticipated dynamic adaptation of application behaviour. In Proceedings of the 16th European Conference on Object-Oriented Programming (ECOOP\u201902) . B. Magnusson Ed. Lecture Notes in Computer Science vol. 2374 Springer 29--53."},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.1145\/2068736.2068739"},{"key":"e_1_2_1_96_1","volume-title":"Proceedings of the Workshop on Extending the Smalltalk Language (OOPSLA\u201996)","author":"Rivard F.","year":"1996","unstructured":"Rivard , F. 1996 . A new smalltalk kernel allowing both explicit and implicit metaclass programming . In Proceedings of the Workshop on Extending the Smalltalk Language (OOPSLA\u201996) . Rivard, F. 1996. A new smalltalk kernel allowing both explicit and implicit metaclass programming. In Proceedings of the Workshop on Extending the Smalltalk Language (OOPSLA\u201996)."},{"volume-title":"Proceedings of the 19th IEEE International Conference on Distributed Computing Systems Workshops on Electronic Commerce and Web-based Applications\/Middleware. 122--127","author":"Roman M.","key":"e_1_2_1_97_1","unstructured":"Roman , M. , Kon , F. , and Campbell , R . 1999. Design and implementation of runtime reflection in communication middleware: The dynamicTAO case . In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems Workshops on Electronic Commerce and Web-based Applications\/Middleware. 122--127 . Roman, M., Kon, F., and Campbell, R. 1999. Design and implementation of runtime reflection in communication middleware: The dynamicTAO case. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems Workshops on Electronic Commerce and Web-based Applications\/Middleware. 122--127."},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1145\/1711506.1711508"},{"volume-title":"Proceedings of the International Symposium on Distributed Objects and Applications (DOA\u201904)","author":"Sadjadi S. M.","key":"e_1_2_1_99_1","unstructured":"Sadjadi , S. M. , McKinley , P. K. , Cheng , B. H. C. , and Stirewalt , R. E. K. 2004. TRAP\/J: Transparent generation of adaptable Java programs . In Proceedings of the International Symposium on Distributed Objects and Applications (DOA\u201904) . Sadjadi, S. M., McKinley, P. K., Cheng, B. H. C., and Stirewalt, R. E. K. 2004. TRAP\/J: Transparent generation of adaptable Java programs. In Proceedings of the International Symposium on Distributed Objects and Applications (DOA\u201904)."},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1145\/1083063.1083086"},{"key":"e_1_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.1145\/1516533.1516538"},{"key":"e_1_2_1_102_1","unstructured":"Salvaneschi G. Ghezzi C. and Pradella M. 2011a. Context-oriented programming: A programming paradigm for autonomic systems. CoRR abs\/1105.0069. http:\/\/arxiv.org\/vc\/arxiv\/papers\/1105\/1105.0069vl.pdf.  Salvaneschi G. Ghezzi C. and Pradella M. 2011a. Context-oriented programming: A programming paradigm for autonomic systems. CoRR abs\/1105.0069. http:\/\/arxiv.org\/vc\/arxiv\/papers\/1105\/1105.0069vl.pdf."},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/2068736.2068740"},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2012.03.024"},{"key":"e_1_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.1145\/2162049.2162072"},{"volume-title":"Proceedings of the 2nd International Conference on Generative Programming and Component Engineering (GPCE\u201903)","author":"Sato Y.","key":"e_1_2_1_106_1","unstructured":"Sato , Y. , Chiba , S. , and Tatsubori , M . 2003. A selective, just-in-time aspect weaver . In Proceedings of the 2nd International Conference on Generative Programming and Component Engineering (GPCE\u201903) . Springer, 189--208. Sato, Y., Chiba, S., and Tatsubori, M. 2003. A selective, just-in-time aspect weaver. In Proceedings of the 2nd International Conference on Generative Programming and Component Engineering (GPCE\u201903). Springer, 189--208."},{"key":"e_1_2_1_107_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643615"},{"key":"e_1_2_1_108_1","doi-asserted-by":"publisher","DOI":"10.1145\/2007116.2007119"},{"key":"e_1_2_1_109_1","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(93)90034-9"},{"key":"e_1_2_1_110_1","doi-asserted-by":"publisher","DOI":"10.5555\/1483085"},{"key":"e_1_2_1_111_1","doi-asserted-by":"publisher","DOI":"10.1145\/800017.800513"},{"volume-title":"Proceedings of the 40th International Conference on Tools Pacific: Objects for Internet, Mobile and Embedded Applications (CRPIT\u201902)","author":"Spinczyk O.","key":"e_1_2_1_112_1","unstructured":"Spinczyk , O. , Gal , A. , and Schr\u00f6der-Preikschat , W . 2002. AspectC++: An aspect-oriented extension to the c++ programming language . In Proceedings of the 40th International Conference on Tools Pacific: Objects for Internet, Mobile and Embedded Applications (CRPIT\u201902) . 53--60. Spinczyk, O., Gal, A., and Schr\u00f6der-Preikschat, W. 2002. AspectC++: An aspect-oriented extension to the c++ programming language. In Proceedings of the 40th International Conference on Tools Pacific: Objects for Internet, Mobile and Embedded Applications (CRPIT\u201902). 53--60."},{"key":"e_1_2_1_113_1","unstructured":"Stroud R. J. and Wu Z. 1996. Using metaobject protocols to satisfy non-functional requirements. In Advances in Object-Oriented Metalevel Architectures and Reflection. C. Zimmerman Ed.  Stroud R. J. and Wu Z. 1996. Using metaobject protocols to satisfy non-functional requirements. In Advances in Object-Oriented Metalevel Architectures and Reflection . C. Zimmerman Ed."},{"key":"e_1_2_1_114_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643606"},{"key":"e_1_2_1_115_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302457"},{"key":"e_1_2_1_116_1","doi-asserted-by":"publisher","DOI":"10.5555\/646954.713484"},{"key":"e_1_2_1_117_1","doi-asserted-by":"publisher","DOI":"10.1145\/1052898.1052905"},{"key":"e_1_2_1_118_1","volume-title":"Proceedings of the DAW Dynamic Aspects Workshop. 135--145","author":"Vasseur A.","year":"2004","unstructured":"Vasseur , A. 2004 . Dynamic aop and runtime weaving for Java -- How does AspectWerkz address it? In Proceedings of the DAW Dynamic Aspects Workshop. 135--145 . Vasseur, A. 2004. Dynamic aop and runtime weaving for Java -- How does AspectWerkz address it? In Proceedings of the DAW Dynamic Aspects Workshop. 135--145."},{"key":"e_1_2_1_119_1","doi-asserted-by":"publisher","DOI":"10.1145\/1968513.1968517"},{"volume-title":"Proceedings of the International Conference on Autonomic Computing. 2--9.","author":"White S.","key":"e_1_2_1_120_1","unstructured":"White , S. , Hanson , J. , Whalley , I. , Chess , D. , and Kephart , J . 2004. An architectural approach to autonomic computing . In Proceedings of the International Conference on Autonomic Computing. 2--9. White, S., Hanson, J., Whalley, I., Chess, D., and Kephart, J. 2004. An architectural approach to autonomic computing. In Proceedings of the International Conference on Autonomic Computing. 2--9."},{"key":"e_1_2_1_121_1","doi-asserted-by":"publisher","DOI":"10.1145\/990064.990079"},{"volume-title":"Proceedings of the 1st Annual Working Conference on Network Security: Advances in Network and Distributed Systems Security. 125--138","author":"Win B. D.","key":"e_1_2_1_122_1","unstructured":"Win , B. D. , Vanhaute , B. , and Decker , B. D . 2001. Security through aspect-oriented programming . In Proceedings of the 1st Annual Working Conference on Network Security: Advances in Network and Distributed Systems Security. 125--138 . Win, B. D., Vanhaute, B., and Decker, B. D. 2001. Security through aspect-oriented programming. In Proceedings of the 1st Annual Working Conference on Network Security: Advances in Network and Distributed Systems Security. 125--138."},{"volume-title":"Multi-Agent Programming","author":"Winikoff M.","key":"e_1_2_1_123_1","unstructured":"Winikoff , M. 2005. JACK intelligent agents: An industrial strength platform . In Multi-Agent Programming , Languages : Platforms and Applications, Springer , 175--193. Winikoff, M. 2005. JACK intelligent agents: An industrial strength platform. In Multi-Agent Programming, Languages: Platforms and Applications, Springer, 175--193."},{"volume-title":"Proceedings of the International Workshop on Computer Aided Design, Test, and Evaluation for Dependability. 224--229","author":"Xu J., R, B.","key":"e_1_2_1_124_1","unstructured":"Xu , J., R, B. , and Zorzo , A. F . 1996. Implementing software-fault tolerance in C++ and Open C++: An object-oriented and reflective approach . In Proceedings of the International Workshop on Computer Aided Design, Test, and Evaluation for Dependability. 224--229 . Xu, J., R, B., and Zorzo, A. F. 1996. Implementing software-fault tolerance in C++ and Open C++: An object-oriented and reflective approach. In Proceedings of the International Workshop on Computer Aided Design, Test, and Evaluation for Dependability. 224--229."},{"key":"e_1_2_1_125_1","doi-asserted-by":"publisher","DOI":"10.1145\/582128.582144"},{"key":"e_1_2_1_126_1","doi-asserted-by":"publisher","DOI":"10.1145\/141936.141970"}],"container-title":["ACM Transactions on Autonomous and Adaptive Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2491465.2491466","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2491465.2491466","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:28:49Z","timestamp":1750231729000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2491465.2491466"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,7]]},"references-count":126,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2013,7]]}},"alternative-id":["10.1145\/2491465.2491466"],"URL":"https:\/\/doi.org\/10.1145\/2491465.2491466","relation":{},"ISSN":["1556-4665","1556-4703"],"issn-type":[{"type":"print","value":"1556-4665"},{"type":"electronic","value":"1556-4703"}],"subject":[],"published":{"date-parts":[[2013,7]]},"assertion":[{"value":"2012-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-07-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}