AspectML: A polymorphic aspect-oriented functional programming language

被引:15
作者
Dantas, Daniel S. [1 ]
Walker, David [1 ]
Washburn, Geoffrey [2 ]
Weirich, Stephanie [2 ]
机构
[1] Princeton Univ, Princeton, NJ 08544 USA
[2] Univ Penn, Philadelphia, PA 19104 USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2008年 / 30卷 / 03期
关键词
design; languages; security; theory;
D O I
10.1145/1353445.1353448
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This article defines AspectML, a typed functional, aspect-oriented programming language. The main contribution of AspectML is the seamless integration of polymorphism, run-time type analysis and aspect-oriented programming language features. In particular, AspectML allows programmers to define type-safe polymorphic advice using pointcuts constructed from a collection of polymorphic join points. AspectML also comes equipped with a type inference algorithm that conservatively extends Hindley-Milner type inference. To support first-class polymorphic point-cut designators, a crucial feature for developing aspect-oriented profiling or logging libraries, the algorithm blends the conventional Hindley-Milner type inference algorithm with a simple form of local type inference. We give our language operational meaning via a type-directed translation into an expressive type-safe intermediate language. Many complexities of the source language are eliminated in this translation, leading to a modular specification of its semantics. One of the novelties of the intermediate language is the definition of polymorphic labels for marking control-flow points. When a set of labels is assembled as a pointcut, the type of each label is an instance of the type of the pointcut.
引用
收藏
页数:60
相关论文
共 50 条
[31]   Managing Embedded Systems Complexity with Aspect-Oriented Model-Driven Engineering [J].
Driver, Cormac ;
Reilly, Sean ;
Linehan, Eamonn ;
Cahill, Vinny ;
Clarke, Siobhan .
ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2010, 10 (02)
[32]   Modular Reasoning in Aspect-Oriented Languages from a Substitution Perspective [J].
Molderez, Tim ;
Janssens, Dirk .
TRANSACTIONS ON ASPECT-ORIENTED SOFTWARE DEVELOPMENT XII, 2015, 8989 :3-59
[33]   Aspect-Oriented Design and Implementation of Secure Agent Communication System [J].
Sahingoz, Ozgur Koray ;
Kugu, Emin .
NEURAL INFORMATION PROCESSING, ICONIP 2012, PT V, 2012, 7667 :213-220
[34]   An Aspect-Oriented Model Transformation to Weave Security using CVL [J].
Horcas, Jose-Miguel ;
Pinto, Monica ;
Fuentes, Lidia .
PROCEEDINGS OF THE 2014 2ND INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2014), 2014, :138-147
[35]   Modularizing application and database evolution - an aspect-oriented framework for orthogonal persistence [J].
Pereira, Rui Humberto R. ;
Garcia Perez-Schofield, J. Baltasar ;
Ortin, Francisco .
SOFTWARE-PRACTICE & EXPERIENCE, 2017, 47 (02) :193-221
[36]   On Generating VHDL Descriptions from Aspect-Oriented UML/MARTE Models [J].
Wehrmeister, Marco Aurelio ;
Leite, Marcela .
PROCEEDINGS OF IV BRAZILIAN SYMPOSIUM ON COMPUTING SYSTEMS ENGINEERING SBESC 2014, 2014, :67-72
[37]   Aspect-oriented Modeling of Attacks in Automotive Cyber-Physical Systems [J].
Wasicek, Armin ;
Derler, Patricia ;
Lee, Edward A. .
2014 51ST ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2014,
[38]   Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software [J].
Khatchadourian, Raffi ;
Greenwood, Phil ;
Rashid, Awais ;
Xu, Guoqing .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (03) :642-657
[39]   A formal aspect-oriented method to model and analyse secure service composition [J].
Fan, Guisheng ;
Yu, Huiqun ;
Chen, Liqiong ;
Liu, Dongmei .
International Journal of Autonomous and Adaptive Communications Systems, 2015, 8 (2-3) :119-140
[40]   An Empirical Study on the Impact of Aspect-oriented Model-driven Code Generation [J].
Menolli, Andre ;
Melo, Luan de Souza ;
Arimoto, Mauricio Massaru ;
Malucelli, Andreia .
ICEIS: PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS - VOL 2, 2021, :275-282