{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,4]],"date-time":"2026-10-04T13:28:46Z","timestamp":1791120526680,"version":"4.1.0"},"reference-count":69,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2010,6,1]],"date-time":"2010-06-01T00:00:00Z","timestamp":1275350400000},"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":[[2010,6]]},"abstract":"<jats:p>Through implicit invocation, procedures are called without explicitly referencing them. Implicit announcement adds to this implicitness by not only keeping implicit which procedures are called, but also where or when\u2014under implicit invocation with implicit announcement, the call site contains no signs of that, or what it calls. Recently, aspect-oriented programming has popularized implicit invocation with implicit announcement as a possibility to separate concerns that lead to interwoven code if conventional programming techniques are used. However, as has been noted elsewhere, as currently implemented it establishes strong implicit dependencies between components, hampering independent software development and evolution. To address this problem, we present a type-based modularization of implicit invocation with implicit announcement that is inspired by how interfaces and exceptions are realized in Java. By extending an existing compiler and by rewriting several programs to make use of our proposed language constructs, we found that the imposed declaration clutter tends to be moderate; in particular, we found that, for general applications of implicit invocation with implicit announcement, fears that programs utilizing our form of modularization become unreasonably verbose are unjustified.<\/jats:p>","DOI":"10.1145\/1767751.1767752","type":"journal-article","created":{"date-parts":[[2010,6,30]],"date-time":"2010-06-30T20:27:11Z","timestamp":1277929631000},"page":"1-43","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":48,"title":["Types and modularity for implicit invocation with implicit announcement"],"prefix":"10.1145","volume":"20","author":[{"given":"Friedrich","family":"Steimann","sequence":"first","affiliation":[{"name":"Fernuniversit\u00e4t in Hagen, Hagen, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Thomas","family":"Pawlitzki","sequence":"additional","affiliation":[{"name":"Fernuniversit\u00e4t in Hagen, Hagen, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Sven","family":"Apel","sequence":"additional","affiliation":[{"name":"University of Passau, Passau, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Christian","family":"K\u00e4stner","sequence":"additional","affiliation":[{"name":"University of Magdeburg, Magdeburg, Germany"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2010,7,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/11531142_7"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094839"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2007.6.9.a1"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70770"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2010.9.1.a2"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064978.1065026"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/2168342.2168351"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/885631.885632"},{"key":"e_1_2_1_9_1","unstructured":"Bodden E. Forster F. and Steimann F. 2006. Avoiding infinite recursion with stratified aspects. In Proceedings of NODe\/GSEM. GI-Edition Lecture Notes in Informatics P-88. GI 49--64.  Bodden E. Forster F. and Steimann F. 2006. Avoiding infinite recursion with stratified aspects. In Proceedings of NODe\/GSEM. GI-Edition Lecture Notes in Informatics P-88. GI 49--64."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/97945.97982"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the Workshop on Foundations of Aspect-Oriented Languages (FOAL). 33--44","author":"Clifton C."},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT). Workshop at AOSD.","author":"Clifton C."},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 451--475","author":"Clifton C."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_10"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111037.1111071"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, A. Yonezawa and S. Matsuoka, Eds. Lecture Notes In Computer Science","volume":"2192","author":"Douence R."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1119479.1119483"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 2nd Asian Symposium on Programming Languages and Systems (APLAS), Wei-Ngan Chin, Ed. Lecture Notes in Computer Science","volume":"3302","author":"Eichberg M."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/383845.383853"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643619"},{"key":"e_1_2_1_21_1","volume-title":"implementations and interactions of a trigger subsystem in an integrated database system. IBM res. rep. RJ1820 (Nov.)","author":"Eswaran K. P."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/857076.857078"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1180475.1180481"},{"key":"e_1_2_1_24_1","unstructured":"Filman R. E. and Friedman D. P. 2004. Aspect-oriented programming is quantification and obliviousness In Aspect-Oriented Software Development R. E. Filman T. Elrad S. Clarke and M. Askit Eds. Addison-Wesley Longman New York NY.  Filman R. E. and Friedman D. P. 2004. Aspect-oriented programming is quantification and obliviousness In Aspect-Oriented Software Development R. E. Filman T. Elrad S. Clarke and M. Askit Eds. Addison-Wesley Longman New York NY."},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the Workshop on the Foundations of Aspect-Oriented Languages (FOAL). 47--56","author":"Forster F."},{"key":"e_1_2_1_26_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the 15th International Conference on Software Engineering. IEEE Computer Society Press","author":"Garlan D."},{"key":"e_1_2_1_28_1","unstructured":"Garlan D. and Shaw M. 1994. An Introduction to Software Architecture. Tech. rep. UMI order number CS-94--166. Carnegie Mellon University Pittsburgh PA.   Garlan D. and Shaw M. 1994. An Introduction to Software Architecture. Tech. rep. UMI order number CS-94--166. Carnegie Mellon University Pittsburgh PA."},{"key":"e_1_2_1_29_1","volume-title":"IEEE Standard Computer Dictionary: Compilation of IEEE Standard Computer Glossaries","author":"Geraci A."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2006.24"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the Workshop on Advanced Separation of Concerns.","author":"Gudmundson S."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/643603.643610"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976276"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294325.1294335"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/1308171.1308204"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/11785477_28"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 220--242","author":"Kiczales G."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062482"},{"key":"e_1_2_1_39_1","volume-title":"Proceedings of the 10th International on Software Product Line Conference. IEEE Computer Society Press","author":"Lee K."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2006.01.004"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/197320.197383"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/949344.949400"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/74877.74919"},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of the First Asian Symposium on Programming Languages and Systems (APLAS'03)","volume":"2895","author":"Masuhara H."},{"key":"e_1_2_1_45_1","volume-title":"Object-Oriented Software Construction","author":"Meyer B.","edition":"2"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the 12th European Conference on Object-Oriented Programming. Lecture Notes in Computer Science","volume":"1445","author":"Mikhajlov L."},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the 23rd International Conference on Software Engineering. IEEE Computer Society Press","author":"Murphy G. C."},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of the 1st JSSST International Symposium on Object Technologies for Advanced Software. S. Nishio and A. Yonezawa, Eds. Lecture Notes in Computer Science","volume":"742","author":"Notkin D."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1119655.1119664"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/337180.337618"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/11531142_10"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/940071.940111"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062483"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT). L. Bergmans, J. Brichau, and E. Ernst, Eds. Workshop affiliated with AOSD.","author":"Rajan H."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_8"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380201308"},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the Workshop on Foundations of Aspect-Oriented Languages (FOAL). G. Leavens, C. Clifton, R. L\u00e4mmel, and M. Mezini, Eds., (Workshop affiliated with AOSD.)","author":"Rho T."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9942(1996)2:1%3C43::AID-TAPO4%3E3.0.CO;2-8"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1353482.1353494"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167514"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2005.4.5.a1"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.99"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/99278.99281"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/131736.131744"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081734"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/302405.302457"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the AOSD Workshop on Linking Aspects and Evolution (LATE).","author":"van Deursen A."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/42190.46167"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.5555\/1025115.1025239"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1767751.1767752","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1767751.1767752","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T11:39:44Z","timestamp":1750246784000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1767751.1767752"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010,6]]},"references-count":69,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2010,6]]}},"alternative-id":["10.1145\/1767751.1767752"],"URL":"https:\/\/doi.org\/10.1145\/1767751.1767752","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,6]]},"assertion":[{"value":"2008-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-07-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}