Author :
Henia, Rafik ; Rioux, Laurent ; Sordon, Nicolas ; Vergnaud, Thomas
Abstract :
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 impl- ments 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 timi
Keywords :
Unified Modeling Language; embedded systems; failure analysis; fault tolerance; scheduling; software radio; telecommunication computing; telecommunication network reliability; LwCCM; MARTE syntax; OMG standard MARTE; SDR MyCCM models; SDR systems; UML modelers; communication radio; dedicated SDR MyCCM scheduling analysis; early performance estimation; encapsulate algorithms; fault tolerant behavior mode; hardware radio; independent functional component assembling; industrial component-based design; industrial design process; lightweight component container model; make your component container model; passive code; real-time embedded software; real-time embedded systems; real-time systems; reliable software defined radio system; reliable software waveform; scheduling analysis tool models; signal modulation; time-to-market constraints; timing failure risk; Adaptation models; Analytical models; Job shop scheduling; Real-time systems; Software reliability; Timing; Unified modeling language; MARTE; component-based modeling; real-time software design; reliable software defined radio systems; scheduling analysis;