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. LNCS Trans. Modul. Compos. 1, (2016), 167–223. https://doi.org/10.1007/978-3-319-46969-0_5.

BibTeX Reference

@article{BagherzadehDyerFernandoSa2016,
  author = {Mehdi Bagherzadeh and Robert Dyer and Rex D. Fernando and Jos{\'{e}} S{\'{a}}nchez and Hridesh Rajan},
  title = {Modular reasoning in the presence of event subtyping},
  journal = {{LNCS} Trans. Modul. Compos.},
  volume = {1},
  pages = {167--223},
  year = {2016},
  doi = {10.1007/978-3-319-46969-0\_5},
  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.},
}