Diff for /res/PP-compiler.tex between versions 1.12 and 1.13

version 1.12, 2009/06/29 08:36:40 version 1.13, 2009/06/29 09:28:41
Line 3 Line 3
 \usepackage{url}  \usepackage{url}
 %\usepackage{times}  %\usepackage{times}
 \usepackage{comment}  \usepackage{comment}
   
 \pagestyle{plain}  \pagestyle{plain}
 \setlength{\textwidth}{16truecm}  \setlength{\textwidth}{16truecm}
 \setlength{\textheight}{24truecm}  \setlength{\textheight}{24truecm}
Line 19 Line 18
   
 \title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}}  \title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}}
   
 \author{{\sc Andreas Krall and Jens Knoop}\\  \author{{\sc Jens Knoop and Andreas Krall}\\
 \{andi,knoop\}@complang.tuwien.ac.at  \{knoop,andi\}@complang.tuwien.ac.at
 }  }
   
 \bibliographystyle{unsrt}  \bibliographystyle{unsrt}
Line 75  in the \emph{Handbook of Signal Processi Line 74  in the \emph{Handbook of Signal Processi
 famous instruction set simulator with modelling of energy consumption  famous instruction set simulator with modelling of energy consumption
 is \emph{Wattch} \cite{BrooksTiwariMartonosi00}.  is \emph{Wattch} \cite{BrooksTiwariMartonosi00}.
   
 \paragraph{JK}   
 Methods for \emph{compiler verification} do exist  Methods for \emph{compiler verification} do exist
 \cite{Langmaack97a,Po-lncs124,MMO-lncs1283,Goos:99:verifix,Goos:00:ASM,1328444}.   \cite{Langmaack97a,Po-lncs124,MMO-lncs1283,Goos:99:verifix,Goos:00:ASM,1328444}. 
 Most notably are the pioneering approaches of the  Most notably are the pioneering approaches of the
 \emph{ProCoS} \cite{Langmaack96a} and the \emph{Verifix}  \emph{ProCoS} \cite{Langmaack96a} and the \emph{Verifix}
 \cite{Goerigk-et-al:CC96} projects, and more recently of   \cite{Goerigk-et-al:CC96,GlesnerGoosZimmeermann04,GoosZimmermann00} projects, and more recently of 
 the \emph{CompCert} project \cite{CompCert,BDL-fm06,Le-popl06}. There  the \emph{CompCert} project \cite{CompCert,BDL-fm06,Le-popl06}. There
 is also a rich body of work on the related approaches of  is also a rich body of work on the related approaches of
 \emph{translation validation}  \emph{translation validation}
 \cite{PSS-tacas98,Ne-pldi00}, \emph{certifying compilation}   \cite{Pnueli98a,Pnueli98b,Ne-pldi00,\cite{ZaksPnueli08}}, 
   \emph{certifying compilation} 
 \cite{NL-pldi98,Colby-etal-pldi00,BlechPoetzsch07}, and  \cite{NL-pldi98,Colby-etal-pldi00,BlechPoetzsch07}, and
 \emph{proof-carrying code} \cite{Ne-popl97,AF-popl00,FNSG-tlfi07}.   \emph{proof-carrying code} \cite{Ne-popl97,AF-popl00,FNSG-tlfi07}. 
 However, an integratedly verified compiler,  However, an integratedly verified compiler, which is optimizing and
 which is optimizing and ensures non-functional program properties such  ensures non-functional program properties such as on time and space
 as on time and space ressources required by the compiled program is  ressources required by the compiled program is still
 still missing.  missing. Complementary to these approaches are approaches focusing on
   frameworks for verifying compiler optimizations
 \emph{Worst-case execution time analysis $($WCET$)$} for real-time systems,  \cite{781156,1040335,Kundu+09} or the verification of specific
 which are often safety-critical, is a vibrant field of research in  compiler optizations, such as the \emph{Lazy Code Motion}
 academia and industry and of fast growing economical relevance,  \cite{TristanLeroy09} or instruction scheduling
   \cite{TristanLeroy08}. By far more ambitious and a grand challenge for
   computing research is Tony Hoare's vision of a \emph{verifying
   compiler} which proves properties of the translated program
   \cite{Hoare03}.
   
   \emph{Resource analysis}, especially worst-case execution time analysis $($WCET$)$} for real-time systems, which are often safety-critical, is a vibrant field of research in academia and industry and of fast growing economical relevance,
 especially in the avionics and automotive industry. A survey on  especially in the avionics and automotive industry. A survey on
 state-of-the-art tools and methods for WCET analysis has recently been  state-of-the-art tools and methods for WCET analysis has recently been
 given by Wilhelm et al.~\cite{Wilhelm:TECS2008}. The outcomes of the  given by Wilhelm et al.~\cite{Wilhelm:TECS2008}. The outcomes of the
