Applying Translucid Contracts for Modular Reasoning About Aspect and Object Oriented Events

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

PDF Download Download Paper

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#.

ACM Reference

Bagherzadeh, M. et al. 2011. Applying Translucid Contracts for Modular Reasoning About Aspect and Object Oriented Events. FOAL ’11: Workshop on Foundations of Aspect-Oriented Languages workshop (Mar. 2011).

BibTeX Reference

@inproceedings{bagherzadeh2011applying,
  author = {Mehdi Bagherzadeh and Gary T. Leavens and Robert Dyer},
  title = {Applying Translucid Contracts for Modular Reasoning About Aspect and Object Oriented Events},
  booktitle = {FOAL '11: Workshop on Foundations of Aspect-Oriented Languages workshop},
  location = {Porto de Galinhas, Pernambuco, Brazil},
  month = {March},
  year = {2011},
  entrysubtype = {workshop},
  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#.
  }
}