期刊文献+

面向方面软件重构等价性形式化证明方法 被引量:6

An Equivalence Proving in Formal Method for Aspect-Oriented Refactory
下载PDF
导出
摘要 软件重构在不改变程序行为的情况下通过对代码进行小的改进以提升设计,使之更容易理解和维护,面向方面的程序设计是软件开发的新技术,为了有效实施面向方面的软件重构,需要开发者识别面向方面程序的转化规则。然而,由于使用的AOP语言没有形式化的语义定义,难以确认转化和重构的程序运行行为。本文对MCI操作语义的面向方面的扩展使之支持程序的方面特征的描述,定义了两个程序的观测等价,讨论了AspectJ的形式语义模型的建立,在MCI的语义下形式化地精确证明了AddBefore-executing编程规则的观测等价性,其基本原理和方法可以适用于其他规则的证明,通过上述工作提出了面向方面重构的程序和它的面向对象程序原型等价性的证明方法。 Refactoring is that you make small changes to your code to improve your design, making it easier to understand and maintrained without to change program behaviours. Aspect Oriented Programming(AOP) is a new technology for software development. In order to explore the benefits of refactoring aspect-oriented developers are identifying common transformations for aspect-oriented programs the laws proof. However, they lack support for assuring that the transformations observation behaviour and are indeed refactorings because there is not formal semantics in the AOP language that we have used. In this paper, an operational semantics for Method Call Interception(MCI) is extented to fit in with represent AOP featurs. An equivalence relation stating that two programs have the same observation behaviour is defined; the paper presents a formal model for the semantics of AspectJ. We use these concepts and discuss exactness for its laws in formal mothed MCI. The observation equivalence proving of Add Before-executing law can be used in other law. In conclusion, we show how it is possible to prove that an new aspect-oriented program by refactoring is equivalent its Object Oriented prototype.
出处 《计算机科学》 CSCD 北大核心 2006年第7期257-261,共5页 Computer Science
基金 国家自然科学基金(No.60474072 No.60174050) 广东省自然科学基金(No.04009465 No.010059) 广东省高校自然科学研究项目(No.Z03024)基金资助
关键词 重构 面向方面编程 形式化方法 MCI 等价性 ASPECTJ Rafactoring,Aspect oriented programming, Formal method,MIC, Equivalence, AspectJ
  • 相关文献

参考文献14

  • 1任洪敏,钱乐秋.构件组装及其形式化推导研究[J].软件学报,2003,14(6):1066-1074. 被引量:80
  • 2陈广明,张立臣,陈生庆.面向方面的实时系统形式化开发方法[J].计算机科学,2005,32(7):189-192. 被引量:10
  • 3Monteiro M, Femandes J. Towards a Catalog of Aspect-Oriented Refactorings. In: 4th Intl. Conf. on Aspect-Oriented Software Development, Chicago, USA,ACM PressMar. 2005
  • 4Opdyke W. Refactoring Object-Oriented Frameworks: [PhD thesis]. Urbana-Champaign, IL, USA, 1992
  • 5Roberts D. Practical Analysis for Refactoring: [PhD thesis]. Urbana-Champaign, IL, USA, 1999
  • 6Wand M,Kiczales G, Dutchyn C. A semantics for advice and dynamic join points in aspect-oriented programming. In: G. T.Leavens and R. Cytron, eds. FOAL 2002 Proceedings: Foundations of Aspect-Oriented Langauges Workshop at AOSD 2002,number 02-06 in Technical Report, Department of Computer Science, Iowa State University, Apr. 2002. 1-8
  • 7Aldrich J. Open Modules: A proposal for Modular Reasoning In:Aspect-Oriented Programming. In: C. Clifton, R. Lammel, and G.T. Leavens, eds. FOAL'04 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2004; Technical Re-portCS Dept. , Iowa State Univ. , Mar. 2004
  • 8Barzilay O, Feldman Y, Tyszberowicz S, Yehudai A. Call and Execution Semantics in AspectJ. In:C. Clifton,R. Lammel, and G. T.Leavens, eds. FOAL' 04 Proceedings: Foundations of Aspect-Oriented Languages Workshop at AOSD 2004 ; Technical Report CSDept. ,Iowa State Univ. ,Mar. 2004
  • 9Borba P H M,Sampaio A C A,Cavalcanti A L C, Cornelio M L.Algebraic reasoning for object-oriented programming. Science of Computer Programming, January 2004
  • 10Cole L,Borba P. Deriving Refactorings for AspectJ. In: Proc. of the 4th International Conference on Aspect-Oriented Software Development (AOSD 2005), Chicago, USA, ACM Press, Mar. 2005

二级参考文献16

  • 1陈广明,陈生庆,张立臣.Z实时扩展及基于多视点的应用模式[J].计算机应用,2005,25(2):362-364. 被引量:9
  • 2The AspectJ Programming Guide. Xerox Corporation ,September2002. Available at: http:∥aspectj. org/doc/dist/progguide/index.html
  • 3Suhl C. RT-Z: An integration of Z and timed CSP [R]. In:[AGT99], 1999. 51~65
  • 4Suhl C. Applying RT-Z to develop safety-critical systems[C]. In:Proc. of the Third Intl. Conf. on Fundamental Approaches to Software Engineering (FASE 2000), number 1783 in Lecture Notes in Computer Science, Springer-Verlag, 2000. 51 ~ 65
  • 5ZUM'98. The Z Formal Specification Language[C]. number 1493in Lecture Notes in Computer Science,Springer-Verlag, 1998. 5~23
  • 6Andrews J H. Process-algebraic foundations of aspect-oriented programming. In:Proc. of the Third Intl. Conf. on Metalevel Architectures and Separtion of Crosscutting Concerns,volume 2192of Lecture Notes in Computer Science, Benlin: Springer-Verlag,2001. 187~209
  • 7RAISE Language Group. The RAISE Specification Language[C].BCS Practitioner Series. Prentice-Hall, 1992
  • 8ftp:∥ftp. irt. uni-hannover. de/pub/pearl/report. pdf(in English)
  • 9Fischer C. How to combine Z with a process algebra. [R]. In J.P. Bowen,A. Fett,M. G. Hinchey, editors ,2000
  • 10Stankavic J, Zhu R, Poornalingam R, et al. " VEST": an aspectbased composition tool for real-time systems. In: Proc. of the 9th Real-Time Applications Symposium 2003,Toronto, Canada: IEEE Computer Society Press ,May 2003. 110~123

共引文献82

同被引文献26

引证文献6

二级引证文献14

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部