version 1.10, 2009/06/29 06:50:40
|
version 1.12, 2009/06/29 08:36:40
|
Line 164 Microelectronics).
|
Line 164 Microelectronics).
|
%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)} |
|
|
New modeling and representation techniques of non-functional program and system properties on the programming and intermediate language levels |
New modeling and representation techniques of non-functional program |
Definitions and measures of non-functional program and system properties (performance, time, space/memory, power, concurrency). |
and system properties on the programming and intermediate language |
Modeling and representation of these properties alongside with the programming languages semantics |
levels Definitions and measures of non-functional program and system |
Adapting and enhancing state-of-the-art compilation techniques towards non-functional property and platform awareness |
properties (performance, time, space/memory, power, concurrency). |
New functional and non-functional property and platform-aware compilation techniques |
Modeling and representation of these properties alongside with the |
Analyses for non-functional program and system properties |
programming languages semantics Adapting and enhancing |
Functional and non-functional property and platform-aware code generation techniques |
state-of-the-art compilation techniques towards non-functional |
Enabling validation and verification throughout the compilation process |
property and platform awareness New functional and non-functional |
Techniques for reducing or eliminating trusted code, annotation, etc., bases |
property and platform-aware compilation techniques Analyses for |
|
non-functional program and system properties Functional and |
|
non-functional property and platform-aware code generation techniques |
|
Enabling validation and verification throughout the compilation |
|
process Techniques for reducing or eliminating trusted code, |
|
annotation, etc., bases |
|
|
|
|
\subsubsection*{Work Plan (first 4 years):} |
\subsubsection*{Work Plan (first 4 years):} |
Line 181 Techniques for reducing or eliminating t
|
Line 186 Techniques for reducing or eliminating t
|
%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 areas. |
Compilation techniques for robust embedded systems comprise different |
Therefore, the project is divided into three work packages: compilation and |
areas. Therefore, the project is divided into three work packages: |
simulation techniques for reliabiltiy, verified compilation and worst case |
compilation and simulation techniques for reliabiltiy, verified |
execution time analysis. |
compilation and worst case execution time analysis. |
|
|
\paragraph*{WP1 - Compilation and Simulation Techniques for Reliability} |
\paragraph*{WP1 - Compilation and Simulation Techniques for Reliability} |
|
|
Line 219 hardware/software and pure software tech
|
Line 224 hardware/software and pure software tech
|
\paragraph*{WP2 - Verified Compilation} |
\paragraph*{WP2 - Verified Compilation} |
|
|
Suitable semantics are necessary which support efficient translation |
Suitable semantics are necessary which support efficient translation |
validation or support easy verification of a compiler. We will research |
validation or support easy verification of a compiler. We will |
into different semantics and into mappings between the semantics of our |
research into different semantics and into mappings between the |
processor description language \cite{BrEbKr07} and a compiler backend |
semantics of our processor description language \cite{BrEbKr07} and a |
semantics, intermediate representation semantics (compatible to LLVM) and |
compiler backend semantics, intermediate representation semantics |
source language semantics. The main research will be on verification and |
(compatible to LLVM) and source language semantics. The main research |
translation validation for all kinds of compiler optimizations. |
will be on verification and translation validation for all kinds of |
|
compiler optimizations. |
|
|
\begin{itemize} |
\begin{itemize} |
\item Evaluate different semantics regarding suitability for compiler |
\item Evaluate different semantics regarding suitability for compiler |
Line 240 translation validation for all kinds of
|
Line 246 translation validation for all kinds of
|
frontend and backend optimizations |
frontend and backend optimizations |
\end{itemize} |
\end{itemize} |
|
|
\paragraph*{WP3 - Worst Case Ececution Time Analysis} |
\paragraph*{WP3 - Resource Analysis} |
|
For safety-critical real-time embedded sytems resource consumption |
|
measured in terms of a quantitative aspect of a program execution such |
|
as execution time, storage use, and power consumption belongs rather |
|
to the functional properties of an application rather its |
|
non-functional ones. Formal guarantees on resource consumption are |
|
thus essential and mandatory to ensure the robustness of such |
|
systems. This requires new and usually more complex but more |
|
expressive program analyses and transformations to support the (1) |
|
programmer during source code development by early and automatically |
|
providing hints on resource consumption and (2) the compiler to |
|
optimize for resource consumption. In our previous work we focused on |
|
compiler support for |
|
\emph{worst-case execution time analysis $($WCET$)$} \cite{Prantl:WCET2009,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,kirner_et_al:DSP:2008:1657}. Based on this work and expertise we will extend this research towards |
|
other quantitive aspects of resource consumption, especially storage |
|
usage, towards these two global objectives, using the programming |
|
environment used there as testbed for implementation |
|
\cite{Prantl:WCET2009,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,kirner_et_al:DSP:2008:1657}. |
|
|
|
\begin{itemize} |
|
\item Research into new program analyses for providing high-quality |
|
bounds on resourse consumption which are useful for both the |
|
application programmer and the compiler. |
|
\item Research new program analyses and static optimizations |
|
to optimize for resource consumption and to help complying to |
|
possibly given limits. |
|
\item Research suitable abstraction levels of interfaces and modes |
|
of interaction between fully automatic program analysis and |
|
verification methods and semi-automatic ones relying on |
|
user-assistance because of undecidability issues |
|
\item Research the synergies and the trade-off between fully |
|
automatic program analysis and verification methods and |
|
semi-automatic ones utilizing user-assistance on high-quality |
|
resource bounds and the computational costs to compute them. |
|
\item Research simulation and profiling methods to assess the |
|
quality of resource consumption analyses. |
|
\end{itemize} |
|
Overall, this WP will contribute to the design, foundations, |
|
verification, implementation, and application of resource analyses. |
|
|
|
|
WCET |
|
|
|
|
|
\begin{tabular}{llll} |
\begin{tabular}{llll} |
Line 251 WCET
|
Line 295 WCET
|
{\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\ |
{\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\ |
NN1 & PhD & reliable compilation / simulation & 4 years \\ |
NN1 & PhD & reliable compilation / simulation & 4 years \\ |
NN2 & PhD & verified compilation & 4 years \\ |
NN2 & PhD & verified compilation & 4 years \\ |
NN3 & PhD & WCET & 4 years \\ |
NN3 & PhD & Resource analysis & 4 years \\ |
\hline |
\hline |
\end{tabular} |
\end{tabular} |
|
|
|
|
\subsubsection*{Goals (last 4 years):} |
\subsubsection*{Goals (last 4 years):} |
%\emph{Brief description of the |
%\emph{Brief description of the |
%eesearch topics to be addressed during the last 4 years. Make sure to |
%research topics to be addressed during the last 4 years. Make sure to |
%explicitly stress what the significant additions to the scientific |
%explicitly stress what the significant additions to the scientific |
%knowledge are, and why they are important. (20-30 lines)} |
%knowledge are, and why they are important. (20-30 lines)} |
|
|
New programming languages and compilers for RESs |
In the last 4 years we will extend the research of the first years into |
Non-functional properties and requirements as first-class language and compiler citizens |
some additional directions like |
New compilation techniques enabling a uniform and integrated approach |
|
for ensuring functional and non-functional program and system requirements |
\begin{itemize} |
Replacing trust by proof |
\item New programming languages and compilers for RESs |
Certifying compilation, proof-carrying code, translation validation |
\item Non-functional properties and requirements as first-class language and |
Verified compilers, verifying compilation for RESs |
compiler citizens |
Making legacy applications fit to and available on RESs |
\item New compilation techniques enabling a uniform and integrated approach |
Techniques for adjusting and decompiling legacy applications |
for ensuring functional and non-functional program and system requirements |
|
\item Verified compilers, proof-carrying code, verifying compilation for RESs |
|
\item Making legacy applications fit to and available on RESs |
|
\item Techniques for adjusting and decompiling legacy applications |
|
\end{itemize} |
|
|
|
Application of the results of this research reduces the cost of the |
|
development of reliable and correct embedded systems and makes them |
|
safer and robust. |
|
|
\subsubsection*{Collaboration with other PPs:} |
\subsubsection*{Collaboration with other PPs:} |
%\emph{List the PPs you are expecting to collaborate with, and describe briefly |
%\emph{List the PPs you are expecting to collaborate with, and describe briefly |
Line 296 Techniques for adjusting and decompiling
|
Line 348 Techniques for adjusting and decompiling
|
%describe briefly the topic and nature of such a collaboration. (5-10 |
%describe briefly the topic and nature of such a collaboration. (5-10 |
%lines)} |
%lines)} |
\begin{itemize} |
\begin{itemize} |
\item Sabine Glesner, TU Berlin, Berlin, Germany |
\item Walter Binder, University of Lugano, Switzerland (resource analysis) |
\item Aviral Shrivastava, Arizona State University, Tempe, AZ, USA |
\item Sabine Glesner, TU Berlin, Berlin, Germany (verified compilation) |
|
\item Aviral Shrivastava, Arizona State University, Tempe, AZ, USA (reliable compilation) |
\item Wolf Zimmermann, Martin-Luther Universit\"at Halle-Wittenberg, Halle, Germany |
\item Wolf Zimmermann, Martin-Luther Universit\"at Halle-Wittenberg, Halle, Germany |
|
(verified compilation) |
\end{itemize} |
\end{itemize} |
|
|
\begin{comment} |
\begin{comment} |