Publication
Title
Modular reasoning in aspect-oriented languages from a substitution perspective
Author
Abstract
In object-oriented languages, a notion of behavioural subtyping is needed to enable modular reasoning. This is no longer sufficient when such languages are extended with aspects. In general, all aspects need to be inspected in order to understand the behaviour of a single method or proceed call, which complicates reasoning about aspect-oriented programs. In this paper, we present an approach to modular reasoning that consists of two parts. First, the advice substitution principle, based on behavioural subtyping, identifies when it is possible to remain unaware of an advice while preserving modular reasoning. Second, in cases where it is undesired or impossible to be unaware of an advice, a simple specification clause can be used to restore modular reasoning and to become aware of this advice. We show that our approach effectively enables modular reasoning about pre- and postconditions in a minimal aspect-oriented language called ContractAJ. To ensure the approach is used correctly, we also provide a runtime contract enforcement algorithm that is specified in ContractAJ, and implemented in AspectJ.
Language
English
Source (journal)
Lecture notes in computer science. - Berlin, 1973, currens
Source (book)
13th International Conference on Modularity (Modularity), APR 22-25, 2014, Lugano, SWITZERLAND
Publication
Berlin : Springer-verlag berlin, 2015
ISBN
978-3-662-46734-3
978-3-662-46733-6
Volume/pages
8989(2015), p. 3-59
ISI
000359999900001
Full text (Publisher's DOI)
UAntwerpen
Faculty/Department
Research group
Publication type
Subject
Affiliation
Publications with a UAntwerp address
External links
Web of Science
Record
Identification
Creation 05.10.2015
Last edited 08.11.2017
To cite this reference