@techreport{TR-IC-06-09,
  number = {IC-06-09},
  author = {Fernando Castor Filho and Patrick Henrique da S. Brito and
            Cec{\'{\i}}lia Mary F. Rubira},
  title = {Specification of Exception Flow in Software Architectures},
  month = {May},
  year = {2006}, 
  institution = {Institute of Computing, University of Campinas},
  note = {In English, 45 pages.
    \par\selectlanguage{english}\textbf{Abstract}
       In recent years, various approaches combining software
       architectures and exception handling have been proposed for
       increasing the dependability of software systems. This conforms
       with the idea supported by some authors that addressing
       exception handling-related issues since early phases of
       software development may improve the overall dependability of a
       system. By systematically designing the mechanism responsible
       for rendering a system reliable, developers increase the
       probability of the system being able to avoid catastrophic
       failures at runtime. This paper addresses the problem of
       describing how exceptions flow amongst architectural
       elements. In critical systems where rollback-based mechanisms
       might not be available, such as systems that interact with
       mechanical devices, exception handling is an important means
       for recovering from errors in a forward-based manner. We
       present a framework, named Aereal, that supports the
       description and analysis of exceptions that flow between
       architectural components. Since different architectural styles
       have different policies for exception flow, Aereal makes it
       possible to specify rules on how exceptions flow in a given
       style and to check for violations of these rules. We use a
       financial application and a control system as case studies to
       validate the proposed approach.
  }
}