By:
Mehdi Bagherzadeh, Gary T. Leavens, and Robert Dyer

Abstract

The Implicit Invocation (II) architectural style improves modularity and is
promoted by aspect-oriented (AO) languages and design patterns like Observer.
However, it makes modular reasoning difficult, especially when reasoning about
control effects of the advised code (subject). Our language Ptolemy, which was
inspired by II languages, uses translucid contracts for modular reasoning
about the control effects; however, this reasoning relies on Ptolemy’s event
model, which has explicit event announcement and declared event types. In this
paper we investigate how to apply translucid contracts to reasoning about
events in other AO languages and even non-AO languages like C#.