Variability management for Analyzable Models Sample Clauses

Variability management for Analyzable Models. In most cases, software is hardware-dependent and has to run under different configurations (communicating with different number and kind of devices; in the case of eDiana different number of cells and equipped with different devices for example). Thus, embedded software validation in a real environment becomes more difficult. All hardware and configuration aspects have to be configured and as the testing is done in final stages of development, to fix a bug is more expensive. Nowadays, in the development of embedded systems, approximately 50% of total development effort is spent on testing activities. Software validation from early development stages is crucial in this kind of systems. Nowadays, there are tools that help perform software validations from software models, even before writing a single line of code. UML profiles such as ▇▇▇▇▇ (Modelling and Analysis of Real-time and Embedded Systems) or its predecessor SPT (Schedulability, Performance and Time) provides facilities to annotate models with information required to perform specific analysis such as performance or schedulability analysis. However, to properly validate software under the different configurations for which it may run, it is very important to manage variability of all aspects that affect the validation. As mentioned, embedded software validation is quite complex, one of the factors that influence in this complexity is the context diversity in which the software can be executed. In the eDiana case, software can be executed in multiple contexts or configurations. For validating, it is required to consider those contexts and it can be considered as a software product line of validation contexts. In software embedded quality aspects validation of systems that have to run under different configurations, three aspects have to being taken into account: • Variability in software • Validation environment variability • Analysis/Testing scenarios variability To validate software in a proper way, managing variability on the three aspects mentioned above is needed. Thus software can be validated in different situations i.e., running in different environments, taking into account different software quality aspects, etc. Each of the aforementioned aspects is described in the following paragraphs. Embedded software can be developed with different development paradigms: • Develop software through software product lines: Each product configuration will carry specific software that will fit its needs t...