FFX: A Portable WCET Annotation Language Armelle Bonenfant, Hugues Cassé, Marianne de Michiel IRIT - Université de Toulouse 118 route de Narbonne, F-31062 TOULOUSE [michiel,casse,bonenfant]@irit.fr Jens Knoop * , Laura Kovács *† , Jakob Zwirchmayr *‡ E185.1 - Vienna University of Technology Argentinierstraße 8, A-1040 VIENNA [knoop,lkovacs,jakob]@complang.tuwien.ac.at ABSTRACT In order to ensure safety of critical real-time systems it is crucial to verify their temporal properties. Such a property is the Worst-Case Execution Time (WCET), which is ob- tained by architecture-dependent timing analysis and arch- itecture-independent flow fact analysis. In this article we present a WCET annotation language which is able to ex- press such information originating from the user or the anal- ysis. The open format, named FFX to stand for Flow Facts in XML, is portable, expandable and easy to write, under- stand and process. We argue that FFX allows to reuse and exchange the an- notation files among WCET tools. FFX therefore permits to tighten WCET results and decreases the effort to sup- port new architectures. Additionally, FFX flow fact files allow fair comparisons of both flow facts and WCET results. FFX can be used for quality assurance when developing new analysis techniques, using it as a flow fact database to test against. We present a small case study exemplify- ing the above points. Our case study puts special focus on the aspect of comparability and information exchange among WCET tools. In our experiments with FFX, we use the WCET analysis tool chains Otawa/oRange and r- TuBound/CalcWCET167. Categories and Subject Descriptors C.3 [Special-Purpose and Application-Based Systems]: Real-time systems and embedded systems * This research is partly supported by the FP7-ICT Project 288008 Time-predictable Multi-Core Architecture for Em- bedded Systems (T-CREST), the FWF National Research Network RiSE (S11410-N23) and the WWTF PROSEED grant (ICT C-050). † L. Kov´ acs is supported by an FWF Hertha Firnberg Re- search grant (T425-N23). ‡ J. Zwirchmayr is supported by the CeTAT project of TU Vienna. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. RTNS’12 , November 08 - 09 2012, Pont a Mousson, France Copyright 2012 ACM 978-1-4503-1409-1/12/11 ...$15.00. 1. INTRODUCTION Critical hard real-time systems are composed of tasks which must imperatively finish before their deadline. A task schedul- ing analysis, requiring a priori WCET analysis of each task, is performed in order to guarantee safety of the system. Static WCET analysis is performed using timing analysis tools which need flow fact information about the program under analysis. Such information may be given manually by the developer or inferred automatically by a flow fact ana- lyzer. Well-known WCET tools, such as aiT [1], Bound-T [22] or SWEET [8], use so-called annotation languages in order to carry gathered information. In [12] the authors de- fine and summarise ingredients of an annotation language in order to classify the information needed by the WCET anal- ysis performed by various WCET tools. Following this line, the recent work of [13] encourages the WCET community to converge towards the use of a common annotation language for comparing various WCET tools. In this article we address this suggestion and introduce a portable annotation language, called FFX (Flow Facts in XML). Fig. 1 illustrates the difference between the tradi- tional workflow of WCET analyzers (Fig. 1(a)), relying on an internal format to exchange information between front- end and back-end, and the workflow of WCET analyzers us- ing a portable annotation format, as proposed in this article (Fig. 1(b)). By a WCET analysis tool chain of a WCET analyzer we mean the full collection of tools used to ana- lyze a program. Usually, a WCET analysis tool chain con- sists of architecture-independent high-level analyzers gath- ering flow facts about the program, e.g. oRange [3] or r- TuBound [15]. Such tools we name the WCET front-end. The parts of a WCET analysis tool chain that operate on the architecture-dependent lower level, we denote as WCET back-end, e.g. Otawa [3] and CalcWCET167 [11]. The workflow presented in Fig. 1(b) emphasizes the con- tributions of this article. FFX portability allows one to use and reuse results from one tool within another tool. As back-ends might support multiple architectures, such an in- termediate format allows one to extend the usage of various WCET tools to different platforms and architectures. The intermediate format in our case is FFX. A presentation of the FFX format is already reported in [4]. In this article we extend [4] by the following aspects. (i) We propose an open, portable and expandable anno- tation format, called FFX, as an intermediate format for WCET analysis. Such an annotation format is needed for a fair comparison of various WCET results. For instance, during the WCET tool challenge [23] almost all participants