Title
Translucid Contracts: Expressive Specification And Modular Verification For Aspect-Oriented Interfaces
Keywords
Aspect-oriented interfaces; Grey box specification; Implicit invocation; Modular reasoning; Ptolemy; Translucid contracts
Abstract
As aspect-oriented (AO) programming techniques become more widely used, their use in critical systems such as aircraft and telephone networks, will become more widespread. However, careful reasoning about AO code seems difficult because: (1) advice may apply in too many places, and (2) standard specification techniques do not limit the control effects of advice. Commonly used black box specification techniques cannot easily specify control effects, such as advice that does not proceed to the advised code. In this work we avoid the first problem by using Ptolemy, a language with explicit event announcement. To solve the second problem we give a simple and understandable specification technique, translucid contracts, that not only allows programmers to write modular specifications for advice and advised code, but also allows them to reason about the code's control effects. We show that translucid contracts support sound modular verification of typical interaction patterns used in AO code. We also show that translucid contracts allow interesting control effects to be specified and enforced.
Publication Date
4-29-2011
Publication Title
Proceedings of the 10th International Conference on Aspect-Oriented Software Development, AOSD.11
Number of Pages
141-152
Document Type
Article; Proceedings Paper
Personal Identifier
scopus
DOI Link
https://doi.org/10.1145/1960275.1960293
Copyright Status
Unknown
Socpus ID
79955128485 (Scopus)
Source API URL
https://api.elsevier.com/content/abstract/scopus_id/79955128485
STARS Citation
Bagherzadeh, Mehdi; Rajan, Hridesh; Leavens, Gary T.; and Mooney, Sean, "Translucid Contracts: Expressive Specification And Modular Verification For Aspect-Oriented Interfaces" (2011). Scopus Export 2010-2014. 3495.
https://stars.library.ucf.edu/scopus2010/3495