Spelling suggestions: "subject:"embedded 5oftware engineering"" "subject:"embedded 5oftware ingineering""
1 |
Aplicação de métricas de software na predição de características físicas de software embarcado / Application of software quality metrics to predict physical characteristics of embedded systemsCorrêa, Ulisses Brisolara January 2011 (has links)
A complexidade dos dispositivos embarcados propõe novos desafios para o desenvolvimento de software embarcado, além das tradicionais restrições físicas. Então, a avaliação da qualidade do software embarcado e seu impacto nessas propriedades tradicionais torna-se mais importante. Conceitos como reúso abstração, coesão, acoplamento, entre outros atributos de software têm sido usados como métricas de qualidade no domínio da engenharia de software. No entanto, elas não têm sido usadas no domínio do software embarcado. No desenvolvimento de sistemas embarcados outro conjunto de ferramentas é usado para estimar as propriedades físicas, tais como: consumo de energia, ocupação de memória e desempenho. Essas ferramentas geralmente envolvem custosos processos de síntese e simulação. Nos complexos dispositivos embarcados atuais deve-se confiar em ferramentas que possam ajudar na exploração do espaço de projeto ainda nos níveis mais altos de abstração, identificando a solução que representa a melhor estratégia de projeto em termos da qualidade de software, enquanto, simultaneamente, atenda aos requisitos físicos. Neste trabalho é apresentada uma análise da correlação entre métricas de qualidade de software, que podem ser extraídas antes do sistema ser sintetizado, e as métricas físicas do software embarcado. Usando uma rede neural nós investigamos o uso dessas correlações para predizer o impacto que uma determinada modificação no software trará às métricas físicas do mesmo software. Esta estimativa pode ser usada para guiar decisões em direção a melhoria das propriedades físicas dos sistemas embarcados, além de manter um equilíbrio em relação às métricas de software. / The complexity of embedded devices poses new challenges to embedded software development in addition to the traditional physical requirements. Therefore, the evaluation of the quality of embedded software and its impact on these traditional properties becomes increasingly relevant. Concepts such as reuse, abstraction, cohesion, coupling, and other software attributes have been used as quality metrics in the software engineering domain. However, they have not been used in the embedded software domain. In embedded systems development, another set of tools is used to estimate physical properties such as power consumption, memory footprint, and performance. These tools usually require costly synthesis-and-simulation design cycles. In current complex embedded devices, one must rely on tools that can help design space exploration at the highest possible level, identifying a solution that represents the best design strategy in terms of software quality, while simultaneously meeting physical requirements. We present an analysis of the cross-correlation between software quality metrics, which can be extracted before the final system is synthesized, and physical metrics for embedded software. Using a neural network, we investigate the use of these cross-correlations to predict the impact that a given modification on the software solution will have on embedded software physical metrics. This estimation can be used to guide design decisions towards improving physical properties of embedded systems, while maintaining an adequate trade-off regarding software quality.
|
2 |
Aplicação de métricas de software na predição de características físicas de software embarcado / Application of software quality metrics to predict physical characteristics of embedded systemsCorrêa, Ulisses Brisolara January 2011 (has links)
A complexidade dos dispositivos embarcados propõe novos desafios para o desenvolvimento de software embarcado, além das tradicionais restrições físicas. Então, a avaliação da qualidade do software embarcado e seu impacto nessas propriedades tradicionais torna-se mais importante. Conceitos como reúso abstração, coesão, acoplamento, entre outros atributos de software têm sido usados como métricas de qualidade no domínio da engenharia de software. No entanto, elas não têm sido usadas no domínio do software embarcado. No desenvolvimento de sistemas embarcados outro conjunto de ferramentas é usado para estimar as propriedades físicas, tais como: consumo de energia, ocupação de memória e desempenho. Essas ferramentas geralmente envolvem custosos processos de síntese e simulação. Nos complexos dispositivos embarcados atuais deve-se confiar em ferramentas que possam ajudar na exploração do espaço de projeto ainda nos níveis mais altos de abstração, identificando a solução que representa a melhor estratégia de projeto em termos da qualidade de software, enquanto, simultaneamente, atenda aos requisitos físicos. Neste trabalho é apresentada uma análise da correlação entre métricas de qualidade de software, que podem ser extraídas antes do sistema ser sintetizado, e as métricas físicas do software embarcado. Usando uma rede neural nós investigamos o uso dessas correlações para predizer o impacto que uma determinada modificação no software trará às métricas físicas do mesmo software. Esta estimativa pode ser usada para guiar decisões em direção a melhoria das propriedades físicas dos sistemas embarcados, além de manter um equilíbrio em relação às métricas de software. / The complexity of embedded devices poses new challenges to embedded software development in addition to the traditional physical requirements. Therefore, the evaluation of the quality of embedded software and its impact on these traditional properties becomes increasingly relevant. Concepts such as reuse, abstraction, cohesion, coupling, and other software attributes have been used as quality metrics in the software engineering domain. However, they have not been used in the embedded software domain. In embedded systems development, another set of tools is used to estimate physical properties such as power consumption, memory footprint, and performance. These tools usually require costly synthesis-and-simulation design cycles. In current complex embedded devices, one must rely on tools that can help design space exploration at the highest possible level, identifying a solution that represents the best design strategy in terms of software quality, while simultaneously meeting physical requirements. We present an analysis of the cross-correlation between software quality metrics, which can be extracted before the final system is synthesized, and physical metrics for embedded software. Using a neural network, we investigate the use of these cross-correlations to predict the impact that a given modification on the software solution will have on embedded software physical metrics. This estimation can be used to guide design decisions towards improving physical properties of embedded systems, while maintaining an adequate trade-off regarding software quality.
|
3 |
Aplicação de métricas de software na predição de características físicas de software embarcado / Application of software quality metrics to predict physical characteristics of embedded systemsCorrêa, Ulisses Brisolara January 2011 (has links)
A complexidade dos dispositivos embarcados propõe novos desafios para o desenvolvimento de software embarcado, além das tradicionais restrições físicas. Então, a avaliação da qualidade do software embarcado e seu impacto nessas propriedades tradicionais torna-se mais importante. Conceitos como reúso abstração, coesão, acoplamento, entre outros atributos de software têm sido usados como métricas de qualidade no domínio da engenharia de software. No entanto, elas não têm sido usadas no domínio do software embarcado. No desenvolvimento de sistemas embarcados outro conjunto de ferramentas é usado para estimar as propriedades físicas, tais como: consumo de energia, ocupação de memória e desempenho. Essas ferramentas geralmente envolvem custosos processos de síntese e simulação. Nos complexos dispositivos embarcados atuais deve-se confiar em ferramentas que possam ajudar na exploração do espaço de projeto ainda nos níveis mais altos de abstração, identificando a solução que representa a melhor estratégia de projeto em termos da qualidade de software, enquanto, simultaneamente, atenda aos requisitos físicos. Neste trabalho é apresentada uma análise da correlação entre métricas de qualidade de software, que podem ser extraídas antes do sistema ser sintetizado, e as métricas físicas do software embarcado. Usando uma rede neural nós investigamos o uso dessas correlações para predizer o impacto que uma determinada modificação no software trará às métricas físicas do mesmo software. Esta estimativa pode ser usada para guiar decisões em direção a melhoria das propriedades físicas dos sistemas embarcados, além de manter um equilíbrio em relação às métricas de software. / The complexity of embedded devices poses new challenges to embedded software development in addition to the traditional physical requirements. Therefore, the evaluation of the quality of embedded software and its impact on these traditional properties becomes increasingly relevant. Concepts such as reuse, abstraction, cohesion, coupling, and other software attributes have been used as quality metrics in the software engineering domain. However, they have not been used in the embedded software domain. In embedded systems development, another set of tools is used to estimate physical properties such as power consumption, memory footprint, and performance. These tools usually require costly synthesis-and-simulation design cycles. In current complex embedded devices, one must rely on tools that can help design space exploration at the highest possible level, identifying a solution that represents the best design strategy in terms of software quality, while simultaneously meeting physical requirements. We present an analysis of the cross-correlation between software quality metrics, which can be extracted before the final system is synthesized, and physical metrics for embedded software. Using a neural network, we investigate the use of these cross-correlations to predict the impact that a given modification on the software solution will have on embedded software physical metrics. This estimation can be used to guide design decisions towards improving physical properties of embedded systems, while maintaining an adequate trade-off regarding software quality.
|
4 |
A Test Framework for Executing Model-Based Testing in Embedded SystemsIyenghar, Padma 25 September 2012 (has links)
Model Driven Development (MDD) and Model Based Testing (MBT) are gaining inroads individually for their application in embedded software engineering projects. However, their full-edged and integrated usage in real-life embedded software engineering projects (e.g. industrially relevant examples) and executing MBT in resource constrained embedded systems (e.g. 16 bit system/64 KiByte memory) are emerging fields.
Addressing the aforementioned gaps, this thesis proposes an integrated model-based approach and test framework for executing the model-based test cases, with minimal overhead, in embedded systems. Given a chosen System Under Test (SUT) and the system design model, a test framework generation algorithm generates the necessary artifacts (i.e., the test framework) for executing the model-based test cases. The main goal of the test framework is to enable test automation and test case execution at the host computer (which executes the test harness), thereby only the test input data is executed at the target. Significant overhead involved in interpreting the test data at the target is eliminated, as the test framework makes use of a target debugger (communication and decoding agent) on the host and a target monitor (software-based runtime monitoring routine) in the embedded system. In the prototype implementation of the proposed approach, corresponding (standardized) languages such as the Unified Modeling Language (UML) and the UML Testing Profile (UTP) are used for the MDD and MBT phases respectively. The applicability of the proposed approach is demonstrated using an experimental evaluation (of the prototype) in real-life examples.
The empirical results indicate that the total time spent for executing the test cases in the target (runtime-time complexity), comprises of only the time spent to decode the test input data by the target monitor and execute it in the embedded system. Similarly, the only memory requirement in the target for executing the model-based test cases in the target is that of the software-based target monitor. A quantitative comparison on the percentage change in the memory overhead (runtime-memory complexity) for the existing approach and the proposed approach indicates that the existing approach (e.g. in a MDD/MBT tool-Rhapsody), introduces approximately 150% to 350% increase in memory overhead for executing the test cases. On the other hand, in the proposed approach, the target monitor is independent of the number of test cases to be executed and their complexity. Hence, the percentage change in the memory overhead for the proposed approach shows a declining trend w.r.t the increasing code-size for equivalent application scenarios (approximately 17% to 2%).
Thus, the proposed test automation approach provides the essential benefit of executing model- based tests, without downloading the test harness in the target. It is demonstrated that it is feasible to execute the test cases specified at higher abstraction levels (e.g. using UML sequence diagrams) in resource constrained embedded systems and how this may be realized using the proposed approach. Further, as the proposed runtime monitoring mechanism is time and memory-aware, the overhead parameters can be accommodated in the earlier phases of the embedded software development cycle (if necessary) and the target monitor can be included in the final production code. The aforementioned advantages highlight the scalability, applicability, reliability and superiority of the proposed approach over the existing methodologies for executing the model-based test cases in embedded systems.
|
5 |
Model-Driven Code Generation of Safety MechanismsHuning, Lars 14 October 2022 (has links)
Safety-critical systems are systems in which failure may lead to serious harm for humans or the environment. Due to the nature of these systems, there exist regulatory standards that recommend a set of safety mechanisms that should be included in these systems, e.g., IEC 61508. However, these standards offer little to no implementation assistance for these mechanisms. This thesis provides such development assistance, by proposing an approach for the automatic generation of safety mechanisms via Model-Driven Development (MDD). Such an automation of previously manual activities has been known to increase developer productivity and to reduce the number of bugs in the implementation. In the context of safety-critical systems, the latter also means an improvement in safety. The approach introduces a novel way to define safety requirements as structured sentences. This structure allows for the automatic parsing of these requirements in order to subsequently generate software-implemented safety mechanisms, as well as to initially configure hardware-implemented safety mechanisms. The generation approach for software-implemented safety mechanisms uses Unified Modeling Language (UML) stereotypes to represent these mechanisms in the application model. Automated model-to-model transformations parse this model representation and realize the safety mechanisms within an intermediate model. From this intermediate model, code may be generated with simple 1:1 mappings. For the generation of hardware-implemented safety mechanisms, this thesis introduces a novel Graphical User Interface (GUI) tool for representing the configuration of hardware interfaces. A template-based code snippet repository is used for generating the code responsible for the configuration of the hardware-implemented safety mechanisms. The presented approach is validated by applying it to the development of a safety-critical fire detection application example. Furthermore, the runtime overhead of the respective transformation steps of the code generation process is measured. The results indicate a linear scalability and a runtime that is no impediment to the workflow of the developer. Furthermore, the memory and runtime overhead of the generated code is evaluated. The results show that the inclusion of a single safety mechanism for a single system element has a negligible overhead. However, the relative overhead indicates that the application of safety mechanisms should be limited to those system elements that are strictly safety-critical, as their arbitrary application to all system elements would have large effects on the runtime and memory usage of the application.
|
Page generated in 0.0872 seconds