计算机科学 ›› 2018, Vol. 45 ›› Issue (8): 179-185.doi: 10.11896/j.issn.1002-137X.2018.08.032

• 软件与数据库技术 • 上一篇    下一篇

面向方面程序的动态语义研究

谢刚1, 蒋强1, 石磊2,3   

  1. 贵州师范大学大数据与计算机科学学院 贵阳5500011
    北京邮电大学智能通信软件与多媒体北京市重点实验室 北京1008762
    北京邮电大学计算机学院 北京1008763
  • 收稿日期:2017-12-01 出版日期:2018-08-29 发布日期:2018-08-29
  • 作者简介:谢 刚(1980-),男,博士,副教授,主要研究方向为计算机软件与理论,E-mail:xiegang@gznu.edu.cn(通信作者); 蒋 强(1993-),男,硕士生,主要研究方向为人工智能; 石 磊(1986-),男,博士生,主要研究方向为社交网络挖掘与搜索、智能信息处理。
  • 基金资助:
    本文受国家自然科学基金(61563011),贵州师范大学资助博士科研项目资助。

Dynamic Semantics of Aspect-oriented Programming

XIE Gang1, JIANG Qiang1, SHI Lei2,3   

  1. School of Big Data and Computer Science,Guizhou Normal University,Guiyang 550001,China1
    Beijing Key Laboratory of Intelligent Telecommunications Software and Multimedia,Beijing University of Posts and Telecommunications,Beijing 100876,China2
    School of Computer Science,Beijing University of Posts and Telecommunications,Beijing 100876,China3
  • Received:2017-12-01 Online:2018-08-29 Published:2018-08-29

摘要: 目前,针对面向方面程序,许多研究者已定义了各种各样的形式语义。但是,没有一种语义能被软件设计者和开发者所理解。针对该问题,在已有研究的基础上,应用统一程序理论中的设计来定义面向方面的动态语义。同时,以一个例子来说明该语义的使用。

关键词: 动态, 面向方面程序, 语义

Abstract: At present,many researchers have developed various formal semantics for aspect-oriented program.How-ever,none of the semantics can be understood by software designers and developers.Based on the existing research,this paper defined a dynamic semantics of aspect-oriented programs through using the definition of design in unifying theories of programming.The approach was enumerated with a case to demonstrate the usage of the semantics.

Key words: Aspect-oriented programming, Dynamic, Semantics

中图分类号: 

  • TP311
