Content
- 1 Introduction
- 2 Notation
- 3 Tool Usage
- 4 Top Level Elements
- 5 Control Flow Elements
- 6 Data Flow Elements
- 7 Location Attributes
- 8 Loop Bound Attributes
- 9 Time and Execution Attributes
- 10 Control Flow Properties
- 11 Control Flow Constraints
- 12 Data Flow Properties
- 13 Data Flow Constraints
- 14 Future Developments
- 15 Appendix A: FFX Grammar
- 16 Appendix B: Example – output of oRange tool
14 Future Developments
This document is the first version of FFX although this format has been used for a long time in the tools developed by TRACES group, namely, OTAWA and oRange. This tools are using a subset of the format presented here what we qualify as FFX 0.5. With the evolution of these tools and according the needs of users, we will implement more and more concepts found in this document and there is no doubt that they will be pushed to maturation and the need for new concepts will arise.
Whatever, some works has already been done to support the so-called partial analysis. The idea is that a real-time application is made of black-box components, not supporting hybrid approach for bounding loops for example. To make them analyzable, they are delivered with a summary of their effect on WCET that may be instantiated to cope with its own effects on time and on the program they are embedded in. In this research work, FFX has been used to store this summary but the representation is not mature enough to include them in this document.
Another important extension would concern the way the code parts are identified. Currently, this identification is bound either to an address (possibly label and offset), or to a source-line pair. Yet, such a representation is not very adapted to the evolution of an application and does not let the user easily identify parts of code. This may improved using automatic labels (generated from a macro for example) and through comments in the source that will follow more easily the changes in the sources.