Early Performance Estimation for Industrial Component-Based Design of Reliable Software Defined Radio System (2012)

The growing complexity of software applications, combined with increasing reliability requirements and constant quality and time-to-market constraints, creates new challenges for performance engineering practices in the area of real-time embedded systems. It is namely expected that delivered products combine timing garantees with fault tolerant behavior, e.g. by switching to fault tolerant modes in case of errors, while respecting strict real-time requirements. When developing such real-time systems according to a traditional application of the "Va"-cycle, performance verification and validation activities start only when development and integration are completed. As a consequence, performance issues are detected at a late stage. At this time, they are more difficult and expensive to fix. At Thales, we have therefore focused on the automation of performance engineering activities and their application as early as possible in the industrial design process of reliable Software Defined Radio (SDR) systems, as a mean to shorten the design time and reduce risks of timing failures. The SDR particularity consists in implementing the signal modulation of a communication radio using software rather than hardware. It is namely much easier to reprogram the modulation carrier in order to fit different situations with the same hardware radio (e.g. each national army typically uses specific waveforms to guarantee the confidentiality of communications). The implementation of a reliable software waveform can be a difficult task, as it involves real-time constraints as well as embedded aspects while dealing with complex algorithms including those for fault recovery. Thales created a software framework family, named MyCCM (Make your Component Container Model), to support the implementation of such real-time embedded software. MyCCM is a tailorable component based design approach that takes inspiration from the Lightweight Component Container Model (LwCCM) defined by the OMG. It implements the concept of functional components that encapsulate algorithms. The components correspond to passive code controlled by an underlying runtime, and are connected through communication ports to create a complete application. This allows the construction of applications by assembling independent functional components. It also enforces the separation of concerns between the functional aspects described by component ports and the non functional elements that stay outside the components (message chaining across the whole component architecture, FIFO sizes, task priorities, communications mechanisms, execution times, etc). MyCCM models can be designed either using Thales internal modeling tools or using UML modelers with plain UML. Our developed framework for the early performance estimation of SDR MyCCM models is represented in the figure below. The first step consists in extending the SDR MyCCM model with performance properties, i.e. timing and behavior characteristics of the application (e.g. execution times and activation frequencies for threads and methods, data dependencies and communication protocols between threads) and execution characteristics of the hardware platform (e.g. speed, scheduling policy, etc). The OMG standard MARTE is key language for this purpose. However, due to the complexity of its syntax, it may result in very complex and confusing diagrams and models. We have therefore adapted the MARTE syntax based on the Thales SDR designers' feedback, thus allowing representing the performance properties in an easier and much more intuitive manner. We have opted for scheduling analysis techniques for the performance estimation of the extended MyCCM models, which is the next step in our framework. These techniques are well adapted for this purpose, since they rely on an abstraction of the timing relevant characteristics and behaviors. From these characteristics, the scheduling analysis systematically derives worst-case scheduling scenarios, and timing equations safely bound the worst-case response times. However, we faced the problem that scheduling analysis is not directly applicable to extended MyCCM models due to the semantic mismatch between the later and the variety of scheduling analysis models known from the classical real time systems research and from the industrial scheduling analysis tools. In order to fill this semantic gap and to ensure a minimum of independence from modeling and scheduling analysis tools, we have decided to introduce a pivot scheduling analysis model in-between. For this purpose, we have specified and implemented a set of rules transforming extended SDR MyCCM models into equivalent pivot scheduling analysis models and the later into the selected scheduling analysis tool models to which a dedicated SDR MyCCM scheduling analysis is applicable. Finally, we have defined and implemented rules adapting the scheduling analysis results to the original SDR MyCCM model.