Modular Reasoning in the Presence of Event Subtyping

Mehdi Bagherzadeh, Iowa State University
Robert Dyer, Iowa State University
Rex D. Fernando, University of Wisconsin - Madison
Hridesh Rajan, Iowa State University
José Sánchez, University of Central Florida
Gary T. Leavens, University of Central Florida

Copyright © 2013 Mehdi Bagherzadeh, Robert Dyer, Rex D. Fernando, Hridesh Rajan, José Sánchez, and Gary T. Leavens.

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 have been shown to be effective in enabling modular reasoning about subjects and observers. Similar to class subtyping there are benefits to organizing event types into subtyping hierarchies. 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 including join point types.