On exceptions, events and observer chains

dc.contributor.author Bagherzadeh, Mehdi
dc.contributor.author Rajan, Hridesh
dc.contributor.author Darvish, Ali
dc.contributor.department Department of Computer Science
dc.date 2018-02-19T06:10:04.000
dc.date.accessioned 2020-06-30T01:54:39Z
dc.date.available 2020-06-30T01:54:39Z
dc.date.copyright Tue Jan 01 00:00:00 UTC 2013
dc.date.embargo 2017-12-13
dc.date.issued 2013-03-24
dc.description.abstract <p>Modular understanding of behaviors and flows of exceptions may help in their better use and handling. Such reasoning tasks about exceptions face unique challenges in event-based implicit invocation (II) languages that allow subjects to implicitly invoke observers, and run the observers in a chain. In this work, we illustrate these challenge in Ptolemy and propose Ptolemy-X that enables modular reasoning about behaviors and flows of exceptions for event announcement and handling. Ptolemy-X's exception-aware specification expressions and boundary exceptions limit the set of (un)checked exceptions of subjects and observers of an event. Exceptional postconditions specify the behaviors of these exceptions. Greybox specifications specify the flows of these exceptions among the observers in the chain. Ptolemy-X's type system and refinement rules enforce these specifications and thus enable its modular reasoning. We evaluate the utility of Ptolemy-X's exception flow reasoning by applying it to understand a set of aspect-oriented (AO) bug patterns. We also present Ptolemy-X's semantics including its sound static semantics.</p>
dc.description.comments <p>This is a manuscript of a proceeding published as Mehdi Bagherzadeh, Hridesh Rajan and Ali Darvish, ``On Exceptions, Events and Observer Chains," 12th International Conference on Aspect-Oriented Software Development (AOSD '13), Fukuoka, Japan, March 24-29, 2013. DOI: <a href="http://dx.doi.org/10.1145/2451436.2451458" target="_blank">10.1145/2451436.2451458</a>. Posted with permission.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/cs_conf/44/
dc.identifier.articleid 1043
dc.identifier.contextkey 11243485
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_conf/44
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/19852
dc.language.iso en
dc.source.uri http://lib.dr.iastate.edu/cgi/viewcontent.cgi?article=1273&context=cs_techreports
dc.subject.disciplines Programming Languages and Compilers
dc.subject.disciplines Software Engineering
dc.title On exceptions, events and observer chains
dc.type article
dc.type.genre conference
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File