Line 105  user-assistance and thus a \emph{trusted Line 110  user-assistance and thus a \emph{trusted
 the WCET analysis \cite{Prantl:WCET2009}.  the WCET analysis \cite{Prantl:WCET2009}.
   
   
 \paragraph{AK}  %\paragraph{AK}
 Three aspects of program and compiler correctness exist. The verifying  %Three aspects of program and compiler correctness exist. The verifying
 compiler proves properties of the translated program and is a grand challenge  %compiler proves properties of the translated program and is a grand challenge
 for computing research \cite{Hoare03}. A certified compiler like Verifix is  %for computing research \cite{Hoare03}. A certified compiler like Verifix is
 proven once to do semantically equivalent optimizations and translations  %proven once to do semantically equivalent optimizations and translations
 \cite{GlesnerGoosZimmeermann04,GoosZimmermann00}. Translation validation proves  %\cite{GlesnerGoosZimmeermann04,GoosZimmermann00}. Translation validation proves
 at every compiler run that the translation is correct and was introduced by  %at every compiler run that the translation is correct and was introduced by
 Pnueli et al.\ \cite{Pnueli98a,Pnueli98b} and Necula \cite{Necula00}. Until now  %Pnueli et al.\ \cite{Pnueli98a,Pnueli98b} and Necula \cite{Necula00}. Until now
 some optimizations have been verified, recently lazy code motion  %some optimizations have been verified, recently lazy code motion
 \cite{TristanLeroy09}, instruction scheduling \cite{TristanLeroy08}, or the whole  %\cite{TristanLeroy09}, instruction scheduling \cite{TristanLeroy08}, or the whole
 code generation phase \cite{BlechPoetzsch07}. Another research direction is the  %code generation phase \cite{BlechPoetzsch07}. Another research direction is the
 construction of general frameworks for validation \cite{ZaksPnueli08} or  %construction of general frameworks for validation \cite{ZaksPnueli08} or
 generalizations like parameterized equivalence checking \cite{Kundu+09}.  %generalizations like parameterized equivalence checking \cite{Kundu+09}.
     
   
   
   
 \subsubsection*{Previous achievements:}   \subsubsection*{Previous achievements:} 
 %\emph{Brief description of your own contributions to the related  %\emph{Brief description of your own contributions to the related
 %scientific state-of-the art (5-10 lines)}  %scientific state-of-the art (5-10 lines)}
 Jens Knoop's research focuses on proven correct and optimal program  Jens Knoop's research focuses on proven correct and optimal program
 analyses and optimizations \cite{Kn-lncs1428}. He is the co-inventor  analyses and optimizations \cite{Kn-lncs1428}. He is the co-inventor
 of the \emph{Lazy Code Motion}  of the \emph{Lazy Code Motion}
 \cite{KRS-pldi92,KRS-retrolcm04,XueK06}, the code-size sensitive  \cite{KRS-pldi92,KRS-retrolcm04,XueK06}, and numerous other program
 \emph{Sparse Code Motion} \cite{RKS-popl00}, and numerous other  analyses and optimizations including
 program analyses and optimizations including  \emph{partial dead-code elimination}  \cite{KRS-pldi94} and 
 \emph{partial dead-code elimination}, \cite{KRS-pldi94}, \emph{partially redundant assignment elimination} \cite{KRS-pldi94}, and \emph{code-size sensitive   \emph{partially redundant assignment elimination} \cite{KRS-pldi94}, 
 speculative code motion} \cite{scholz04}, many of which are now part of  which are now part of state-of-the-art compilers. Regarding the
 state-of-the-art compilers. Recent research focuses on compiler  present PP, particularly important are the achievements on
 support for  resource-aware program analyes and optimizations including the
   code-size sensitive \emph{Sparse Code Motion} \cite{RKS-popl00}, and its 
   counterpart for \emph{Speculative Code Motion} \cite{scholz04}.
   Recent research in the frame of the FWF project CoSTA and the EU FP7
   project ALL-TIMES focuses on compiler support for
 \emph{worst-case execution time analysis} for safety-critical  \emph{worst-case execution time analysis} for safety-critical
 real-time embedded systems  real-time embedded systems
 \cite{Prantl:WCET2009,SchrSchoKn09,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,kirner_et_al:DSP:2008:1657,kirner_et_al:DSP:2007:1197}. He served on $50+$   \cite{Prantl:WCET2009,SchrSchoKn09,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,kirner_et_al:DSP:2008:1657,kirner_et_al:DSP:2007:1197}.
 programme committees of international conferences including PLDI, CC,  
 TACAS, Formal Methods, and Supercomputing. He was the General Chair of  % He served on $50+$ 
 PLDI'02 and ETAPS'06, and is Programme Committee Co-Chair of PACT'10. He is the  %programme committees of international conferences including PLDI, CC,
 iniator and co-founder of the annual workshop series on  %TACAS, Formal Methods, and Supercomputing. He was the General Chair of
 \emph{Compiler Optimization meets Compiler Verification} (since 2002),  %PLDI'02 and ETAPS'06, and is Programme Committee Co-Chair of PACT'10. He is the
 co-organizer of 4 Dagstuhl seminars, most recently on \emph{Verifying  %iniator and co-founder of the annual workshop series on
 Optimizing Compilation}, and a member of the European Network of  %\emph{Compiler Optimization meets Compiler Verification} (since 2002),
 Excellence HiPEAC.  %co-organizer of 4 Dagstuhl seminars, most recently on \emph{Verifying
   %Optimizing Compilation}, and a member of the European Network of
   %Excellence HiPEAC.
 %, and the IFIP WG 2.4 \emph{Software Implementation Technology}.  %, and the IFIP WG 2.4 \emph{Software Implementation Technology}.
   
 Andreas Krall does research in the area of architecture description  Andreas Krall does research in the area of architecture description
Line 152  efficient instruction set simulators and Line 165  efficient instruction set simulators and
 specification of a processor \cite{BrFeKrRi09,BrEbKr07,FaKrHo07,  specification of a processor \cite{BrFeKrRi09,BrEbKr07,FaKrHo07,
 FarKrStBrand06,Krall+04micro}. An important focus is on optimization  FarKrStBrand06,Krall+04micro}. An important focus is on optimization
 techniques for embedded processors  techniques for embedded processors
 \cite{EbBrSchKrWiKa08,MeKr07,PrKrHo06,HiKr03} as he lead the Christian  \cite{EbBrSchKrWiKa08,MeKr07,PrKrHo06,HiKr03} as he leads the Christian
 Doppler research laboratory {\em compilation techniques for embedded  Doppler research laboratory {\em compilation techniques for embedded
 processors} with partners from industry (Infineon, OnDemand  processors} with partners from industry (Infineon, OnDemand
 Microelectronics).  Microelectronics).
   
   The PP is designed to exploit the synergies of the complementary
   expertise of Jens Knoop on resource-aware program analyses and
   optimizations and their verification and of Andreas Krall on
   compilation techniques for embedded processors. Their complementary
   expertise is essential for the PP.
   
   
 \subsubsection*{Goals (first 4 years):}  \subsubsection*{Goals (first 4 years):}
 %\emph{Description of the research   %\emph{Description of the research 
 %topics to be addressed during the first 4 years. Make sure to explicitly   %topics to be addressed during the first 4 years. Make sure to explicitly 
 %stress what the significant additions to the scientific knowledge are,   %stress what the significant additions to the scientific knowledge are, 
 %and why they are important. (30-40 lines)}  %and why they are important. (30-40 lines)}
   The goals of the first 4 years are as follows:
   
 New modeling and representation techniques of non-functional program  \begin{itemize}
 and system properties on the programming and intermediate language  \item New modeling and representation techniques of non-functional 
 levels Definitions and measures of non-functional program and system        program and system properties on the programming and
 properties (performance, time, space/memory, power, concurrency).        intermediate language levels
 Modeling and representation of these properties alongside with the  \item Definitions and measures of non-functional program and system
 programming languages semantics Adapting and enhancing        properties (performance, time, space/memory, power,
 state-of-the-art compilation techniques towards non-functional        concurrency).
 property and platform awareness New functional and non-functional  \item Modeling and representation of these properties alongside 
 property and platform-aware compilation techniques Analyses for        with the programming languages semantics 
 non-functional program and system properties Functional and  \item Adapting and enhancing state-of-the-art compilation techniques 
 non-functional property and platform-aware code generation techniques        towards non-functional property and platform awareness
 Enabling validation and verification throughout the compilation  \item New functional and non-functional property and platform-aware 
 process Techniques for reducing or eliminating trusted code,        compilation techniques
 annotation, etc., bases  \item Analyses for non-functional program and system properties 
   \item Functional and non-functional property and platform-aware 
         code generation techniques
   \item Enabling validation and verification throughout the compilation
         process 
   \item Techniques for reducing or eliminating trusted code,
         annotation, etc., bases
   \end{itemize}
   These goals are essential for making the development and the
   compilation of embedded systems software more reliable and
   robust. Moreover, they are the basis for the second 4 years extension
   of the project.
   
   
 \subsubsection*{Work Plan (first 4 years):}  \subsubsection*{Work Plan (first 4 years):}
Line 185  annotation, etc., bases Line 216  annotation, etc., bases
 %you intend to conduct the actual research during the first 4 years. Be sure   %you intend to conduct the actual research during the first 4 years. Be sure 
 %to also describe and (coarsely) quantify the resources (staff, cost of   %to also describe and (coarsely) quantify the resources (staff, cost of 
 %special equipment) required for this work in a table. (20-30 lines)}  %special equipment) required for this work in a table. (20-30 lines)}
   
 Compilation techniques for robust embedded systems comprise different  Compilation techniques for robust embedded systems comprise different
 areas.  Therefore, the project is divided into three work packages:  areas.  Therefore, the project is divided into three work packages:
 compilation and simulation techniques for reliabiltiy, verified  \emph{compilation and simulation techniques for reliability}, \emph{verified
 compilation and worst case execution time analysis.  compilation} and \emph{resource analysis}.
   
 \paragraph*{WP1 - Compilation and Simulation Techniques for Reliability}  \paragraph*{WP1 - Compilation and Simulation Techniques for Reliability}
   
Line 281  environment used there as testbed for im Line 311  environment used there as testbed for im
       semi-automatic ones utilizing user-assistance on high-quality        semi-automatic ones utilizing user-assistance on high-quality
       resource bounds and the computational costs to compute them.        resource bounds and the computational costs to compute them.
 \item Research simulation and profiling methods to assess the   \item Research simulation and profiling methods to assess the 
       quality of resource consumption analyses.        quality of resource consumption analyses and to support 
         correctness and security checks at run-time. 
 \end{itemize}  \end{itemize}
 Overall, this WP will contribute to the design, foundations,  Overall, this WP will contribute to the design, foundations,
 verification, implementation, and application of resource analyses.  verification, implementation, and application of resource analyses.

Removed from v.1.12  
changed lines
  Added in v.1.13


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>