\documentclass[10pt,a4paper,twoside]{article}
\usepackage{latexsym,amssymb}

\textwidth 15.0cm
\textheight 22.0cm
\oddsidemargin 0.4cm
\evensidemargin 0.4cm
\topmargin  0.0cm
\frenchspacing
\pagestyle{myheadings}
\markboth{7th International Conference on Applied Informatics, %
January 28--31, 2007, Eger, Hungary}%
{7th International Conference on Applied Informatics, %
January 28--31, 2007, Eger, Hungary}
%
%
\begin{document}
%
%
\begin{center}{\Large\bf
A General Method of Low-Level Exception Reporting and Handling using System Predicate Classes
}\end{center}
%
\begin{center}{\large\bf\noindent
\'Ad\'am Balogh$^\dagger$, Zolt\'an Cs\"ornyei$^\ddagger$
}\\[2mm]
$^\dagger$ Department of Algorithms and their Applications\\
$^\ddagger$ Department of Programming Languages and Compilers\\
E\"otv\"os Lor\'and University, Budapest, Hungary
\\[1mm]\texttt{
bas@elte.hu, csz@inf.elte.hu
}\end{center}

\vspace*{7mm}

Many high-level programming languages support separation of error handling code from regular one by the introduction of an exception reporting and handling mechanism. However, system software rarely benefits from this for several reasons. First of all, the exception handling and reporting tools of high-level programming languages are usually language specific, while system software must provide a language independent programming interface toward applications. Secondly, these high-level constructs usually add some overhead to execution time of the software which is hardly acceptable in system level programs. To avoid these problems, most system software provide some simple simple solution for reporting and handling of exceptional situations such as designated return vlues, galobal error flags, long distance jumps, event handlers (callbacks) or a combination of these mechanisms. However, none of these tools enable the correct and safe separation of code for normal and exceptional control flow themselves. Our presentation is about new language elements which syntactically are similar to the high-level exception handling, but the are slightly more than an interface to the above mentioned low-level solutions allowing separation of exception handling code from normal one. To provide these tools, we make use of our former results, \emph{System Predicate Classes}, a powerful language construction which enables some form of object-oriented programming at the lowest level of software without notable overhead.

\begin{thebibliography}{1}

\bibitem{BagDavHavKal2006}
Anya~Helene Bagge, Valentin David, Magne Haveraaen, and Karl~Trygve Kalleberg.
\newblock Stayin' alert: moulding failure and exceptions to your needs.
\newblock In {\em GPCE '06: Proceedings of the 5th international conference on
  Generative programming and component engineering}, pages 265--274. ACM Press,
  2006.

\bibitem{BalCsor20062}
{\'A}d{\'a}m Balogh and Zolt{\'a}n Cs{\"o}rnyei.
\newblock Multiple inheritance of system predicate classes.
\newblock In {\em MaCS '06: Book of Abstracts of the 6th Joint Conference in
  Mathematics and Computer Science}, P{\'e}cs, Hungary, July 2006.

\bibitem{BalCsor20061}
{\'A}d{\'a}m Balogh and Zolt{\'a}n Cs{\"o}rnyei.
\newblock Objects and polymorphism in system programming languages: A new
  approach.
\newblock In {\em CSCS 2006: Volume of Extended Abstracts of the Fifth
  Conference of PhD Students in Computer Science}, Szeged, Hungary, Juny 2006.

\bibitem{BalCsor20063}
{\'A}d{\'a}m Balogh and Zolt{\'a}n Cs{\"o}rnyei.
\newblock {SysObjC}: {C} extension for development of object-oriented operating
  systems.
\newblock In {\em PLOS 2006: Linguistic Support for Modern Operating Systems
  Workshop of the Twelfth International Conference on Architectural Support for
  Programming Languages and Operating Systems}, San Jose, California, United
  States, October 2006. ACM Press.

\end{thebibliography}
%
%
\end{document}
