[gforth] / res / PP-compiler.tex  

gforth: res/PP-compiler.tex


1 : andi 1.1 \documentclass[11pt,a4paper]{article}
2 :     %\usepackage{latexsym}
3 :     \usepackage{url}
4 :     %\usepackage{times}
5 :     \usepackage{comment}
6 :    
7 :     \pagestyle{plain}
8 :     \setlength{\textwidth}{16truecm}
9 :     \setlength{\textheight}{24truecm}
10 :     \setlength{\oddsidemargin}{-0.3truecm}
11 :     \setlength{\evensidemargin}{-0.3truecm}
12 :     \setlength{\topmargin}{0.0truecm}
13 :     \setlength{\topskip}{0.0truecm}
14 :     \setlength{\headheight}{0.0truecm}
15 :     \setlength{\headsep}{0.0truecm}
16 :    
17 :     \newcommand{\emn}[1]{{\em #1\/}}
18 :     \newcommand{\NOTE}[1]{{\medskip\bf #1\medskip}}
19 :    
20 :     \title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}}
21 :    
22 : andi 1.6 \author{{\sc Andreas Krall and Jens Knoop}\\
23 :     \{andi,knoop\}@complang.tuwien.ac.at
24 : andi 1.1 }
25 :    
26 :     \bibliographystyle{unsrt}
27 :    
28 :     \begin{document}
29 :     \maketitle
30 :    
31 : knoop 1.10 PP leader: \emph{Jens Knoop and Andreas Krall (beide E185.1)}
32 : andi 1.1
33 : knoop 1.10 Associated researchers: \emph{Anton Ertl (E185.1), Bernhard Gramlich (E185.2)}
34 : andi 1.1
35 :    
36 :    
37 :     \subsubsection*{Motivation:}
38 :     %\emph{Informal description of the purpose of the PP (3-5 lines)}
39 :     Every embedded system consists of software which is written in a high
40 :     level language, compiled to machine language and executed on a
41 : knoop 1.10 processor. For robust embedded systems new verified analysis and
42 :     compilation, simulation, and specification methods are necessary to
43 :     support the programmer during application development and maintenance
44 :     and to optimize for performance, power, space, concurrency and
45 :     reliability during compilation.
46 :     %for short, new programming and
47 :     %compilation techniques for robust embedded systems development and
48 :     %deployment.
49 : andi 1.1
50 :     \subsubsection*{State of the art and related work:}
51 :     %\emph{Briefly describe the scientific state of the art (20-30 lines)}
52 :    
53 : andi 1.2 %Compilation Techniques for Reliability
54 :     Because of the exponential increase of the number of transistors and
55 :     the continuing decrease of the feature sizes of current processors
56 : knoop 1.10 \emph{soft errors} mainly caused by energetic particles are becoming an
57 : andi 1.2 important design issue for robust embedded systems. Blome et
58 :     al.~\cite{Blome+06} observed that a majority of faults that affect the
59 :     architectural state of a processor come from the register file. Lee
60 : knoop 1.10 and Shrivastava \cite{LeeShrivastava09a,LeeShrivastava09c} proposed
61 :     different solutions to cope with this problem. The first assigns
62 :     variables depending on their lifetime to either the ECC protected or
63 :     the unprotected part of a register file to balance energy consumption
64 :     and reliability \cite{LeeShrivastava09a}. The second spills registers
65 :     to ECC protected memory if the register contents are not used for a
66 :     long period \cite{LeeShrivastava09c}. There exist complete software
67 :     solutions which use different forms of code duplications
68 :     \cite{Oh+02a,Reis+05}, which do failure virtualization
69 :     \cite{WapplerMueller08} or which use techniques like control flow
70 :     checking \cite{Oh+02b}. A complete overview of processor description
71 :     languages and generation of compilers and simulators from processor
72 :     specifications gives the book of Mishra and Dutt \cite{MishraDutt08}.
73 : andi 1.4 A good survey of current instruction set simulators gives our chapter
74 : knoop 1.10 in the \emph{Handbook of Signal Processing systems} \cite{BrHoKr09}. A
75 :     famous instruction set simulator with modelling of energy consumption
76 :     is \emph{Wattch} \cite{BrooksTiwariMartonosi00}.
77 :    
78 :     \paragraph{JK}
79 :     Methods for \emph{compiler verification} do exist
80 :     \cite{Langmaack97a,Po-lncs124,MMO-lncs1283,Goos:99:verifix,Goos:00:ASM,1328444}.
81 :     Most notably are the pioneering approaches of the
82 :     \emph{ProCoS} \cite{Langmaack96a} and the \emph{Verifix}
83 :     \cite{Goerigk-et-al:CC96} projects, and more recently of
84 :     the \emph{CompCert} project \cite{CompCert,BDL-fm06,Le-popl06}. There
85 :     is also a rich body of work on the related approaches of
86 :     \emph{translation validation}
87 :     \cite{PSS-tacas98,Ne-pldi00}, \emph{certifying compilation}
88 :     \cite{NL-pldi98,Colby-etal-pldi00,BlechPoetzsch07}, and
89 :     \emph{proof-carrying code} \cite{Ne-popl97,AF-popl00,FNSG-tlfi07}.
90 :     However, an integratedly verified compiler,
91 :     which is optimizing and ensures non-functional program properties such
92 :     as on time and space ressources required by the compiled program is
93 :     still missing.
94 :    
95 :     \emph{Worst-case execution time analysis $($WCET$)$} for real-time systems,
96 :     which are often safety-critical, is a vibrant field of research in
97 :     academia and industry and of fast growing economical relevance,
98 :     especially in the avionics and automotive industry. A survey on
99 :     state-of-the-art tools and methods for WCET analysis has recently been
100 :     given by Wilhelm et al.~\cite{Wilhelm:TECS2008}. The outcomes of the
101 :     WCET Tool Challenges \cite{Gus:ISoLA2006,Holsti:WCET2008}, however,
102 :     demonstrate that all these tools have their own strengths and
103 :     limitations. In particular, they all rely to some extent on
104 :     user-assistance and thus a \emph{trusted information basis} guiding
105 :     the WCET analysis \cite{Prantl:WCET2009}.
106 :    
107 : andi 1.1
108 : knoop 1.10 \paragraph{AK}
109 : andi 1.9 Three aspects of program and compiler correctness exist. The verifying
110 :     compiler proves properties of the translated program and is a grand challenge
111 : knoop 1.10 for computing research \cite{Hoare03}. A certified compiler like Verifix is
112 : andi 1.9 proven once to do semantically equivalent optimizations and translations
113 :     \cite{GlesnerGoosZimmeermann04,GoosZimmermann00}. Translation validation proves
114 :     at every compiler run that the translation is correct and was introduced by
115 :     Pnueli et al.\ \cite{Pnueli98a,Pnueli98b} and Necula \cite{Necula00}. Until now
116 :     some optimizations have been verified, recently lazy code motion
117 :     \cite{TristanLeroy09}, instruction scheduling \cite{TristanLeroy08}, or the whole
118 :     code generation phase \cite{BlechPoetzsch07}. Another research direction is the
119 :     construction of general frameworks for validation \cite{ZaksPnueli08} or
120 :     generalizations like parameterized equivalence checking \cite{Kundu+09}.
121 :    
122 : andi 1.7
123 : andi 1.1 \subsubsection*{Previous achievements:}
124 :     %\emph{Brief description of your own contributions to the related
125 :     %scientific state-of-the art (5-10 lines)}
126 : knoop 1.10 Jens Knoop's research focuses on proven correct and optimal program
127 :     analyses and optimizations \cite{Kn-lncs1428}. He is the co-inventor
128 :     of the \emph{Lazy Code Motion}
129 :     \cite{KRS-pldi92,KRS-retrolcm04,XueK06}, the code-size sensitive
130 :     \emph{Sparse Code Motion} \cite{RKS-popl00}, and numerous other
131 :     program analyses and optimizations including
132 :     \emph{partial dead-code elimination}, \cite{KRS-pldi94}, \emph{partially redundant assignment elimination} \cite{KRS-pldi94}, and \emph{code-size sensitive
133 :     speculative code motion} \cite{scholz04}, many of which are now part of
134 :     state-of-the-art compilers. Recent research focuses on compiler
135 :     support for
136 :     \emph{worst-case execution time analysis} for safety-critical
137 :     real-time embedded systems
138 :     \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+$
139 :     programme committees of international conferences including PLDI, CC,
140 :     TACAS, Formal Methods, and Supercomputing. He was the General Chair of
141 :     PLDI'02 and ETAPS'06, and is Programme Committee Co-Chair of PACT'10. He is the
142 :     iniator and co-founder of the annual workshop series on
143 :     \emph{Compiler Optimization meets Compiler Verification} (since 2002),
144 :     co-organizer of 4 Dagstuhl seminars, most recently on \emph{Verifying
145 :     Optimizing Compilation}, and a member of the European Network of
146 :     Excellence HiPEAC.
147 :     %, and the IFIP WG 2.4 \emph{Software Implementation Technology}.
148 : andi 1.1
149 :     Andreas Krall does research in the area of architecture description
150 :     languages and the automatic generation of highly optimizing compilers,
151 :     efficient instruction set simulators and hardware from one single
152 :     specification of a processor \cite{BrFeKrRi09,BrEbKr07,FaKrHo07,
153 :     FarKrStBrand06,Krall+04micro}. An important focus is on optimization
154 :     techniques for embedded processors
155 :     \cite{EbBrSchKrWiKa08,MeKr07,PrKrHo06,HiKr03} as he lead the Christian
156 :     Doppler research laboratory {\em compilation techniques for embedded
157 :     processors} with partners from industry (Infineon, OnDemand
158 :     Microelectronics).
159 :    
160 :    
161 :     \subsubsection*{Goals (first 4 years):}
162 :     %\emph{Description of the research
163 :     %topics to be addressed during the first 4 years. Make sure to explicitly
164 :     %stress what the significant additions to the scientific knowledge are,
165 :     %and why they are important. (30-40 lines)}
166 :    
167 : knoop 1.11 New modeling and representation techniques of non-functional program
168 :     and system properties on the programming and intermediate language
169 :     levels Definitions and measures of non-functional program and system
170 :     properties (performance, time, space/memory, power, concurrency).
171 :     Modeling and representation of these properties alongside with the
172 :     programming languages semantics Adapting and enhancing
173 :     state-of-the-art compilation techniques towards non-functional
174 :     property and platform awareness New functional and non-functional
175 :     property and platform-aware compilation techniques Analyses for
176 :     non-functional program and system properties Functional and
177 :     non-functional property and platform-aware code generation techniques
178 :     Enabling validation and verification throughout the compilation
179 :     process Techniques for reducing or eliminating trusted code,
180 :     annotation, etc., bases
181 : andi 1.1
182 :    
183 :     \subsubsection*{Work Plan (first 4 years):}
184 :     %\emph{Brief description of how
185 :     %you intend to conduct the actual research during the first 4 years. Be sure
186 :     %to also describe and (coarsely) quantify the resources (staff, cost of
187 :     %special equipment) required for this work in a table. (20-30 lines)}
188 :    
189 : knoop 1.11 Compilation techniques for robust embedded systems comprise different
190 :     areas. Therefore, the project is divided into three work packages:
191 :     compilation and simulation techniques for reliabiltiy, verified
192 :     compilation and worst case execution time analysis.
193 : andi 1.1
194 : andi 1.5 \paragraph*{WP1 - Compilation and Simulation Techniques for Reliability}
195 : andi 1.1
196 : andi 1.6 In previous work we have developed a processor description language
197 :     with a very concise semantics from where we automatically generate
198 :     optimized compilers \cite{BrEbKr07} and high efficient instruction set
199 :     simulators \cite{BrFeKrRi09}. This environment we use as testbed for
200 :     our compiler optimizations for embedded processors
201 :     \cite{EbBrSchKrWiKa08,PrKrHo06,MeKr07}. We will extend this
202 :     environment to do research on compilation and simulation techniques to
203 :     enhance the reliability of processor/memory systems by mixed
204 :     hardware/software and pure software techniques.
205 : andi 1.1
206 : andi 1.5 \begin{itemize}
207 :     \item Specification method to specify an energy consumption model in
208 :     a processor specification.
209 :     \item Specification method for redundancy and error correction in the
210 :     processor specification
211 :     \item Specification method for fault injection and fault checking in
212 :     the processor specification
213 :     \item Generation of optimized instruction set simulators from the
214 : andi 1.6 extended processor specification
215 :     \item Generation of optimizing compilers from the extended processor
216 :     specification
217 : andi 1.5 \item Research into new compiler optimizations to increase reliability by
218 :     pure software solutions, mixed hardware/software solutions and
219 :     balancing performance, code space, reliability and energy consumption
220 :     \item Research of correctness proofs and validation of the new optimizations
221 :    
222 :     \end{itemize}
223 :    
224 :     \paragraph*{WP2 - Verified Compilation}
225 :    
226 : andi 1.8 Suitable semantics are necessary which support efficient translation
227 : knoop 1.11 validation or support easy verification of a compiler. We will
228 :     research into different semantics and into mappings between the
229 :     semantics of our processor description language \cite{BrEbKr07} and a
230 :     compiler backend semantics, intermediate representation semantics
231 :     (compatible to LLVM) and source language semantics. The main research
232 :     will be on verification and translation validation for all kinds of
233 :     compiler optimizations.
234 : andi 1.8
235 :     \begin{itemize}
236 :     \item Evaluate different semantics regarding suitability for compiler
237 :     verification and translation validation, eventually develop new
238 :     semantics
239 :     \item Develop a translator for an automatic mapping from our processor
240 :     description language into verification semantics
241 :     \item Develop a validation system from the intermediate representation
242 :     (LLVM) to the processor semantics
243 :     \item Develop a validation system from the source language (C) to the
244 :     intermediate representation (LLVM)
245 :     \item Research into verification and translation validation for different
246 :     frontend and backend optimizations
247 :     \end{itemize}
248 : andi 1.5
249 : knoop 1.11 \paragraph*{WP3 - Resource Analysis}
250 :     For safety-critical real-time embedded sytems resource consumption
251 :     measured in terms of a quantitative aspect of a program execution such
252 :     as execution time, storage use, and power consumption belongs rather
253 :     to the functional properties of an application rather its
254 :     non-functional ones. Formal guarantees on resource consumption are
255 :     thus essential and mandatory to ensure the robustness of such
256 :     systems. This requires new and usually more complex but more
257 :     expressive program analyses and transformations to support the (1)
258 :     programmer during source code development by early and automatically
259 :     providing hints on resource consumption and (2) the compiler to
260 :     optimize for resource consumption. In our previous work we focused on
261 :     compiler support for
262 :     \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
263 :     other quantitive aspects of resource consumption, especially storage
264 :     usage, towards these two global objectives, using the programming
265 :     environment used there as testbed for implementation
266 :     \cite{Prantl:WCET2009,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,kirner_et_al:DSP:2008:1657}.
267 :    
268 :     \begin{itemize}
269 :     \item Research into new program analyses for providing high-quality
270 :     bounds on resourse consumption which are useful for both the
271 :     application programmer and the compiler.
272 :     \item Research new program analyses and static optimizations
273 :     to optimize for resource consumption and to help complying to
274 :     possibly given limits.
275 :     \item Research suitable abstraction levels of interfaces and modes
276 :     of interaction between fully automatic program analysis and
277 :     verification methods and semi-automatic ones relying on
278 :     user-assistance because of undecidability issues
279 :     \item Research the synergies and the trade-off between fully
280 :     automatic program analysis and verification methods and
281 :     semi-automatic ones utilizing user-assistance on high-quality
282 :     resource bounds and the computational costs to compute them.
283 :     \item Research simulation and profiling methods to assess the
284 :     quality of resource consumption analyses.
285 :     \end{itemize}
286 :     Overall, this WP will contribute to the design, foundations,
287 :     verification, implementation, and application of resource analyses.
288 :    
289 : andi 1.1
290 : andi 1.2
291 : andi 1.1
292 :     \begin{tabular}{llll}
293 : andi 1.5 \\
294 : andi 1.1 \hline
295 : andi 1.2 {\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\
296 :     NN1 & PhD & reliable compilation / simulation & 4 years \\
297 : andi 1.5 NN2 & PhD & verified compilation & 4 years \\
298 : knoop 1.11 NN3 & PhD & Resource analysis & 4 years \\
299 : andi 1.1 \hline
300 :     \end{tabular}
301 :    
302 :    
303 :     \subsubsection*{Goals (last 4 years):}
304 :     %\emph{Brief description of the
305 :     %eesearch topics to be addressed during the last 4 years. Make sure to
306 :     %explicitly stress what the significant additions to the scientific
307 :     %knowledge are, and why they are important. (20-30 lines)}
308 :    
309 :     New programming languages and compilers for RESs
310 :     Non-functional properties and requirements as first-class language and compiler citizens
311 :     New compilation techniques enabling a uniform and integrated approach
312 :     for ensuring functional and non-functional program and system requirements
313 :     Replacing trust by proof
314 :     Certifying compilation, proof-carrying code, translation validation
315 :     Verified compilers, verifying compilation for RESs
316 :     Making legacy applications fit to and available on RESs
317 :     Techniques for adjusting and decompiling legacy applications
318 :    
319 :     \subsubsection*{Collaboration with other PPs:}
320 :     %\emph{List the PPs you are expecting to collaborate with, and describe briefly
321 :     %the topic and nature of such a collaboration. (10-20 lines)}
322 :    
323 :     \begin{itemize}
324 :     \item PP Composition of Non-functional Requirements [I.S.T.A./Henzinger]:
325 :     Links to specification and modeling of timing properties, to execution
326 :     models, hardware and software models.
327 :     \item PP Composition and Predictability in RES Architectures
328 :     [E182/Puschner]: Links to hard- and software models for time
329 :     predictable systems, verification of timing behaviour.
330 :     \item PP Formal Verification for Robustness [E184/Veith]: Links to software
331 : knoop 1.10 model-checking and testing of code (on source code and intermediate
332 : andi 1.1 code levels), support for program analysis and transformation.
333 :     \item PP Modeling \& Analysis of Robust Distributed Systems [E182/Schmid]:
334 :     Links to functional and non-functional system requirements,
335 :     distribution, concurrency.
336 :     \end{itemize}
337 :    
338 :     \subsubsection*{External Collaborations:}
339 :     %\emph{List envisioned international and national collaborations, and
340 :     %describe briefly the topic and nature of such a collaboration. (5-10
341 :     %lines)}
342 : knoop 1.10 \begin{itemize}
343 : knoop 1.11 \item Walter Binder, University of Lugano, Switzerland
344 : knoop 1.10 \item Sabine Glesner, TU Berlin, Berlin, Germany
345 :     \item Aviral Shrivastava, Arizona State University, Tempe, AZ, USA
346 :     \item Wolf Zimmermann, Martin-Luther Universit\"at Halle-Wittenberg, Halle, Germany
347 :     \end{itemize}
348 : andi 1.1
349 :     \begin{comment}
350 :     %Bitte hier die Bibtex-Entries einfuellen, z.B.,
351 :    
352 :    
353 :     ------------------------------------
354 :    
355 :     @article{Hoare,
356 :     author = {Tony Hoare},
357 :     title = {The verifying compiler: A grand challenge for computing research},
358 :     journal = {Journal of the ACM},
359 :     volume = {50},
360 :     number = {1},
361 :     year = {2003},
362 :     issn = {0004-5411},
363 :     pages = {63--69},
364 :     doi = {http://doi.acm.org/10.1145/602382.602403},
365 :     publisher = {ACM},
366 :     address = {New York, NY, USA},
367 :     }
368 :    
369 :     @article{1328444,
370 :     author = {Jean-Baptiste Tristan and Xavier Leroy},
371 :     title = {Formal verification of translation validators: a case study on instruction scheduling optimizations},
372 :     journal = {SIGPLAN Not.},
373 :     volume = {43},
374 :     number = {1},
375 :     year = {2008},
376 :     issn = {0362-1340},
377 :     pages = {17--27},
378 :     doi = {http://doi.acm.org/10.1145/1328897.1328444},
379 :     publisher = {ACM},
380 :     address = {New York, NY, USA},
381 :     }
382 :    
383 :     @article{1314860,
384 :     author = {Jan Olaf Blech and Arnd Poetzsch-Heffter},
385 :     title = {A Certifying Code Generation Phase},
386 :     journal = {Electron. Notes Theor. Comput. Sci.},
387 :     volume = {190},
388 :     number = {4},
389 :     year = {2007},
390 :     issn = {1571-0661},
391 :     pages = {65--82},
392 :     doi = {http://dx.doi.org/10.1016/j.entcs.2007.09.008},
393 :     publisher = {Elsevier Science Publishers B. V.},
394 :     address = {Amsterdam, The Netherlands, The Netherlands},
395 :     }
396 :    
397 :     @INPROCEEDINGS{LeeShrivastava09,
398 :     TITLE = {A Compiler Optimization to Reduce Soft Errors in Register Files},
399 :     AUTHOR = {Jongeun Lee and Aviral Shrivastava},
400 :     BOOKTITLE = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
401 :     EDITOR = {Mahmut Kandemir},
402 :     PUBLISHER = {ACM},
403 :     PAGES = {??--??},
404 :     ADDRESS = {Dublin},
405 :     MONTH = {June},
406 :     YEAR = {2009},
407 :     }
408 :    
409 :     @BOOK{MishraDutt08,
410 :     TITLE = {Processor Description Languages},
411 :     AUTHOR = {Prabhat Mishra and Nikil Dutt (Editor)},
412 :     PUBLISHER = {Morgan Kaufmann},
413 :     YEAR = {2008},
414 :     }
415 :    
416 :    
417 :    
418 :     %Eigene Referenzen ab hier.
419 :    
420 :     @InProceedings{SchrSchoKn09,
421 :     TITLE = "Adding Timing-Awareness to {AUTOSAR} Basic-Software - A Component Based Approach",
422 :     AUTHOR = "Dietmar Schreiner and Markus Schordan and Jens Knoop",
423 :     BOOKTITLE = "12th IEEE International Symposium on Object/component/service-oriented
424 :     Real-time distributed Computing (ISORC 2009)",
425 :     PUBLISHER = "IEEE",
426 :     ADDRESS = "Tokyo, Japan",
427 :     YEAR = "2009",
428 :     MONTH = "March",
429 :     PAGES = "288--292",
430 :     }
431 :    
432 :     @inproceedings{Prantl:WLPE2008,
433 :     Address = {Udine, Italy},
434 :     Author = {Adrian Prantl and Jens Knoop and Markus Schordan and Markus Triska},
435 :     Booktitle = {The 18th Workshop on Logic-based methods in Programming Environments (WLPE 2008)},
436 :     Month = {December 12},
437 :     Title = {Constraint solving for high-level WCET analysis},
438 :     Year = {2008},
439 :     URL = {http://costa.tuwien.ac.at/papers/wlpe08.pdf}
440 :     }
441 :    
442 :     @InProceedings{prantl_et_al:DSP:2008:1661,
443 :     author = "Adrian Prantl and Markus Schordan and Jens Knoop",
444 :     title = "TuBound - {A} Conceptually New Tool for Worst-Case
445 :     Execution Time Analysis",
446 :     booktitle = "8th Intl. Workshop on Worst-Case Execution Time (WCET)
447 :     Analysis",
448 :     year = "2008",
449 :     editor = "Raimund Kirner",
450 :     publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
451 :     Germany",
452 :     address = "Dagstuhl, Germany",
453 :     URL = "http://drops.dagstuhl.de/opus/volltexte/2008/1661",
454 :     annote = "Keywords: Worst-case execution time (WCET) analysis,
455 :     Tool Chain, Flow Constraints, Source-To-Source",
456 :     ISBN = "978-3-939897-10-1",
457 :     note = "also published in print by Austrian Computer Society
458 :     (OCG) under ISBN 978-3-85403-237-3",
459 :     }
460 :    
461 :     @InProceedings{kirner_et_al:DSP:2008:1657,
462 :     author = "Raimund Kirner and Albrecht Kadlec and Adrian Prantl
463 :     and Markus Schordan and Jens Knoop",
464 :     title = "Towards a Common {WCET} Annotation Language: Essential
465 :     Ingredients",
466 :     booktitle = "8th Intl. Workshop on Worst-Case Execution Time (WCET)
467 :     Analysis",
468 :     year = "2008",
469 :     editor = "Raimund Kirner",
470 :     publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
471 :     Germany",
472 :     address = "Dagstuhl, Germany",
473 :     URL = "http://drops.dagstuhl.de/opus/volltexte/2008/1657",
474 :     annote = "Keywords: Worst-case execution time (WCET) analysis,
475 :     annotation languages, WCET annotation language
476 :     challenge",
477 :     ISBN = "978-3-939897-10-1",
478 :     note = "also published in print by Austrian Computer Society
479 :     (OCG) under ISBN 978-3-85403-237-3",
480 :     }
481 :    
482 :     @InProceedings{kirner_et_al:DSP:2007:1197,
483 :     author = "Raimund Kirner and Jens Knoop and Adrian Prantl and
484 :     Markus Schordan and Ingomar Wenzel",
485 :     title = "{WCET} Analysis: The Annotation Language Challenge",
486 :     booktitle = "7th Intl. Workshop on Worst-Case Execution Time (WCET)
487 :     Analysis",
488 :     year = "2007",
489 :     editor = "Christine Rochange",
490 :     publisher = "Internationales Begegnungs- und Forschungszentrum
491 :     f{"u}r Informatik (IBFI), Schloss Dagstuhl, Germany",
492 :     address = "Dagstuhl, Germany",
493 :     URL = "http://drops.dagstuhl.de/opus/volltexte/2007/1197",
494 :     annote = "Keywords: Worst-case execution time analysis, WCET,
495 :     path description, annotation language challenge,
496 :     expressiveness, convenience",
497 :     }
498 :    
499 :    
500 :     @InProceedings{knoop:DSP:2008:1575,
501 :     author = {Jens Knoop},
502 :     title = {Data-Flow Analysis for Multi-Core Computing Systems: A Reminder to Reverse Data-Flow Analysis},
503 :     booktitle = {Scalable Program Analysis},
504 :     year = {2008},
505 :     editor = {Florian Martin and Hanne Riis Nielson and Claudio Riva and Markus Schordan},
506 :     number = {08161},
507 :     series = {Dagstuhl Seminar Proceedings},
508 :     ISSN = {1862-4405},
509 :     publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany},
510 :     address = {Dagstuhl, Germany},
511 :     URL = {http://drops.dagstuhl.de/opus/volltexte/2008/1575},
512 :     annote = {Keywords: Multi-core computing systems, scalable program analysis, reverse data-flow analysis, demand-driven data-flow analysis}
513 :     }
514 :    
515 :     @InProceedings{conf/cc/XueK06,
516 :     title = "A Fresh Look at {PRE} as a Maximum Flow Problem",
517 :     author = "Jingling Xue and Jens Knoop",
518 :     bibdate = "2006-04-05",
519 :     bibsource = "DBLP,
520 :     http://dblp.uni-trier.de/db/conf/cc/cc2006.html#XueK06",
521 :     booktitle = "CC",
522 :     booktitle = "Compiler Construction, 15th International Conference,
523 :     {CC} 2006, Held as Part of the Joint European
524 :     Conferences on Theory and Practice of Software, {ETAPS}
525 :     2006, Vienna, Austria, March 30-31, 2006, Proceedings",
526 :     publisher = "Springer",
527 :     year = "2006",
528 :     volume = "3923",
529 :     editor = "Alan Mycroft and Andreas Zeller",
530 :     ISBN = "3-540-33050-X",
531 :     pages = "139--154",
532 :     series = "Lecture Notes in Computer Science",
533 :     URL = "http://dx.doi.org/10.1007/11688839_13",
534 :     }
535 :    
536 :     @InProceedings{scholz04,
537 :     author = "Bernhard Scholz and Nigel Horspool and Jens Knoop",
538 :     title = "Optimizing for space and time usage with speculative
539 :     partial redundancy elimination",
540 :     booktitle = "LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED
541 :     conference on Languages, Compilers, and Tools for Embedded Systems",
542 :     year = "2004",
543 :     ISBN = "1-58113-806-7",
544 :     pages = "221--230",
545 :     location = "Washington, DC, USA",
546 :     publisher = "ACM Press",
547 :     }
548 :    
549 :     @InProceedings{HiKr03,
550 :     TITLE = "{VLIW} Operation Refinement for Reducing Energy Consumption",
551 :     AUTHOR = "Ulrich Hirnschrott and Andreas Krall",
552 :     BOOKTITLE = "International Symposium on System-on Chip",
553 :     PUBLISHER = "IEEE",
554 :     ADDRESS = "Tampere, Finland",
555 :     YEAR = "2003",
556 :     PAGES = "131--134",
557 :     }
558 :    
559 :     @Article{Krall+04micro,
560 :     author = {Andreas Krall and Ulrich Hirnschrott and Christian Panis and Ivan Pryanishnikov},
561 :     title = {x{DSP}core: {A} {C}ompiler-{B}ased {C}onfigureable {D}igital {S}ignal {P}rocessor},
562 :     journal = {IEEE Micro},
563 :     year = {2004},
564 :     OPTkey = {},
565 :     volume = {24},
566 :     number = {4},
567 :     pages = {67-78},
568 :     month = {July/August},
569 :     OPTnote = {},
570 :     OPTannote = {},
571 :     }
572 :    
573 :     @INPROCEEDINGS{FarKrStBrand06,
574 :     TITLE = {Effective Compiler Generation by Architecture Description},
575 :     AUTHOR = {Stefan Farfeleder and Andreas Krall and Edwin Steiner and Florian Brandner},
576 :     BOOKTITLE = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
577 :     EDITOR = {Koen De Bosschere},
578 :     PUBLISHER = {ACM},
579 :     PAGES = {145--152},
580 :     ADDRESS = {Ottawa},
581 :     MONTH = {June},
582 :     YEAR = {2006},
583 :     URL = {http://doi.acm.org/10.1145/1134650.1134671},
584 :     }
585 :    
586 :     @ARTICLE{PrKrHo06,
587 :     AUTHOR = {Ivan Pryanishnikov and Andreas Krall and Nigel Horspool},
588 :     TITLE = {Compiler Optimizations for Processors with {SIMD} Instructions},
589 :     JOURNAL = {Software---Practice and Experience},
590 :     PUBLISHER = {Wiley},
591 :     VOLUME = {37},
592 :     NUMBER = {1},
593 :     PAGES = {93--113},
594 :     YEAR = {2007},
595 :     URL = {http://www3.interscience.wiley.com/cgi-bin/fulltext/112783581/PDFSTART},
596 :     }
597 :    
598 :     @ARTICLE{FaKrHo07,
599 :     AUTHOR = {Stefan Farfeleder and Andreas Krall and Nigel Horspool},
600 :     TITLE = {Ultra Fast Cycle-Accurate Compiled Emulation of Inorder Pipelined Architectures},
601 :     JOURNAL = {Journal of Systems Architecture},
602 :     PUBLISHER = {Elsevier},
603 :     VOLUME = {53},
604 :     NUMBER = {8},
605 :     PAGES = {501--510},
606 :     YEAR = {2007},
607 :     }
608 :    
609 :     @INPROCEEDINGS{MeKr07,
610 :     TITLE = {Instruction Set Encoding Optimization for Code Size Reduction},
611 :     AUTHOR = {Michael Med and Andreas Krall},
612 :     BOOKTITLE = {International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation},
613 :     ADDRESS = {Samos, Greece},
614 :     PAGES = {9--17},
615 :     MONTH = {July},
616 :     YEAR = {2007}
617 :     }
618 :    
619 :     @INPROCEEDINGS{BrEbKr07,
620 :     TITLE = {Compiler Generation from Structural Architecture Descriptions},
621 :     AUTHOR = {Florian Brandner and Dietmar Ebner and Andreas Krall},
622 :     BOOKTITLE = {International Conference on Compilers, Architecture, and Synthesis for Embedded Systems},
623 :     ADDRESS = {Salzburg, Austria},
624 :     PAGES = {13--22},
625 :     MONTH = {September},
626 :     YEAR = {2007}
627 :     }
628 :    
629 :     @INPROCEEDINGS{EbBrSchKrWiKa08,
630 :     TITLE = {Generalized Instruction Selection using {SSA}-Graphs},
631 :     AUTHOR = {Dietmar Ebner and Florian Brandner and Bernhard Scholz and Andreas Krall and Peter Wiedermann and Albrecht Kadlec},
632 :     BOOKTITLE = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
633 :     EDITOR = {John Regehr},
634 :     PUBLISHER = {ACM},
635 :     PAGES = {31--40},
636 :     ADDRESS = {Tucson},
637 :     MONTH = {June},
638 :     YEAR = {2008},
639 :     }
640 :    
641 :     @INPROCEEDINGS{BrFeKrRi09,
642 :     TITLE = {Fast and Accurate Simulation using the LLVM Compiler Framework},
643 :     AUTHOR = {Florian Brandner and Andreas Fellnhofer and Andreas Krall and David Riegler},
644 :     BOOKTITLE = {Rapid Simulation and Performance Evaluation: Methods and Tools (RAPIDO'09)},
645 :     EDITOR = {Smail Niar, Rainer Leupers, Olivier Temam},
646 :     PUBLISHER = {HiPEAC},
647 :     PAGES = {1--6},
648 :     ADDRESS = {Paphos, Cyprus},
649 :     MONTH = {January},
650 :     YEAR = {2009},
651 :     }
652 :     \end{comment}
653 :    
654 :     \bibliography{res} % Input von res.bib, kommt dann spaeter dazu ...
655 :    
656 :     \end{document}

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help