Parametrized Exceptions (bibtex)
by Dennis Walter, Lutz Schröder and Till Mossakowski
Abstract:
Following the paradigm of encapsulation of side effects via monads, the Java execution mechanism has been described by the so-called Java monad, encorporating essentially stateful computation and exceptions, which are heavily used in Java control flow. A technical problem that appears in this model is the fact that the return exception in Java is parametrized by the return value, so that method calls actually move between slightly different monads, depending on the type of the return value. We provide a treatment of this problem in the general framework of exception monads as introduced in earlier work by some of the authors; this framework includes generic partial and total Hoare calculi for abrupt termination. Moreover, we illustrate this framework by means of a verification of a pattern match algorithm.
Reference:
Dennis Walter, Lutz Schröder and Till Mossakowski: Parametrized Exceptions, In Jose Fiadeiro, Jan Rutten, eds.: Algebra and Coalgebra in Computer Science, Lecture Notes in Computer Science, vol. 3629, pp. 424–438, Springer; Berlin; http://www.springer.de, 2005. [preprint]
Bibtex Entry:
@InProceedings{WalterEA05,
  author = {Dennis Walter and Lutz Schr{\"o}der and Till Mossakowski},
  title = {Parametrized Exceptions},
  year = {2005},
  editor = {Jose Fiadeiro and Jan Rutten},
  booktitle = {Algebra and Coalgebra in Computer Science},
  publisher = {Springer; Berlin; http://www.springer.de},
  series = {Lecture Notes in Computer Science},
  volume = {3629},
  pages = {424-438},
  keywords = {exceptions java monads HasCASL method calls},
  url = {http://www.springerlink.com/(bt4qw245oavupgzdxw3zpuul)/app/home/contribution.asp?referrer=parent&backto=searchcitationsresults,2,2;},
  comment = { <a href = "http://www8.informatik.uni-erlangen.de/~schroeder/papers/paramexc.pdf"> [preprint] </a>},
  psurl = {http://www8.informatik.uni-erlangen.de/~schroeder/papers/paramexc.ps},
  abstract = {Following the paradigm of encapsulation of side effects via monads, the
Java execution mechanism has been described by the so-called Java monad,
encorporating essentially stateful computation and exceptions, which are
heavily used in Java control flow. A technical problem that appears in
this model is the fact that the return exception in Java is parametrized
by the return value, so that method calls actually move between slightly
different monads, depending on the type of the return value. We provide
a treatment of this problem in the general framework of exception monads
as introduced in earlier work by some of the authors; this framework
includes generic partial and total Hoare calculi for abrupt
termination. Moreover, we illustrate this framework by means of a
verification of a pattern match algorithm.
},
  isbn = {3-540-28620-9},
}
Powered by bibtexbrowser