Trace-Based Aspects
Résumé
This chapter presents trace-based aspects which take into account the history of program executions in deciding what aspect behavior to invoke. Such aspects are defined in terms of execution traces and may express relations between different events. Weaving is accomplished through an execution monitor which modifies the base program execution as defined by the aspects. We motivate trace-based aspects and explore the trade-off between expressiveness and property enforcement/analysis. More concretely, we first present an expressive model of trace-based aspects enabling proofs of aspect properties by equational reasoning. Using a restriction of the aspect language to regular expressions, we show that it becomes possible to address the difficult problem of interactions between conflicting aspects. Finally, by restricting the actions performed by aspects, we illustrate how to keep the semantic impact of aspects under control and to implement weaving statically.
Domaines
Langage de programmation [cs.PL]
Loading...