Groovy AOP: a dynamic AOP system for a JVM-based language
|
||||||||||||||||||||||
ABSTRACTGroovy AOP is a general-purpose AOP system for Groovy, a JVM-based dynamic language. Groovy AOP provides a hybrid dynamic AOP implementation based on both meta-programming and bytecode transformation. It implements the pointcut-advice model of AspectJ. Based on Groovy syntax, Groovy AOP introduces a domain-specific language for declaration of aspects, pointcut expressions, and advice. At runtime, it utilises the dynamic compilation capability of the JVM to convert advice codes woven by meta-programming into bytecodes. Preliminary results show that this dynamic weaving technique preserves the nature of a dynamic language, while reducing runtime overheads.
AUTHORS
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Chanwit Kaewkasi | |||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of John R. Gurd | |||||||||||||||||||||||||||||||||||||||||
REFERENCESNote: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
|
1
|
C. Bockisch, et al. Envelope-based weaving for faster aspect compilers. In NODe/GSEM, pages 3--18, 2005.
|
|
|
2
|
M. Chang, et al. Efficient just-in-time execution of dynamically typed languages via code specialization using precise type. Technical Report ICS-TR-07-10, Donald Bren School of Information and Computer Science, University of California, Irvine, 2007.
|
|
|
3
|
Eclipse.org. AspectJ project. http://www.eclipse.org/aspectj, 2006.
|
|
| |
4
|
|
|
5
|
M. Haupt. Virtual Machine Support for Aspect-Oriented Programming Languages. PhD thesis, Software Technology Group, Darmstadt University of Technology, 2006.
|
|
| |
6
|
Michael Haupt , Mira Mezini , Christoph Bockisch , Tom Dinkelaker , Michael Eichberg , Michael Krebs, An execution layer for aspect-oriented programming languages, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, June 11-12, 2005, Chicago, IL, USA [doi>10.1145/1064979.1065000]
|
| |
7
|
|
|
8
|
||
| |
9
|
|
|
10
|
||
|
11
|
||
|
12
|
G. Kiczales, et al. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, Proceedings ECOOP, volume 1241, pages 220--242. Springer-Verlag, Berlin, Heidelberg, and New York, 1997.
|
|
|
13
|
A. Nicoara and G. Alonso. Dynamic AOP with PROSE. In Proceedings of ASMEA '05 in conjunction with CAISE '05, 2005.
|
|
|
14
|
M. Odersky, et al. An overview of the Scala programming language. Technical Report IC/2004/64, EPFL Lausanne, Switzerland, 2004.
|
|
| |
15
|
CITED BY3 Citations
|
|
|
|
|
|
|
|
INDEX TERMSThe ACM Computing Classification System (CCS rev.2012)
PUBLICATION| Title | SPLAT '08 Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies table of contents | ||||||||||||||||||
| Conference Chairs | Lodewijk Bergmans University of Twente, Netherlands | ||||||||||||||||||
| Erik Ernst University of Aarhus, Denmark | |||||||||||||||||||
| Kris Gybels Vrije Universiteit Brussel, Belgium | |||||||||||||||||||
| Article No. | 3 | ||||||||||||||||||
| Publication Date | 2008-03-31 (yyyy-mm-dd) | ||||||||||||||||||
| In-Cooperations | SIGPLAN ACM Special Interest Group on Programming Languages | ||||||||||||||||||
| SIGSOFT ACM Special Interest Group on Software Engineering | |||||||||||||||||||
| Publisher | ACM New York, NY, USA ©2008 | ||||||||||||||||||
| ISBN: 978-1-60558-144-6 doi>10.1145/1408647.1408650 | |||||||||||||||||||
| Conference |
MODULARITYModularity (formerly known as Aspect-oriented Software Development - AOSD)
|
||||||||||||||||||
| Paper Acceptance Rate 6 of 11 submissions, 55% | |||||||||||||||||||
| Overall Acceptance Rate 25 of 118 submissions, 21% | |||||||||||||||||||
|
|||||||||||||||||||
REVIEWS
COMMENTSBe the first to comment To Post a comment please sign in or create a free Web account
Table of Contents| Contracts for aspect-oriented design | |
| Sérgio Agostinho, Ana Moreira, Pedro Guerreiro | |
| Article No.: 1 | |
| doi>10.1145/1408647.1408648 | |
Full text: PDF
|
|
|
The Java approach to Object-Oriented Design by Contract can be extended and applied to Aspect-Oriented Software. For doing so, we need to address how current Object-Oriented Design by Contract can be modified to tackle aspect advising, as well as to ...
expand
|
|
| Balancing language concerns: who decides? | |
| Stephan Herrmann | |
| Article No.: 2 | |
| doi>10.1145/1408647.1408649 | |
Full text: PDF
|
|
|
Language design focusing on a single goal like, e.g., obliviousness, may easily interfere with other desirable properties. As proposed by Leavens and Clifton, a language engineering approach should apply a number of continuous scales for assessing a ...
expand
|
|
| Groovy AOP: a dynamic AOP system for a JVM-based language | |
| Chanwit Kaewkasi, John R. Gurd | |
| Article No.: 3 | |
| doi>10.1145/1408647.1408650 | |
Full text: PDF
|
|
|
Groovy AOP is a general-purpose AOP system for Groovy, a JVM-based dynamic language. Groovy AOP provides a hybrid dynamic AOP implementation based on both meta-programming and bytecode transformation. It implements the pointcut-advice model of AspectJ. ...
expand
|
|
| On-demand materialization of aspects for application development | |
| Chang Hwan Peter Kim, Krzysztof Czarnecki, Don Batory | |
| Article No.: 4 | |
| doi>10.1145/1408647.1408651 | |
Full text: PDF
|
|
|
Framework-based application development requires applications to be implemented according to rules, recipes and conventions that are documented or assumed by the framework's Application Programming Interface (API), thereby giving rise to systematic usage ...
expand
|
|
| Composability of aspects | |
| Antoine Marot, Roel Wuyts | |
| Article No.: 5 | |
| doi>10.1145/1408647.1408652 | |
Full text: PDF
|
|
|
The goal of the SPLAT workshop is to investigate insofar the software engineering '-ilities' are being addressed by aspect-oriented programming. This paper looks closer at one of these properties (composability of aspects), which is closely coupled to ...
expand
|
|
| Implementing design patterns in CaesarJ: an exploratory study | |
| Edgar Sousa, Miguel P. Monteiro | |
| Article No.: 6 | |
| doi>10.1145/1408647.1408653 | |
Full text: PDF
|
|
|
In the past, repositories of examples of the well-known Gang-of-Four design patterns brought insights on the potential contributions of aspect-oriented programming, as well as providing a suitable case study for subsequent research. In this paper, we ...
expand
|