×

美国广播公司:可扩展的AspectJ编译器。 (英语) Zbl 1165.68356号

Rashid,Awais(ed.)等人,《面向方面软件开发学报》I.柏林:施普林格出版社(ISBN 978-3-540-32972-5/pbk)。计算机科学讲义3880。《期刊副刊》,293-334(2006)。
摘要:面向方面编程语言设计的研究需要一个工作台,该工作台可以方便地试验新的语言特性和实现技术。特别是,AspectJ的新特性已经提出,需要在许多方面进行扩展:语法、类型检查和代码生成,以及数据流和控制流分析。AspectBench编译器(美国广播公司)是这样一个工作台的实现。的基本版本美国广播公司实现完整的AspectJ语言。它的前端是使用Polyglot框架构建的,作为Java语言的模块化扩展。Polyglot的使用提供了语法和类型检查的灵活性。后端使用Soot框架构建,以提供模块化代码生成和分析。在本文中,我们概述了美国广播公司,主要关注设计如何支持可扩展性。然后,我们提供了如何使用的一般概述美国广播公司实现扩展。我们举例说明了美国广播公司通过一些小但不平凡的例子。然后,我们继续对比美国广播公司以及这些不同的目标是如何导致不同的设计决策的。最后,我们回顾了其他人开发的一些扩展项目示例美国广播公司以有趣的方式。
关于整个系列,请参见[Zbl 1163.68306号].

MSC公司:

