1 | \section{Report} |
---|
2 | \label{sect.rep} |
---|
3 | |
---|
4 | The Consortium identified two potentially fruitful destinations at which to hold such events, taking into account suitable candidates, and the opportunity to hold workshops during, or shortly after the end of the Project lifetime, given our requested extension to end month 39, Mar. 2013. |
---|
5 | |
---|
6 | Beyond each Conference call for participation, invitations to the two meetings were sent out to the following researchers and research groups, all world leaders in cost/timing analysis for programing langauges, compilers and embedded systems: |
---|
7 | prof. Kevin Hammond (St Andrew's University, UK), |
---|
8 | dr. Björn Franke (Edinburgh University, UK), |
---|
9 | prof. Peter Sewell (Cambridge University, UK), |
---|
10 | prof. dr. Heiko Falk (Ulm University, DE), |
---|
11 | prof. dr. Martin Hofmann, dr. Steffen Jost (LMU Munich, DE), |
---|
12 | dr. Christian Ferdinand (CEO, AbsInt GmbH, DE), |
---|
13 | prof. Germ{\'a}n Puebla, COSTA team (TU Madrid, E), |
---|
14 | prof. Bjorn Lisper (Mälardalen University, SE). |
---|
15 | |
---|
16 | |
---|
17 | \paragraph{D6.4} Before receiving the Project extension, we had identified for month 37 (Jan. 2013) the workshop track of the HiPEAC Conference series on High Performance and Embedded Architectures and Compilers as a suitable destination, comprising as it does a wide range of sessions bringing together industrial and academic research. |
---|
18 | |
---|
19 | HiPEAC 2013 was held in Berlin, with the \cerco{} event a half-day workshop (see Table~\ref{hipeac:timetable}): \\ |
---|
20 | \texttt{http://www.hipeac.net/conference/berlin/workshop/CerCo} |
---|
21 | %%%\input{hipeac.ltx} |
---|
22 | |
---|
23 | Prof. Kevin Hammond (St. Andrews University, UK) gave an invited talk on his work on methods for WCET analysis, in particular of Hume programs at the source-level, and their application in the autonomous vehicle guidance and aerospace domains. |
---|
24 | |
---|
25 | |
---|
26 | \paragraph{D6.5} We identified for month 39 (Mar. 2013) a workshop at ETAPS, the pre-eminent European federated conference on programming languages, systems and tools. |
---|
27 | |
---|
28 | ETAPS 2013 was held in Rome, with the full-day \cerco{} event a ``Technical Day on Innovative Techniques on Timing Analysis'' (see Table~\ref{etaps:timetable}): \\ |
---|
29 | \texttt{http://cerco.cs.unibo.it/innovative\_techniques\_on\_timing\_analysis\_technical\_day} |
---|
30 | %%%\input{etaps.ltx} |
---|
31 | |
---|
32 | It ran in parallel with a two-day workshop on Quantitative Aspects of Programming Languages (QAPL 11), sharing three sessions with that meeting. The \cerco{} workshop also included presentations from Tullio Vartanegra, representing the PROARTIS Consortium (FP7-ICT-2009.3.4), and an invited talk from Prof. Bj{\"o}rn Lisper (M{\"a}lardalen University, SE) on Parametric WCET analysis. |
---|
33 | |
---|
34 | \paragraph{Scientific Outcomes} |
---|
35 | |
---|
36 | The HiPEAC workshop was one of 24 such meetings in a programme organised in parallel with the 3 days of the main conference, while the ETAPS event was one of 20 workshops organised over the 4 days either side of the main conference, and was thus the better attended, and scientifically more successful, meeting. |
---|
37 | |
---|
38 | Nonetheless, a fruitful discussion emerged at HiPEAC concerning source-level cost reasoning. Kevin Hammond's group use amortized analysis techniques to connect local costs about embedded programs in the Hume language to global costs, technology which it may be possible to transfer to the \cerco{} setting. A key difference in our approaches is that their Hume implementation uses the high predictability of their virtual machine implementation to obtain local cost information, whereas \cerco{} produces such information for a complex native-code compiler. |
---|
39 | |
---|
40 | At the ETAPS workshop Bj{\"o}rn Lisper drew attention to the many points of common interest and related techniques between the work on \cerco{} and his own on Parametric WCET analysis. The main difference between what we do and what is done in the WCET community is that we use (automated) theorem proving to deal with the control-flow (i.e. to put an upper bound to the executions). The standard technique in WCET consists in using polyhedral analysis to bound the number of loop |
---|
41 | iterations. That analysis produces constraints which are solved with the aid of off-the-shelf linear programming tools. So the effectiveness of theorem proving in computing precise costs in \cerco{} interested him. |
---|
42 | |
---|
43 | In addition to his own technical talk, he took the opportunity to advertise, and solicit interest in, the recently formed COST Action IC1202 Timing Analysis and Cost-Level Estimation (TACLe), of which he is Chair. This offers very promising potential for future collaborations and the wider communication of results from \cerco{}. |
---|
44 | |
---|
45 | A common theme emerged from the shared sessions with QAPL, and in particular the invited talk there from prof. Alessandra di Pierro on \emph{probabilistic} timing analysis: the parametrisation of a given timing analysis with respect to different cost \emph{algebras}. In the case of probabilistic analyses, costs are taken with respect to given probability distributions, with \emph{expected} costs being computed. prof. Vartanegra's talk emphasised a radical approach to such analyses, by making assumptions about the processor/cache architecture to yield an essentially predictable analysis. |
---|
46 | |
---|
47 | In the deterministic case studied in \cerco{}, we have taken a given, fixed, cost algebra of natural numbers (obtained from Siemens data-sheet clock timings) under addition, but already Tranquili's work on \emph{dependent labelling} suggests a move to computing costs in algebras of \emph{functions} (in the case of his analysis of loop unrolling, of cost expressions parametrised with respect to valuations of the loop index variables). The wider implications of such a move are yet to be explored. |
---|
48 | |
---|
49 | \input{hipeac.ltx} |
---|
50 | |
---|
51 | \input{etaps.ltx} |
---|
52 | |
---|
53 | |
---|