欢迎来到天天文库
浏览记录
ID:32261077
大小:3.29 MB
页数:69页
时间:2019-02-02
《从命名切入点到的分析切入点自动转换》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、中文摘要关注点分离在现代软件工程中是一个重要的原则。离开了它大型的软件项目不可能简单的实现。面向方面的编程通过模块化横切关注点改善了关注点分离。但是,不幸的是现今主流的面向方面的编程语言正面临着一个严重的问题一切入点的脆弱性。这些基于命名的切入点之所以脆弱是因为如果他们所依赖的类名或方法名称发生了变化,那么这些切入点将会很容易被破坏,而无法捕获到正确的连接点。我们比较了一些尝试解决切入点脆弱性问题的研究工作,发现在这些研究中所提出的新的切入点语言与原始的相比非常的不同,因此对于开发人员来说这些新
2、的切入点语言很难编写。本文提出了一个用来实现将基于命名的切入点自动转换为基于分析的切入点的Framework。我们将这个Framework命名为Nataly。我们的方法不仅能够减轻切入点脆弱性的问题而且还填补了原始的基于命名的切入点与其他健壮的接入点之间的空白。基于命名的切入点直接使用类名,方法名或字段名,他们仅仅检查被调用或执行方法的特定的名称或类型。基于分析的切入点被作为一种解决方法提出来以克服其脆弱性。它使用静态分析的方法来替代单纯的依赖命名,并且通过分析来捕获那些满足匹配策略的连接点。目
3、前存在的一个问题是,要开发人员实现一个或编写一个能够正确分析程序的基于分析的切入点十分困难。我们提出一种将基于命名的切入点自动转换为基于分析的切入点的方法来解决这个难题。我们使用Java来实现Natalyframework.我们使用经典的FigureEditor系统作为例子,然后采用七种可能发生的最常见的程序变更的情景作为案例来评估基于分析的切入点和基于命名的切入点的鲁棒性。关键词:面向方面的编程,基于分析的切入点,基于命名的切入点,切入点的脆弱性ABSTRACTSeparationofconc
4、erns(SoC)isanimportantprincipleinsoftwareengineering.Withoutitlargesoftwaresystemsimplycouldnotberealized.Aspect—Orientedprogramming(AOP)improvesSoCbymodularizingcrosscuttingconcerns.UnfortunatelytodaysmainstreamAOPlanguagessufferfromfragilepointcutp
5、roblem.Theyarefragilebecausetheybreakeasilyifthenamesofthemethodsorclassesarechangedwhenprogramevolved.Wecomparedseveralimportantresearcheswhichattempttosolvepointcutfragility,andobservedthatnewpointcutlanguagesareverydifferentfromoriginalone.SOtheya
6、redifficulttobewrittenbyaprogrammer.InthiSdissertationweproposeaframeworkcalledNataly,whichtranslatesname——basedpointcutSintoanalysiS-basedpointcutSautomatically.Ourapproachcannotonlyalleviatepointcutfragileproblembutalsobridgeagapbetweenoriginalname
7、——basedpointcutandotherrobustone.Name—basedpointcutsdirectlyuseclassandmethodnames:theymerelycheckthatacalled/executedmethodhasthespecifiedname/type.Analysis—basedpointcutsareproposedasanapproachtoovercomethefragi1ity.Theyusestaticprogramanalysisrath
8、erthannames,andmatchthejoinpointsthatsatisfythematchstrategycheckedbytheanalysis.Oneoftheproblemsinusingtheanalysis——basedpointcutsiSdifficultyinimplementingcorrectprogramanalysis.Wetackletheproblembytranslationsfromname—basedpointcutstoanalysis—base
此文档下载收益归作者所有