[1]KICZALES G,LAMPING J,MENDHEKAR A,et al.Aspect oriented programming[C]∥European Conference on Object Orien-ted Programming.Springer Berlin Heidelberg,1997:220-242.
[2]王砚霖,王世耆.面向方面编程和AspectJ[OL/EB].
[2016-03-01].http://www.creativepioneer.com/paper/AO P_and _AspectJ.pdf.
[3]KICZALES G,HILSDALE E,HUGUNIN J,et al.An overview of AspectJ[C]∥European Conference on Object-Oriented Prog-ramming.Springer Berlin Heidelberg,2001:327-335.
[4]SPINCZYK O,GAL A,SCHRÖDER-PREIKSCHAT W.As-pectC++:an aspect-oriented extension to the C++ program-ming language[C]∥Proceedings of the Fortieth International Conference on Tools Pacific:Objects for Internet,Mobile and Embedded Applications.Australian Computer Society,Inc.,2002:53-60.
[5]BRYANT A,FELDT R.Asepct R-Simple aspect-oriented pro-gramming in Ruby.http://aspecter-for.sourceforgenet.
[6]BONÉR J.What are the key issues for commercial AOP use:how does AspectWerkz address them?[C]∥Proceedings of the 3rd International Conference on Aspect-oriented SoftwareDeve-lopment.ACM,2004:5-6.
[7]HIRSCHFELD R.AspectS-Aspect-oriented programming withsqueak [M]∥Objects,Components,Architectures,Services,and Applications for a Networked Word.2002:216-232.
[8]JBoss AOP homepage[OL/EB].
[2016-03-01].http:// www.jboss.org/jbossaop.
[9]OSSHER H,TARR P.Hyper/J:multi-dimensional separation of concerns for Java[C]∥Proceedings of the 22nd International Conference on Software Engineering.ACM,2000:734-737.
[10]JIFENG H,LI X,LIU Z.rCOS:A refinement calculus of object systems[J].Theoretical Computer Science,2006,365(1):109-142.
[11]WAND M,KICZALES G,DUTCHYN C.A semantics for advice and dynamic join points in aspect-or iented programming[J].Acm Transactions on Programming Languages and Systems,2004,26(5):890-910.
[12]JAGADEESAN R,JEFFREY A,RIELY J.A calculus of untyped aspect-oriented programs[C]∥European Conference on Object-Oriented Programming.Springer Berlin Heidelberg,2003:54-73.
[13]LÄMMEL R.A semantical approach to method-call inte rception[C]∥Proceedings of the 1st International Conference on Aspect-oriented Software Development.ACM,2002:41-55.
[14]WALKER D,ZDANCEWIC S,LIGATTI J.A theory of aspects [J].Acm Sigplan Notices,2003,38(9):127-139.
[15]TUCKER D B,KRISHNAMURTHI S.Pointcuts and advice in higher-order languages[C]∥Proceedings of the 2nd Internatio-nal Conference on Aspect-oriented Software Development.ACM,2003:158-167.
[16]MASUHARA H,KICZALES G.Modeling crosscutting in aspect-oriented mechanisms[C]∥European Conference on Ob ject-Oriented Programming.Springer Berlin Heidelberg,2003:2-28.
[17]TABAREAU N.Aspect Oriented Programming:a language for 2-categories[C]∥Proceedings of the 10th International Workshop on Foundations of Aspect-oriented Languages.ACM,2011:13-17.
[18]MOLDEREZ T,JANSSENS D.Modular Reasoning in Aspect-Oriented Languages from a Substitution Perspective[C]∥Transactions on Aspect-Oriented Software Development XII.Springer Berlin Heidelberg,2015:3-59.
[19]ZHANG Q,KHEDRI R.On the weaving process of aspect-orien-ted product family algebra[J].Journal of Logical and Algebraic Methods in Programming,2016,85(1):146-172.
[20]GANG X,BO Y,MINGYI Z.A Semantics of Poincuts in As-pectJ[J].IERI Procedia,2013,4:323-330.
[21]XIE G,ZHANG M Y,YANG B.A Static Sema Ntic For Aspectj[J].Journal of Computational Information Systems,2012,8(16):6951-6962.
[22]XIE G,WEI L,WU X.static semantics of aspect-oriented programming[J].Computer Science,2017,44(9):184-189.(in Chinese)谢刚,韦立,吴祥.面向方面程序的静态语义研究[J].计算机科学,2017,44(9):184-189.
[23]陆钟万.面向计算机科学中的数理逻辑(第2版)[M].北京:科学出版社,2002:117-118.
[24]HOARE A R C,HE J.Unifying theories of program ming[M].Englewood Cliffs:Prentice Hall,1998.
[1] 曹晓雯, 梁美玉, 鲁康康.
基于细粒度语义推理的跨媒体双路对抗哈希学习模型
Fine-grained Semantic Reasoning Based Cross-media Dual-way Adversarial Hashing Learning Model
计算机科学, 2022, 49(9): 123-131. https://doi.org/10.11896/jsjkx.220600011
[2] 徐涌鑫, 赵俊峰, 王亚沙, 谢冰, 杨恺.
时序知识图谱表示学习
Temporal Knowledge Graph Representation Learning
计算机科学, 2022, 49(9): 162-171. https://doi.org/10.11896/jsjkx.220500204
[3] 罗熊丰, 翟象平.
基于空间运动约束的无人机碰撞回避规划
Collision Avoidance Planning for Unmanned Aerial Vehicles Based on Spatial Motion Constraints
计算机科学, 2022, 49(9): 194-201. https://doi.org/10.11896/jsjkx.210700107
[4] 孙慧婷, 范艳芳, 马孟晓, 陈若愚, 蔡英.
VEC中基于动态定价的车辆协同计算卸载方案
Dynamic Pricing-based Vehicle Collaborative Computation Offloading Scheme in VEC
计算机科学, 2022, 49(9): 242-248. https://doi.org/10.11896/jsjkx.210700166
[5] 陈莹, 郝应光, 王洪玉, 王坤.
基于局部梯度强度图的动态规划检测前跟踪算法
Dynamic Programming Track-Before-Detect Algorithm Based on Local Gradient and Intensity Map
计算机科学, 2022, 49(8): 150-156. https://doi.org/10.11896/jsjkx.210700135
[6] 闫佳丹, 贾彩燕.
基于双图神经网络信息融合的文本分类方法
Text Classification Method Based on Information Fusion of Dual-graph Neural Network
计算机科学, 2022, 49(8): 230-236. https://doi.org/10.11896/jsjkx.210600042
[7] 曾志贤, 曹建军, 翁年凤, 蒋国权, 徐滨.
基于注意力机制的细粒度语义关联视频-文本跨模态实体分辨
Fine-grained Semantic Association Video-Text Cross-modal Entity Resolution Based on Attention Mechanism
计算机科学, 2022, 49(7): 106-112. https://doi.org/10.11896/jsjkx.210500224
[8] 程成, 降爱莲.
基于多路径特征提取的实时语义分割方法
Real-time Semantic Segmentation Method Based on Multi-path Feature Extraction
计算机科学, 2022, 49(7): 120-126. https://doi.org/10.11896/jsjkx.210500157
[9] 姜胜腾, 张亦弛, 罗鹏, 刘月玲, 曹阔, 赵海涛, 魏急波.
语义通信系统的性能度量指标分析
Analysis of Performance Metrics of Semantic Communication Systems
计算机科学, 2022, 49(7): 236-241. https://doi.org/10.11896/jsjkx.211200071
[10] 唐枫, 冯翔, 虞慧群.
基于自适应知识迁移与资源分配的多任务协同优化算法
Multi-task Cooperative Optimization Algorithm Based on Adaptive Knowledge Transfer andResource Allocation
计算机科学, 2022, 49(7): 254-262. https://doi.org/10.11896/jsjkx.210600184
[11] 高文龙, 周天阳, 朱俊虎, 赵子恒.
基于双向蚁群算法的网络攻击路径发现方法
Network Attack Path Discovery Method Based on Bidirectional Ant Colony Algorithm
计算机科学, 2022, 49(6A): 516-522. https://doi.org/10.11896/jsjkx.210500072
[12] 杜鸿毅, 杨华, 刘艳红, 杨鸿鹏.
基于网络媒体的非线性动力学信息传播模型
Nonlinear Dynamics Information Dissemination Model Based on Network Media
计算机科学, 2022, 49(6A): 280-284. https://doi.org/10.11896/jsjkx.210500043
[13] 张纪林, 邵玉曹, 任永坚, 袁俊峰, 万健, 周丽.
支持多租户模式的业务流程动态定制模型
Dynamic Customization Model of Business Processes Supporting Multi-tenant
计算机科学, 2022, 49(6A): 705-713. https://doi.org/10.11896/jsjkx.210200104
[14] 赵静文, 付岩, 吴艳霞, 陈俊文, 冯云, 董继斌, 刘嘉琪.
多线程数据竞争检测技术研究综述
Survey on Multithreaded Data Race Detection Techniques
计算机科学, 2022, 49(6): 89-98. https://doi.org/10.11896/jsjkx.210700187
[15] 洪志理, 赖俊, 曹雷, 陈希亮, 徐志雄.
基于遗憾探索的竞争网络强化学习智能推荐方法研究
Study on Intelligent Recommendation Method of Dueling Network Reinforcement Learning Based on Regret Exploration
计算机科学, 2022, 49(6): 149-157. https://doi.org/10.11896/jsjkx.210600226
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!