Modular Reasoning in the Presence of Event Subtyping

By: Mehdi Bagherzadeh, Robert Dyer, Rex D. Fernando, José Sánchez, and Hridesh Rajan

PDF Download Download Paper

Abstract

Separating crosscutting concerns while preserving modular reasoning is challenging. Type-based interfaces (event types) separate modularized crosscutting concerns (observers) and traditional object-oriented concerns (subjects). Event types paired with event specifications were shown to be effective in enabling modular reasoning about subjects and observers. Similar to class subtyping, organizing event types into subtyping hierarchies is beneficial. However, unrelated behaviors of observers and their arbitrary execution orders could cause unique, somewhat counterintuitive, reasoning challenges in the presence of event subtyping. These challenges threaten both tractability of reasoning and reuse of event types. This work makes three contributions. First, we pose and explain these challenges. Second, we propose an event-based calculus to show how these challenges can be overcome. Finally, we present modular reasoning rules of our technique and show its applicability to other event-based techniques.

ACM Reference

Bagherzadeh, M. et al. 2016. Modular reasoning in the presence of event subtyping. Transactions on Modularity and Composition I. (Sep. 2016), 167–223.

BibTeX Reference

@article{bagherzadeh2016modular,
  title = {Modular reasoning in the presence of event subtyping},
  author = {Bagherzadeh, Mehdi and Dyer, Robert and Fernando, Rex D and S{\'a}nchez, Jos{\'e} and Rajan, Hridesh},
  booktitle = {Transactions on Modularity and Composition I},
  pages = {167--223},
  month = {September},
  year = {2016},
  publisher = {Springer},
  abstract = {
    Separating crosscutting concerns while preserving modular reasoning is
    challenging. Type-based interfaces (event types) separate modularized
    crosscutting concerns (observers) and traditional object-oriented concerns
    (subjects). Event types paired with event specifications were shown to be
    effective in enabling modular reasoning about subjects and observers. Similar to
    class subtyping, organizing event types into subtyping hierarchies is
    beneficial. However, unrelated behaviors of observers and their arbitrary
    execution orders could cause unique, somewhat counterintuitive, reasoning
    challenges in the presence of event subtyping. These challenges threaten both
    tractability of reasoning and reuse of event types. This work makes three
    contributions. First, we pose and explain these challenges. Second, we propose
    an event-based calculus to show how these challenges can be overcome. Finally,
    we present modular reasoning rules of our technique and show its applicability
    to other event-based techniques.
  }
}