×

面向增量的软件产品线的组合类型检查。 (英语) Zbl 1448.68212号

概要:面向增量的编程是一种灵活实现软件产品线的组合方法。产品线由代码库和a产品线声明代码库由一组delta模块组成,用于指定对面向对象程序的修改。面向增量的产品线中的特定产品是通过将适当增量模块中包含的修改应用于空程序而生成的。产品线声明提供了delta模块与产品功能的连接。这种分离增加了delta模块的可重用性。在本文中,我们为J的增量定向产品线的成分类型检查提供了一个基础阿瓦通过为面向增量的编程提供一个最小的核心演算。微积分配备了一个基于约束的类型系统,允许单独分析每个delta模块,以便可以重用分析结果。通过仅依赖delta模块的分析结果和产品线声明,可以根据J片段确定产品线的所有产品是否类型良好阿瓦用微积分建模的类型系统。

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
68纳米30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Ancona,D.,Damiani,F.,Drossopoulou,S.,Zucca,E.:多态字节码:类java语言的组合编译。摘自:第32届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL'05,第26-37页。ACM,纽约(2005年)。数字对象标识代码:10.1145/1040305.1040308·Zbl 1369.68122号
[2] Apel,S.,Kästner,C.,Grösslinger,A.,Lengauer,C.:面向功能的产品线的类型安全。自动。柔和。工程17(3),251–300(2010)。doi:10.1007/s10515-010-0066-8·doi:10.1007/s10515-010-0066-8
[3] Apel,S.、Kästner,C.、Lengauer,C.:Feature featherweight java:面向特征编程和逐步细化的微积分。摘自:《第七届生成性编程和组件工程国际会议论文集》,GPCE’08,第101-112页。ACM,纽约(2008)。doi:10.1145/1449913.1449931
[4] Aracic,I.、Gasiunas,V.、Mezini,M.、Ostermann,K.:《剖腹产概述》。AOSD I,LNCS 3880,135–173(2006)。doi:10.1007/116870615·Zbl 1165.68355号
[5] Batory,D.:特征模型、语法和命题公式。收录于:Obbink,H.,Pohl,K.(编辑)《软件产品线》(SPLC 2005),《计算机科学讲义》,第3714卷,第7-20页。施普林格(2005)。数字对象标识代码:10.1007/115548443
[6] Batory,D.,Sarvela,J.N.,Rauschmayer,A.:按比例逐步细化。IEEE传输。柔和。工程30,355–371(2004)。doi:10.1109/TSE.2004.23·doi:10.1109/TSE.2004.23
[7] Bettini,L.,Damiani,F.,Schaefer,I.:使用特性实现软件产品线。摘自:2010年ACM应用计算研讨会论文集,SAC’10,第2096–2102页。ACM,纽约(2010年)。数字对象标识代码:10.1145/1774088.1774530
[8] Bettini,L.,Damiani,F.,Schaefer,I.,Strocco,F.:TraitRecordJ:一种具有特征和记录的编程语言。科学。计算。程序。(2011). doi:10.1016/j.scico.2011.06.007
[9] Bono,V.,Damiani,F.,Giachino,E.:分离类型、行为和状态以实现非常精细的重用。In:FTfJP电子会议记录(2007)
[10] Bono,V.、Damiani,F.、Giachino,E.:《类爪哇环境中的特征和类型》。收录于:Ausiello,G.、Karhumki,J.、Mauri,G.和Ong,L.(编辑)第五届IFIP理论计算机科学国际会议–Tcs 2008,IFIP国际信息处理联合会,第273卷,第367–382页。Springer(2008)doi:10.1007/978-0-387-09680-3_25
[11] Bracha,G.,Cook,W.:基于Mixin的继承。摘自:《面向对象编程系统、语言和应用的面向对象编程欧洲会议论文集》,OOPSLA/ECOOP’90,第303–311页。ACM,纽约(1990年)。doi:10.1145/97945.97982
[12] Clements,P.,Northrop,L.:软件产品线:实践和模式。艾迪森·韦斯利·朗曼,雷丁(2001)
[13] Clifton,C.,Leavens,G.T.:MiniMAO$$_1$$:研究继续的语义。科学。计算。程序。63(3), 321–374 (2006). doi:10.1016/j.scico.2006.02.009·Zbl 1170.68421号 ·doi:10.1016/j.scico.2006.02.009
[14] Czarnecki,K.,Eisenecker,U.W.:生成性编程:方法、工具和应用。艾迪森·韦斯利,雷丁(2000)
[15] Damiani,F.,Padovani,L.,Schaefer,I.:面向动态增量的软件产品线的正式基础。摘自:《第11届生成性编程和组件工程国际会议论文集》,GPCE’12,第1-10页。ACM,纽约(2012)。数字对象标识代码:10.1145/2371401.2371403
[16] Damiani,F.,Schaefer,I.:面向增量的动态编程。摘自:《第15届国际软件产品线会议记录》,第2卷,SPLC’11,第34:1–34:8页。ACM,纽约(2011)。doi:10.1145/2019136.2019175
[17] Damiani,F.,Schaefer,I.:面向德尔塔的软件产品线的基于家族的类型安全分析。摘自:Margaria,T.,Steffen,B.(编辑)《利用形式方法的应用、验证和确认》。掌握变化的技术,计算机科学讲义,第7609卷,第193-207页。施普林格(2012)。doi:10.1007/978-3-642-34026-0_15
[18] De Fraine,B.,Südholt,M.,Jonckers,V.:Strongaspectj:灵活安全的切入点/建议绑定。摘自:《第七届面向方面软件开发国际会议论文集》,AOSD’08,第60-71页。ACM,纽约(2008)。doi:10.1145/1353482.1353491
[19] Delaware,B.,Cook,W.,Batory,D.:安全合成的机器检测模型。摘自:2009年面向方面语言基础研讨会论文集,2009年FOAL,第31-35页。ACM,纽约(2009年)。doi:10.1145/1509837.1509846
[20] Ducasse,S.、Nierstrasz,O.、Schärli,N.、Wuts,R.、Black,A.:特性:细粒度重用机制。ACM TOPLAS 28(2),331–388(2006)。数字对象标识代码:10.1145/1119479.1119483·数字对象标识代码:10.1145/1119479.1119483
[21] Ernst,E.:gbeta—一种具有虚拟属性、块结构和传播、动态继承的语言。丹麦奥胡斯大学计算机科学系博士论文(1999年)。http://www.daimi.au.dk/eernst/gbeta
[22] Ernst,E.:传播类和方法组合。收录于:Guerraoui,R.(编辑)ECOOP 1999–面向对象编程,《计算机科学讲义》,第1628卷,第67-91页。斯普林格(1999)。doi:10.1007/3-540-48743-34
[23] Ernst,E.:高阶层次结构。收录于:Cardelli,L.(编辑)ECOOP 2003–面向对象编程,《计算机科学讲义》,第2743卷,第303–328页。斯普林格(2003)。文件编号:10.1007/978-3-540-45070-2_14
[24] 恩斯特·E:表达问题,斯堪的纳维亚风格。收录:MASPEGHI(2004)。http://www.i3s.unice.fr/maspeghi2004/final-version/e_ernst.pdf
[25] Fraine,B.,Ernst,E.,Sdholt,M.:基本AOP:微积分。摘自:D'Hondt,T.(编辑)ECOOP 2010–面向对象编程,《计算机科学讲义》,第6183卷,第101-125页。施普林格(2010)。doi:10.1007/978-3-642-14107-26
[26] Igarashi,A.,Pierce,B.,Wadler,P.:Featherweight Java:Java和GJ的最小核心演算。ACM TOPLAS 23(3),396–450(2001)。doi:10.1145/503502.503505·doi:10.1145/503502.503505
[27] Johnsen,E.,Kyas,M.,Yu,I.:动态类:分布式并发对象的模块化异步演化。收录于:Cavalcanti,A.,Dams,D.(编辑)FM 2009:形式方法,计算机科学课堂讲稿,第5850卷,第596–611页。施普林格(2009)。doi:10.1007/978-3-642-05089-3_38
[28] Kang,K.C.,Cohen,S.G.,Hess,J.A.,Novak,W.E.,Peterson,A.S.:面向特征的领域分析(FODA)可行性研究。技术报告。卡内基·梅隆软件工程研究所(1990)
[29] Kästner,C.,Apel,S.,Batory,D.:使用aspectJ实现特性的案例研究。摘自:软件产品线会议(SPLC 2007),第223-232页。IEEE,洛斯阿拉米托斯(2007)。doi:10.1109/SPLINE.2007.12
[30] Kästner,C.,Apel,S.,Kuhlemann,M.:软件产品线的粒度。摘自:《第30届国际软件工程会议论文集》,ICSE’08,第311–320页。ACM,纽约(2008)。doi:10.1145/1368088.1368131
[31] Kästner,C.,Apel,S.,ur Rahman,S.S.,Rosenmüller,M.,Batory,D.,Saake,G.:关于可选特征问题的影响:分析和案例研究。摘自:《第13届国际软件产品线会议记录》,SPLC’09,第181-190页。匹兹堡卡内基梅隆大学(2009)。数字对象标识代码:10.1145/1753235.1753261
[32] Kiczales,G.、Hilsdale,E.、Hugunin,J.、Kersten,M.、Palm,J.和Griswold,W.G.:方面概述。收录于:ECOOP 2001–面向对象编程,《计算机科学讲义》,第2072卷,第327-354页。施普林格(2001)。数字对象标识代码:10.1007/3-540-45337-7_18·兹伯利0982.68552
[33] Kiczales,G.、Lamping,J.、Mendhekar,A.、Maeda,C.、Lopes,C.、Laingtier,J.M.、Irwin,J.:面向方面编程。收录于:ECOOP 1997–面向对象编程,《计算机科学讲义》,第1241卷,第220-242页。施普林格(1997)。doi:10.1007/BFb0053381
[34] 克鲁格:消除收养障碍。IEEE软件。19(4), 29–31 (2002). doi:10.10109/MS.2002.1020284·doi:10.1109/MS.2002.1020284
[35] Kuhlemann,M.,Batory,D.,Kästner,C.:非单调特征的安全组合。摘自:《第八届生成性编程和组件工程国际会议论文集》,GPCE’09,第177–186页。ACM,纽约(2009年)。数字对象标识代码:10.1145/1621607.1621634
[36] Lopez-Herrejon,R.,Batory,D.,Cook,W.:评估对先进模块化技术特性的支持。In:Black,A.P.(ed.)ECOOP 2005–面向对象编程,《计算机科学讲义》,第3586卷,第169-194页。斯普林格(2005)。doi:10.1007/11531142_8
[37] Madsen,O.L.,Möller-Pedersen,B.:虚拟类:面向对象编程中的强大机制。摘自:《面向对象编程系统、语言和应用会议论文集》,OOPSLA’89,第397-406页。ACM,纽约(1989)。doi:10.1145/74877.74919
[38] Odersky,M.:Scala语言规范,2.4版。EPFL编程方法实验室技术报告(2007)
[39] Osser,H.,Tarr,P.:Hyper/J:Java关注点的多维分离。摘自:《第22届国际软件工程会议论文集》,ICSE’00,第734-737页。ACM,纽约(2000年)。数字对象标识代码:10.1145/337180.337618
[40] Ostermann,K.:与委托层的动态组合协作。收录于:Magnusson,B.(ed.)ECOOP 2002–面向对象编程,《计算机科学讲义》,第2374卷,第89–110页。斯普林格(2002)。doi:10.1007/3-540-47993-74·Zbl 1049.68824号
[41] Rosenmüller,M.,Siegmund,N.,Saake,G.,Apel,S.:支持软件产品线静态和动态组合的代码生成。摘自:《第七届生成性编程和组件工程国际会议论文集》,GPCE’08,第3-12页。ACM,纽约(2008)。doi:10.1145/1449913.1449917
[42] Schaefer,I.、Bettini,L.、Bono,V.、Damiani,F.、Tanzarella,N.:面向三角洲的软件产品线编程。在:Bosch,J.,Lee,J.(编辑)《软件产品线:超越》(SPLC 2010),《计算机科学讲义》,第6287卷,第77-91页。施普林格(2010)。doi:10.1007/978-3642-15579-66
[43] Schaefer,I.,Bettini,L.,Damiani,F.:面向增量编程的组合类型选择。摘自:第十届面向方面软件开发国际会议论文集,AOSD’11,第43-56页。ACM,纽约(2011)。doi:10.1145/1960275.1960283
[44] Schaefer,I.,Damiani,F.:纯增量导向编程。在:第二届面向特征的软件开发国际研讨会论文集,FOSD’10,第49-56页。ACM,纽约(2010年)。doi:10.1145/1868688.1868696
[45] Smaragdakis,Y.,Batory,D.:混合层:一种面向对象的实现技术,用于细化和基于协作的设计。ACM事务处理。柔和。工程方法。11(2), 215–255 (2002). doi:10.1145/505145.505148·doi:10.1145/505145.505148
[46] Strniša,R.,Sewell,P.,Parkinson,M.:java模块系统:核心设计和语义定义。摘自:第22届ACM SIGPLAN面向对象编程系统和应用年会论文集,OOPSLA’07,第499–514页。ACM,纽约(2007年)。doi:10.1145/1297027.1297064
[47] Tarr,P.,Osser,H.,Harrison,W.,Sutton Jr.,S.M.:N分离度:关注点的多维分离。摘自:《第21届国际软件工程会议论文集》,ICSE’99,第107–119页。ACM,纽约(1999年)。数字对象标识代码:10.1145/302405.302457
[48] Thaker,S.、Batory,D.、Kitchin,D.、Cook,W.:产品线的安全组成。摘自:《第六届生成性编程和组件工程国际会议论文集》,GPCE’07,第95-104页。ACM,纽约(2007年)。数字对象标识代码:10.1145/1289971.1289989
[49] Thüm,T.、Apel,S.、Kästner,C.、Kuhlemann,m.、Schaefer,I.、Saake,G.:软件产品线的分析策略。技术报告FIN-004-2012,德国马格德堡大学计算机科学学院(2012)。http://www.cs.uni-magdeburg.de/inf_media/downloads/forschung/technical_reports_und_preprints/2012/04_2012.pdf
[50] 托格森(Torgersen,M.):重新审视表达问题。收录于:Odersky,M.(编辑)ECOOP 2004–面向对象编程,《计算机科学讲义》,第3086卷,第123–146页。斯普林格(2004)。doi:10.1007/978-3-540-24851-46
[51] Zenger,M.,Odersky,M.:表达式问题的独立可扩展解决方案。In:FOOL(2005)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。