×

分布式方面的化学基础。 (英语) Zbl 1451.68068号

摘要:分布式应用程序的编程很有挑战性,因为它们必须处理过多的问题,包括同步、位置、复制、安全和容错。面向方面编程(AOP)是一种范式,它通过提供将横切关注点封装在称为方面的实体中的方法来促进更好的模块化。在过去几年中,提出了许多分布式面向方面的编程语言和系统,说明了AOP在分布式环境中的优点。化学计算特别适合正式指定并发和分布式系统的行为。连接演算是一种函数名称传递演算,具有分布式扩展和面向对象扩展。它是几种主流语言(如C#(Polyphonic C#,现在的C\(\omega\))、OCaml(JoCaml)和Scala Joins)中并发和分发特性的基础。不出所料,连接演算中的实际编程在处理横切关注点时也会遇到模块化问题。我们提出了方面连接演算,这是一种面向方面的分布式连接演算变体,用于解决横切问题,并为分布式AOP提供了形式化基础。我们开发了一个最小方面连接演算,允许方面建议化学反应。我们展示了如何处理切入点中的因果关系,以及如何支持高级可定制方面编织语义。我们还为分散的分布式方面编织体系结构提供了基础。方面连接演算的语义由化学操作语义给出。我们给出了方面连接演算到核心连接演算的转换,并通过一个双相似性论证证明了这种转换是正确的。此转换用于在JoCaml之上实现Aspect JoCaml。

MSC公司:

第68页第19页 其他编程范式(面向对象、顺序、并发、自动等)
68甲15 编程语言理论
2007年第68季度 受生物启发的计算模型(DNA计算、膜计算等)
2010年第68季度 计算模式(非确定性、并行、交互式、概率性等)

软件:

方面J乔坎尔凯撒J
PDF格式BibTeX公司 XML格式引用
全文: 内政部 哈尔

参考文献:

[1] 第九届ACM面向方面软件开发国际会议论文集(AOSD 2010),雷恩和圣马洛,法国,2010年3月。美国计算机协会出版社
[2] Aracic,I.,Gasiunas,V.,Mezini,M.,Ostermann,K.:《凯撒概述》,载《面向方面软件开发学报》,计算机科学讲义第3880卷,第135-173页。施普林格(2006年2月)·兹比尔1165.68355
[3] Avgustinov,P.、Christensen,A.S.、Hendren,L.、Kuzins,S.、Lhoták,J.、Lhostác,O.、de Moor,O.,Sittampalam,G.、Sereni,D.、Tibble,J.:abc:可扩展AspectJ编译器。收录于:《面向方面软件开发汇刊》,《计算机科学讲稿》第3880卷,第293-334页。斯普林格(2006)·Zbl 1165.68356号
[4] Benavides,N.、Luis,D.、Südholt,M.、Vanderperren,W.、De Fraine,B.、Suveée,D.:使用AWED显式分布AOP。摘自:第五届ACM面向方面软件开发国际会议(AOSD 2006),第51-62页,德国波恩,2006年3月。美国计算机协会出版社
[5] Benavides,N.、Luis,D.、Südholt,M.、Vanderperren,W.、Verheecke,B.:使用AWED对分布式web服务进行模块化。摘自:第八届分布式对象与应用国际研讨会论文集(DOA 2006),计算机科学讲稿第4276卷,第1449-1466页。施普林格(2006年10月)
[6] Benton,N.,Cardelli,L.,Fournet,C.:\[C^{\sharp}\]的现代并发抽象♯. ACM事务处理。程序。语言系统。26(5), 769-804 (2004) ·兹比尔1049.68754 ·doi:10.1145/1018203.1018205
[7] Biba,K.J.:安全计算机系统的完整性考虑。技术报告ESD-TR-76-372,美国空军电子系统部,美国马萨诸塞州贝德福德(1977年4月)
[8] Bodden,E.,Forster,F.,Steimann,F.:避免具有分层方面的无限递归。摘自:《网络学报》。ObjectDays 2006,《信息学讲义》,第49-54页。GI-Edition(2006)
[9] Bodden,E.,Stolz,V.:跟踪检查:用时态逻辑定义语义接口。收录于:Löwe,W.,Südholt,M.(eds.)《第五届软件组合国际研讨会论文集》(SC 2006),《计算机科学讲稿》第4089卷,第147-162页,奥地利维也纳(2006年3月)。施普林格
[10] Bodden,E.,Tanter,E。,Inostroza,M.:用于安全灵活地解耦方面的连接点接口。ACM事务处理。柔和。工程方法。23(1), 7:1-7:41 (2014) ·doi:10.1145/2559933
[11] Chen,H.-Y.:COCA:使用AOP将计算卸载到云。摘自:第十二届IEEE/ACM集群、云和网格计算国际研讨会(CCGrid)论文集,第466-473页,美国安大略省渥太华(2012)
[12] Clements,J.,Felleisen,M.:具有堆叠检查功能的尾部递归机器。ACM事务处理。程序。语言系统。26(6),1029-1052(2004)·doi:10.1145/1034774.10347778
[13] Clifton,C.,Leavens,G.T.:MiniMAO\[_11\]:研究面向方面推理的命令式核心语言。科学。计算。程序。63, 312-374 (2006) ·兹比尔1170.68421 ·doi:10.1016/j.scico.2006.02.009
[14] Curti,M.,Degano,P.,Baldari,C.T.:生物化学建模的因果π演算。摘自:《系统生物学中的计算方法》,《计算机科学讲义》第2602卷,第21-34页。Springer-Verlag(2003年2月)·Zbl 1053.92020年
[15] De Fraine,B.,Ernst,E.,Südholt,M.:基本AOP:A演算。摘自:D'Hondt,T.(编辑)《第24届欧洲面向对象编程会议论文集》(ECOOP 2010),第6183号,计算机科学讲稿,第101-125页,斯洛文尼亚马里博尔(2010年6月)。施普林格
[16] 杜恩斯,R。;弗雷德,P。;苏霍尔特,M。;Filman,RE(编辑);Elrad,T.(编辑);Clarke,S.(编辑);阿克西特·M(编辑),《基于痕迹的方面》,201-217(2005),波士顿
[17] Douence,R.,Teboul,L.:控制流的切入点语言。载于:Karsai,G.和Visser,E.(eds.)《第三届ACM SIGPLAN/SIGSOFT生成编程和组件工程会议论文集》(GPCE 2004),计算机科学讲义第3286卷,第95-114页,加拿大温哥华,2004年10月。施普林格
[18] Dutchyn,C.,Tucker,D.B.,Krishnamurthi,S.:高阶语言中的语义和方面范围。科学计算程序63(3),207-239(2006)·Zbl 1119.68111号 ·doi:10.1016/j.scico.2006.01.003
[19] Duzan,G.、Loyall,J.、Schantz,R.、Shapiro,R.和Zinky,J.:使用中间件和方面构建自适应分布式应用程序。收录于:利伯海尔[35],第66-73页
[20] Elrad,T.、Filman,R.E.、Bader,A.:面向方面编程。ACM通信,44(10)(2001年10月)
[21] Fournet,C.,Gonthier,G.:连接演算:分布式移动编程语言。摘自:《应用语义学》,《计算机科学讲义》第2395卷,第268-332页。斯普林格(2002)·Zbl 1065.68071号
[22] Fournet,C.,Gonthier,G.:反射化学抽象机和联合微积分。收录于:《96年流行文学学报》,第372-385页。ACM(1996年1月)
[23] Fournet,C.,Laneve,C.,Maranget,L.,Rémy,D.:连接演算中的继承。逻辑代数杂志。程序。57(1), 23-70 (2003) ·Zbl 1035.03011号 ·doi:10.1016/S1567-8326(03)00040-7
[24] Fournet,C.,Le Fessant,F.,Maranget,L.,Schmitt,A.:JoCaml:一种用于并发分布式和移动编程的语言。摘自:《高级函数编程》,《计算机科学讲义》第2638卷,第129-158页。斯普林格(2003)
[25] Gasiunas,V.、Satabin,L.、Mezini,M.、Nüñez,A.、Noyé,J.:EScala:Scala中的模块化事件驱动对象交互。在:《第十届ACM面向方面软件开发国际会议论文集》(2011年AOSD),第227-240页,巴西加林哈斯港(2011年3月)。美国计算机协会出版社
[26] Haller,P.,Van Cutsem,T.:使用可扩展模式匹配实现连接。收录于:Lea,D.和Zavattaro,G.(eds):第十届国际协调模型和语言会议记录(Coordination 2008),计算机科学讲稿第5052卷,第135-152页,挪威奥斯陆(2008年6月)。施普林格·Zbl 1163.68303号
[27] Hilsdale,E.,Hugunin,J.:AspectJ中的建议编织。收录于:利伯海尔[35],第26-35页
[28] Jagadeesan,R.,Jeffrey,A.,Riely,J.:方面的类型参数多态性。科学。计算。程序。63, 267-296 (2006) ·Zbl 1119.68048号 ·doi:10.1016/j.scico.2006.02.008
[29] Jones,N.D.,Gomard,C.K.,Sestoft,P.:部分评估和自动程序生成。计算机科学国际丛书。Prentice Hall,Upper Saddle River(1993年)·Zbl 0875.68290号
[30] Kiczales,G.、Irwin,J.、Lamping,J.和Loingtier,J.,Lopes,C.V.,Maeda,C.和Mendhekar,A.:面向方面编程。In:面向对象编程中的特殊问题。Max Muehlhaeuser(总编辑)等(1996)
[31] Kiczales,G.、Hilsdale,E.、Hugunin,J.、Kersten,M.、Palm,J.和Griswold,W.:AspectJ概述。摘自:Knudsen,J.L.(ed)《第十五届欧洲面向对象编程会议论文集》(ECOOP 2001),第2072期,计算机科学讲稿,第327-353页,匈牙利布达佩斯(2001年6月)。施普林格·Zbl 0982.68552号
[32] Kiczales,G.,Mezini,M.:面向方面的编程和模块化推理。摘自:第27届国际软件工程会议记录(ICSE 2005),第49-58页,美国密苏里州圣路易斯,2005年。美国计算机协会出版社
[33] Leger,P.,Tanter,E。,Douence,R.:网络上的模块化和灵活因果控制。科学。计算。程序。78(9), 1538-1558 (2013) ·doi:10.1016/j.scico.2012.1005
[34] Leger,P.,Tanter,E。,福田,H.:一种富有表现力的状态体语言。科学。计算。程序。102(1), 108-141 (2015) ·doi:10.1016/j.scico.2015.02.001
[35] Lieberherr,K.(编辑)《第三届ACM面向方面软件开发国际会议论文集》(AOSD 2004),英国兰卡斯特(2004年3月)。美国计算机协会出版社
[36] Mandel,L.,Maranget,L.:JoCaml语言版本4.00。Inria(2012年8月)
[37] Masuhara,H.,Kiczales,G.,Dutchyn,C.:面向方面程序的编译和优化模型。摘自:Hedin,G.(ed),《编译器构造学报》(CC2003),《计算机科学讲稿》第2622卷,第46-60页。斯普林格(2003)·Zbl 1032.68913号
[38] Mdhaffar,A.,Ben Halima,R.,Juhnke,E.,Jmaiel,M.:AOP4CSM:云服务监控的一种面向方面的编程方法。在:第11届IEEE国际计算机与信息技术会议(CIT)论文集,第363-370页(2011)
[39] Nishizawa,M.,Chiba,S.,Tatsubori,M.:远程切入点——分布式AOP的语言构造。收录于:利伯海尔[35],第7-15页
[40] Obrovac,M.,Tedeschi,C.:分级化学计算平台的实验评估。国际J.净值。计算。3(1), 37-54 (2013) ·doi:10.15803/ijnc.3.1_37
[41] Oliveira,B.C.d.S.、Schrijvers,T.和Cook,W.R.:有效建议:具有明确效果的纪律建议。收录于:AOSD 2010[1],第109-120页
[42] Oliveira,B.C.D.S.,Schrijvers,T.,Cook,W.R.:MRI:关于增量编程中干扰的模块化推理。J.功能。程序。22, 797-852 (2012) ·Zbl 1267.68090号 ·doi:10.1017/S0956796812000354
[43] Ostermann,K.,Mezini,M.,Bockisch,C.:增加模块化的表达切入点。摘自:Black,A.P.(编辑)《欧洲面向对象编程会议论文集》,LNCS第3586卷,第214-240页。斯普林格(2005)
[44] Pawlak,R.、Seinturier,L.、Duchien,L.,Florin,G.、Legond-Aubry,F.、Martelli,L.:JAC:面向方面的分布式动态框架。Softw Pract Exp 34(12),1119-1148(2004)·doi:10.1002/spe.605
[45] Pazat,J.-L.,Priol,T.,Tedeschi,C.:走向一种化学创新的中间件来编程服务互联网。ERCIM新闻85(34)、34-35(2011)
[46] Riely,J.,Hennessy,M.:分布式移动进程的类型化语言。收录于:《98年POPL会议录》,第378-390页。ACM出版社(1998)
[47] Rinard,M.,Salcianu,A.,Bugrara,S.:面向方面程序的分类系统和分析。摘自:第十二届ACM软件工程基础研讨会论文集(FSE 12),第147-158页。ACM出版社(2004)
[48] Samarati,P.,di Vimercati,S.C.:访问控制:策略、模型和机制。收录于:FOSAD’00:IFIP WG 1.7安全分析与设计基础国际学校期间的讲座修订版,第137-196页,英国伦敦(2001年)。施普林格·Zbl 1010.68698号
[49] Soares,S.、Laureano,E.、Borba,P.:使用AspectJ实现分布和持久性方面。摘自:《第17届面向对象编程系统、语言和应用国际会议论文集》(OOPSLA 2002),第174-190页,美国华盛顿州西雅图,2002年11月。ACM出版社。ACM SIGPLAN通知37(11)
[50] Steimann,F.:面向方面编程的矛盾成功。摘自:《第21届ACM SIGPLAN面向对象编程系统、语言和应用会议论文集》(OOPSLA 2006),第481-497页,美国俄勒冈州波特兰,2006年10月。ACM出版社。ACM SIGPLAN通知41(10)
[51] Steimann,F.,Pawlitzki,T.,Apel,S.,Kästner,C.:隐式调用与隐式声明的类型和模块化。ACM软件工程与方法学报20(1):第1条(2010年)
[52] Sullivan,K.、Griswold,W.G.、Rajan,H.、Song,Y.、Cai,Y.,Shonle,M.、Tewari,N.:采用XPI的模块化面向方面设计。摘自:《ACM软件工程与方法汇刊》,第20卷(2)(2010年)。第5条
[53] Tabarau,N.:分布式方面理论。在:AOSD 2010[1],第133-144页
[54] Tabarau,N.、Figueroa,I.、Tanter,E.:方面的类型化单子嵌入。摘自:Kinzle,J.(编辑)《第十二届面向方面软件开发国际会议论文集》(AOSD 2013),第171-184页,日本福冈(2013年3月)。美国计算机协会出版社
[55] 西班牙坦特。,Fabry,J.、Douence,R.、Noyé,J.和Südholt,M.:分布式方面的范围界定策略。科学。计算。程序。75(12), 1235-1261 (2010) ·兹伯利1209.68113 ·doi:10.1016/j.scico.2010.06.011
[56] 西班牙坦特。,Figueroa,I.,Tabarau,N.:面向方面编程的执行级别:设计、语义、实现和应用程序。科学。计算。程序。80(1), 311-342 (2014) ·doi:10.1016/j.scico.2013.09.002
[57] 西班牙坦特。,Toledo,R.:分布式AOP的通用内核。摘自:IFIP分布式应用和互操作系统国际会议记录(DAIS 2006),计算机科学讲稿第4025卷,第316-331页,意大利博洛尼亚(2006)。施普林格
[58] 托莱多·R·Nüñez·A·Tanter·E·。,Noyé,J.:面向Java访问控制。IEEE传输。柔和。工程38(1),101-117(2012)·doi:10.1109/TSE.2011.6
[59] Truyen,E.,Joosen,W.:分布式方面的运行时和原子编织。事务处理。面向方面的软件。Dev.II(4242),147-181(2006)·Zbl 1165.68370号 ·doi:10.1007/119228276
[60] Wadler,P.:如何用成功列表取代失败。摘自:《函数编程语言和计算机体系结构会议记录》(FPCA’85),《计算机科学讲义》第201卷,第113-128页,法国南希(1985年9月)。施普林格·Zbl 0568.68007号
[61] Walker,D.,Zdancewic,S.,Ligatti,J.:方面理论。摘自:《第八届ACM SIGPLAN函数编程会议记录》(ICFP 2003),第127-139页,瑞典乌普萨拉(2003年9月)。ACM出版社·Zbl 1315.68072号
[62] Wand,M.,Kiczales,G.,Dutchyn,C.:面向方面编程中建议和动态连接点的语义。ACM事务处理。程序。语言系统。26(5), 890-910 (2004) ·数字对象标识代码:10.1145/1018203.1018208
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。