68纳米99 软件理论
68N20型 编译与解释理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 美国广播公司。AspectBench编译器。主页,包含下载、常见问题解答、文档、支持邮件列表和错误数据库(2006年),http://aspectbench.org(引自2006年2月1日)
[2] Aldrich,J.:开放模块:关于建议的模块化推理。In:Black,A.P.(编辑)ECOOP 2005。LNCS,第3586卷,第144-168页。斯普林格,海德堡(2005)·doi:10.1007/11531142-7
[3] Aotani,T.,Masuhara,H.:为用户级语义切入点编译条件切入点。附:2005年(2005年)可持续发展组织苏丹人民解放军研讨会会议记录,网址:http://www.daimi.au.dk/eernst/splat05型/
[4] AspectJ错误数据库。切入点(2004)中的变量绑定错误,https://bugs.eclipse.org/bugs/show_bug.cgi?id=61568
[5] AspectJ错误数据库。内部类上的ITD:缺少访问器方法(2005),https://bugs.eclipse.org/bugs/show_bug.cgi?id=73856
[6] Avgustinov,P.、Christensen,A.S.、Hendren,L.、Kuzins,S.、Lhoták,J.、Lhostác,O.、de Moor,O.,Sereni,D.、Sittampalam,G.、Tibble,J.:abc:可扩展AspectJ编译器。In:Tarr,P.(ed.)AOSD 2005:第四届面向方面软件开发国际会议,ACM,纽约(2005)·兹比尔1165.68356
[7] Avgustinov,P.、Christensen,A.S.、Hendren,L.、Kuzins,S.、Lhoták,J.、Lhostác,O.、de Moor,O.,Sereni,D.、Sittampalam,G.、Tibble,J.:优化方面J。摘自:Sarkar,V.,Hall,M.W.(编辑)PLDI 2005:ACM SIGPLAN编程语言设计与实现会议,第117-128页。ACM,纽约(2005)·Zbl 1165.68356号 ·doi:10.1145/1065010.1065026
[8] Bonér,J.:AspectWerkz–Java的动态AOP(2004),http://codehaus.org/jboner/papers/aosd2004_aspectwerkz.pdf
[9] Brukman,M.,Myers,A.C.:PPG:可扩展语法的解析器生成器(2003),http://www.cs.cornell.edu/Projects/polyglot/ppg.html
[10] 千叶,S.,中川,K.:Josh:一种开放的类AspectJ语言。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第102–111页(2004)·doi:10.1145/976270.976284
[11] Chiba,S.,Nishizawa,M.:一个用于高效Java字节码转换器的易于使用的工具包。收录:Pfenning,F.,Smaragdakis,Y.(编辑)GPCE 2003。LNCS,第2830卷,第364-376页。斯普林格,海德堡(2003)·doi:10.1007/978-3-540-39815-8_22
[12] Colyer,A.,Clement,A.:中间件的大规模AOSD。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第56–65页。ACM,纽约(2004)
[13] De Volder,K.:面向方面的逻辑元编程。参见:Cointe,P.(编辑)Reflection 1999。LNCS,第1616卷,第250-272页。斯普林格,海德堡(1999)·doi:10.1007/3-540-48443-4_22
[14] Douence,R.,Fradet,P.,Südholt,M.:有状态方面的组合、重用和交互分析。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第141-150页。ACM,纽约(2004)
[15] Douence,R.、Fradet,P.、Südholt,M.:基于痕迹的方面。收录人:Filman,R.、Elrad,T.、Clarke,S.、Akšit,M.(编辑)面向方面的软件开发。Addison-Wesley,雷丁(2004)
[16] Dufour,B.,Goard,C.,Hendren,L.,de Moor,O.,Sittampalam,G.,Verbrugge,C.:测量AspectJ程序的动态行为。摘自:第19届ACM SIGPLAN面向对象编程、系统、语言和应用会议记录,第150–169页。ACM,纽约(2004)·数字对象标识代码:10.1145/1028976.1028990
[17] Dutchyn,C.,Kiczales,G.,Masuhara,H.:教程:使用Aspect Sand Box进行AOP语言探索。In:Kiczales,G.(ed.)AOSD 2002:第一届面向方面软件开发国际会议,ACP(2002)·Zbl 1032.68913号
[18] Eichberg,M.,Mezini,M.,Ostermann,K.:作为函数查询的切入点。收录:Chin,W.-N.(编辑)APLAS 2004。LNCS,第3302卷,第366–381页。斯普林格,海德堡(2004)·Zbl 1116.68372号 ·doi:10.1007/978-3-540-30477-7_25
[19] Ekman,T.,Hedin,G.:可重写的引用属性文法。收录:Odersky,M.(编辑)ECOOP 2004。LNCS,第3086卷,第147-171页。斯普林格,海德堡(2004)·doi:10.1007/978-3-540-24851-47
[20] Gagnon,E.,Hendren,L.J.,Marceau,G.:Java字节码静态类型的高效推断。收录:Palsberg,J.(编辑)SAS 2000。LNCS,第1824卷,第199-220页。斯普林格,海德堡(2000)·Zbl 0966.68563号 ·电话:10.1007/978-3-540-45099-3_11
[21] Grove,D.,DeFouw,G.,Dean,J.,Chambers,C.:面向对象语言中的调用图构造。摘自:Bloom,T.(编辑)OOPSLA:ACM面向对象编程系统、语言和应用会议,第108–124页。ACM,纽约(1997)·数字对象标识代码:10.1145/263698.264352
[22] Gybels,K.,Brichau,J.:为更健壮的基于模式的横切安排语言特性。摘自:Akšit,M.(ed.)AOSD 2003:第二届面向方面软件开发国际会议,第60-69页。ACM,纽约(2003)
[23] Hanenberg,S.,Unland,R.:参数介绍。摘自:Akšit,M.(ed.)AOSD 2003:第二届面向方面软件开发国际会议,第80–89页。ACM,纽约(2003)
[24] Hanson,D.,Proebsting,T.:研究性C#编译器。软件–实践与经验34(13),1211-1224(2004)·Zbl 02191714号 ·doi:10.1002/第610页
[25] Harbulot,B.,Gurd,J.R.:使用AspectJ分离并行科学Java代码中的关注点。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第122–131页。ACM,纽约(2004)
[26] Harbulot,B.,Gurd,J.R.:AspectJ中循环的连接点。收录于:Clifton,C.,Lämmel,R.,Leavens,G.T.(编辑)FOAL 2005:面向方面语言的基础,第11-20页(2005);技术报告05-05,爱荷华州立大学计算机科学系,http://www.cs.iastate.edu/发酵剂/FOAL/index-2005.shtml
[27] Hilsdale,E.,Hugunin,J.:AspectJ中的建议编织。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第26-35页。ACM,纽约(2004)
[28] Hugunin,J.:AspectJ编译器和编织器开发人员指南(2004),http://dev.eclipse.org/viewcvs/index.cgi/
[29] Kiczales,G.:乐趣才刚刚开始。AOSD(2003)的主题演讲,网址:AOSD.net/archive/2003/kiczales-AOSD-2003.ppt
[30] Krishnamurthi,S.,Fisler,K.,Greenberg,M.:模块化验证方面建议。收录:Taylor,R.N.,Dwyer,M.B.(编辑)ACM SIGSOFT软件工程基础国际研讨会,第137-146页(2004)·doi:10.1145/1029894.1029916
[31] Masuhara,H.,Kawauchi,K.:面向方面编程中的数据流切入点。收录:Ohori,A.(编辑)APLAS 2003。LNCS,第2895卷,第105-121页。斯普林格,海德堡(2003)·doi:10.1007/978-3-540-40018-9_8
[32] Masuhara,H.,Kiczales,G.,Dutchyn,C.:面向方面程序的编译和优化模型。收录:Hedin,G.(编辑)CC 2003。LNCS,第2622卷,第46–60页。斯普林格,海德堡(2003)·Zbl 1032.68913号 ·doi:10.1007/3-540-36579-64
[33] Miecznikowski,J.,Hendren,L.J.:Java字节码的解码:问题、陷阱和陷阱。收录:Horspool,R.N.(编辑)CC 2002。LNCS,第2304卷,第111-127页。斯普林格,海德堡(2002)·Zbl 1051.68740号 ·doi:10.1007/3-540-45937-5_10
[34] Millstein,T.:实用谓词调度。收录于:Vlissides,J.M.,Schmidt,D.C.(编辑)OOPSLA 2004:面向对象编程、系统、语言和应用会议,第345-364页。ACM,纽约(2004)
[35] Millstein,T.,Reay,M.,Chambers,C.:轻松的MultiJava:平衡可扩展性和模块化类型检查。收录于:Crocker,R.,Steel Jr.,G.L.(eds.)OOPSLA 2003:面向对象编程、系统、语言和应用会议,第224-240页。ACM,纽约(2003)
[36] Nishizawa,M.,Chiba,S.,Tatsuboi,M.:远程切入点——一种用于分布式AOP的语言构造。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第7-15页。ACM,纽约(2004)
[37] Nystrom,N.,Clarkson,M.R.,Myers,A.C.:Polyglot:Java的可扩展编译器框架。收录:Hedin,G.(编辑)CC 2003。LNCS,第2622卷,第138-152页。斯普林格,海德堡(2003)·Zbl 1032.68925号 ·doi:10.1007/3-540-36579-6_11
[38] Osser,H.,Tarr,P.:Hyper/J:java关注点的多维分离。摘自:第22届国际软件工程会议,第734-737页(2000)·数字对象标识代码:10.1145/337180.337618
[39] Sakurai,K.、Masuhara,H.、Ubayashi,N.、Matsuura,S.、Komiya,S.:协会方面。收录于:Lieberherr,K.(编辑)AOSD 2004:第三届面向方面软件开发国际会议,第16-25页。ACM,纽约(2004年)
[40] Sereni,D.,de Moor,O.:方面的静态分析。摘自:Akšit,M.(ed.)AOSD 2003:第二届面向方面软件开发国际会议论文集,第30-39页。ACM出版社,纽约(2003)
[41] Skotiniotis,T.,Lorenz,D.H.:《Cona:合同的方面》和《方面的合同》。收录于:OOPSLA 2004:第19届ACM SIGPLAN面向对象编程系统、语言和应用年会之友,第196-197页。ACM,纽约(2004)·doi:10.1145/1028664.1028747
[42] Stolz,V.,Bodden,E.:使用AspectJ的时间断言。参考:第五次运行时验证研讨会(RV 2005)。理论计算机科学电子笔记。爱思唯尔科学出版社,阿姆斯特丹(2005)
[43] Vallée-Rai,R.,Gagnon,e.M.,Hendren,L.J.,Lam,P.,Pominville,P.和Sundaresan,V.:使用Soot框架优化Java字节码:可行吗?In:Watt,D.A.(编辑)CC 2000。LNCS,第1781卷,第18-34页。斯普林格,海德堡(2000)·doi:10.1007/3-540-46423-92
[44] De Volder,K.:TyRuBa元编程系统,http://tyruba.sourceforge.net网站/
[45] Walker,R.,Viggers,K.:通过声明性事件模式实现协议。摘自:FSE-12:ACM Sigsoft软件工程基础国际研讨会,第159-169页(2004)·doi:10.1145/1029894.1029918
[46] 赵,J.:切片面向方面的软件。摘自:第十届IEEE程序理解研讨会,第251-260页(2002年)·doi:10.1109/WPC.2002.1021346
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。