Workshop - November Toulouse Verification of software properties: scheduling analysis and worst case execution time Jean BERTRAND, Jérémie POULY – CNES Axel BONESS, François BERTRAND – CEA LETI
Workshop - November Otawa Otawa computes Worst Case Execution Time (WCET) Uses Linear Programming (LP) methods to maximize cost function (processing time) Supports several CPU architectures PowerPc, M68HCS, ARM, LEON
Workshop - November OTAWA in our use case SWARM CPU implements numerous tasks Validation of our real-time application is therefore complex and painful The need for tools easing WCET computation is obvious OTAWA is not intrusive therefore can be used even late in the project
Workshop - November Otawa system footprint Disk usage : 280Mo Our configuration Portable Dell D630 Virtual machine 512Mo RAM / 5Go disk Ubuntu 9.10 May function anywhere Ligthweight
Workshop - November Speed Code size is irrelevant Branches are relevant It means: Computation intensive code is easy to analyse Decisional code is harder to analyse Nevertheless: Computing WCET on hundreds of branches is computationally immediate
Workshop - November GUI Well structured GUI
Workshop - November Assembler view
Workshop - November Cordic 32 bits analysis User specified Multiplierselection Architecturetuning
Workshop - November Limitations (branches) Tricky WCET Same functionnality Nevertheless WCET computed is a correct bound
Workshop - November Limitations (indirect call)
Workshop - November Limitations (impact) Indirect call present in: Function table IO managment Event managment C++ polymorphism Limited impact on actual real time software WCET computation Meaning of WCET including IO or event Consider C++ polymorphism in RT system !!!
Workshop - November Conclusion Tool is user friendly Free Easy usage GUI Lightweight Computed WCET are reliable OTAWA is non-intrusive Roadmap identifies technical breakthrough
Workshop - November Questions Please ask