|
Improving Predictability and Resource Utilization in Component-Based Embedded Real-Time Systems |
||||||||
|
||||||||
|
Abstract With increase of software complexity and demands for improved development efficiency, there is a need for new technologies and methods that can cope with these challenges. In certain business domains, such as distributed webbased systems and office applications, Component-Based Software Engineering (CBSE) has demonstrated advantages in achieving reusability of software components, shorter time to market and increased quality. Due to these advantages the approach is attractive also for other application domains, in particular for Embedded Real-Time Systems (ERTS). However, applying CBSE to ERTS is not trivial since ERTS have requirements related to timing and resources usage. One of the major challenges in providing CBSE for ERTS is to achieve performance efficiency and predictability while maintaining reusability. In this thesis we address this challenge, and three novel solutions are presented for improving predictability and utilization of resources in component-based ERTS. The first solution is a contract-based technique to achieve reuse of Worst- Case Execution Times (WCET) predictions in conjunction with reuse of software components. For resource constrained systems where a high degree of predictability is needed, classical techniques for WCET-estimation may result in unacceptable overestimations for reusable software components. Our solution allows different WCETs to be associated with subsets of the component behaviour. The appropriate WCET for any usage context of the component is selected by means of component contracts over the component’s input domain. The second solution is a method for deriving the input combinations of a software component that produces the WCET. The information resulting from this method can be used, e.g., for guiding measurement-basedWCET analysis. The third solution is a framework for transformation of components to the real-time tasks aiming at providing efficient utilisation of resources. Efficient allocations can reduce memory usage and CPU-overhead considerably. In addition this thesis demonstrates how the solutions can be incorporated in the CBSE development process. Furthermore, two tools have been implemented and used for the evaluation of the research results; the evaluations show that by using the methods outlined in the thesis resource efficiency and predictability can be substantially increased without negative impact on reuse. |
||||||||
|
BibTeX entry @phdthesis{Fredriksson_1604:2008, |