ESQuMo an Embedded Software Quality Model

Embedded systems are increasingly used in our daily life due to their importance. They are computer platforms consisting of hardware and software. They run specific tasks to realize functional and non functional requirements. Several specific quality attributes were identified as relevant to the embedded system domain. However, the existent general quality models do not address clearly these specific quality attributes. Hence, the proposition of quality models which address the relevant quality attributes of embedded systems needs more attention and investigation. The major goal of this paper is to propose a new quality model (called ESQuMo for Embedded Software Quality Model) which provides a better understanding of quality in the context of embedded software. Besides, it focuses the light on the relevant attributes of the embedded software and addresses clearly the importance of these attributes. In fact, ESQuMo is based on the well-established ISO/IEC 25010 standard quality model.

Author(s):  
TAGHI M. KHOSHGOFTAAR ◽  
EDWARD B. ALLEN

Embedded-computer systems have become essential to life in modern society. For example, the backbone of society's information infrastructure is telecommunications. Embedded systems must have highly reliable software, so that we avoid the severe consequences of failures, intolerable down-time, and expensive repairs in remote locations. Moreover, today's fast-moving technology marketplace mandates that embedded systems evolve, resulting in multiple software releases embedded in multiple products. Software quality models can be valuable tools for software engineering of embedded systems, because some software-enhancement techniques are so expensive or time-consuming that it is not practical to apply them to all modules. Targeting such enhancement techniques is an effective way to reduce the likelihood of faults discovered in the field. Research has shown software metrics to be useful predictors of software faults. A software quality model is developed using measurements and fault data from a past release. The calibrated model is then applied to modules currently under development. Such models yield predictions on a module-by-module basis. This paper examines the Classification And Regression Trees (CART) algorithm for building tree-based models that predict which software modules have high risk of faults to be discovered during operations. CART is attractive because it emphasizes pruning to achieve robust models. This paper presents details on the CART algorithm in the context of software engineering of embedded systems. We illustrate this approach with a case study of four consecutive releases of software embedded in a large telecommunications system. The level of accuracy achieved in the case study would be useful to developers of an embedded system. The case study indicated that this model would continue to be useful over several releases as the system evolves.


Author(s):  
Anupama Surendran ◽  
Philip Samuel

Even though human beings are using computers in their day-to-day activities, the terms embedded and real-time systems have received much attention only in the last few years, and they have become an inevitable part of our daily activities. The most evident and highlighted feature of embedded systems is the consideration of time. The significance of time constraints in designing each and every feature of embedded systems has made the software and hardware of embedded systems more complicated and entirely different from ordinary systems. Due to these reasons, several challenges exist in developing and maintaining embedded and real time software. Increase in complexity of the embedded system code increases the chance of occurrence of defects in the embedded software. Failure to deliver the software within the stipulated time, economic constraints faced during the development and the maintenance phase, inadequate testing, design of improper code and its reuse are some of the issues faced during the embedded system software development phase. In this chapter, the authors suggest a knowledge-based approach in managing the issues that arise during the coding and testing phase of embedded and real-time software. Program slicing is used to detect the code clones present in the embedded software, and a knowledge repository of code clones is created. This code clone knowledge repository is utilized during the coding and testing phase of real-time and embedded software, which in turn improves the whole software development process.


Author(s):  
Zouheyr Tamrabet ◽  
Toufik Marir ◽  
Farid MOKHATI

This article describes how software quality engineering is an inevitable activity, which must be accomplished during software development process in order to avoid software failures and ensuring its quality. Embedded systems are computer platforms, which require high quality software. Many researchers interested in embedded systems have demonstrated that the quality of the embedded software has a significant effect on the performances of the entire system. In the literature, several works have been emerged from this line of research. The aim of this article is to present a survey of the most important works, which deal with embedded software quality engineering. A comparative study is also given in order to show strengths and weaknesses of each work.


2013 ◽  
Vol 373-375 ◽  
pp. 1612-1617
Author(s):  
Fatou Faye ◽  
Mbaye Sene

This paper summarizes works based on the reliability and the availability of embedded software architectures. Nowadays, the advent of the embedded systems has pulled the development of different domains (aeronautics, automobile, industry, medicines, telecommunications, household electrical appliances, so one so far). Indeed, the embedded system includes hardware and software that must collaborate to carry out well defined complex tasks. An embedded system is an integration of heterogeneous components (components of the computing and the electronics). Indeed, the implementation of the embedded systems presents some constraints which can be, for example the system cost, energy consummation, speed of execution, reliability, availability, security ...However, among these constraints enumerated briefly, the reliability and the availability of the software architecture of these systems are the object of complete study in this article.


Author(s):  
Ronaldo Ferreira ◽  
Lisane Brisolara ◽  
Julio C.B. Mattos ◽  
Emilena Spech ◽  
Erika Cota

Since 1965, with Moore’s law statement, industry is continually aggregating complex services into their products, enhancing people’s life quality with decreasing prices. Despite the advances towards hardware integration, current electronic products are relying even more on software to offer distinguished functionalities to users. Hence, the embedded system industry is facing a paradigm shift from its old fashioned hardware driven development to a strong software based one, exposing to the embedded systems domain unforeseen software design challenges. Indeed, this domain must devise its own and very specialized software engineering techniques, in order to achieve sustainable market growth with quality in the scheduled time. Embedded software is distinct from the standard one, fundamentally in the sense that its development is driven by physical properties such as memory footprint and energy consumption. Furthermore, embedded systems are developed within a very tight time-to-market window, pushing design and development practices to their limit. In this chapter, we discuss the use of software specifications at higher abstraction levels and the need to provide tools for software automation, because reliability and safety are important criteria present in several embedded applications, as well as time-to-market. This chapter discusses the design flow for embedded software, from its modeling to its deployment in the embedded platform.


2020 ◽  
Vol 1 (1) ◽  
pp. 46-55
Author(s):  
G.L. Saini ◽  
Deepak Panwar

Software Quality Models are a structured software product assessment method. With the rising fashion in software production, new applications are being designed and created daily. This inevitably gives an increase to the need to ensure that the product so constructed meets at least the intended expectations. The software engineering literature includes numerous quality models and each software quality model consisting of various quality attributes or factors or characteristics as some models call them. These quality attributes can be viewed from this feature's perspective to describe the software component or product's quality. A real challenge is to identify which Quality Models to use. The following quality models' content will be presented in this paper by the researcher: McCall's Quality Model, Dromey's Quality Model, Boehm's Quality Model, FURPS Quality Model, and ISO 9126.


Author(s):  
Zouheyr Tamrabet ◽  
Toufik Marir ◽  
Farid MOKHATI

This article describes how software quality engineering is an inevitable activity, which must be accomplished during software development process in order to avoid software failures and ensuring its quality. Embedded systems are computer platforms, which require high quality software. Many researchers interested in embedded systems have demonstrated that the quality of the embedded software has a significant effect on the performances of the entire system. In the literature, several works have been emerged from this line of research. The aim of this article is to present a survey of the most important works, which deal with embedded software quality engineering. A comparative study is also given in order to show strengths and weaknesses of each work.


Electronics ◽  
2021 ◽  
Vol 10 (4) ◽  
pp. 469
Author(s):  
Hyun Woo Oh ◽  
Ji Kwang Kim ◽  
Gwan Beom Hwang ◽  
Seung Eun Lee

Recently, advances in technology have enabled embedded systems to be adopted for a variety of applications. Some of these applications require real-time 2D graphics processing running on limited design specifications such as low power consumption and a small area. In order to satisfy such conditions, including a specific 2D graphics accelerator in the embedded system is an effective method. This method reduces the workload of the processor in the embedded system by exploiting the accelerator. The accelerator assists the system to perform 2D graphics processing in real-time. Therefore, a variety of applications that require 2D graphics processing can be implemented with an embedded processor. In this paper, we present a 2D graphics accelerator for tiny embedded systems. The accelerator includes an optimized line-drawing operation based on Bresenham’s algorithm. The optimized operation enables the accelerator to deal with various kinds of 2D graphics processing and to perform the line-drawing instead of the system processor. Moreover, the accelerator also distributes the workload of the processor core by removing the need for the core to access the frame buffer memory. We measure the performance of the accelerator by implementing the processor, including the accelerator, on a field-programmable gate array (FPGA), and ascertaining the possibility of realization by synthesizing using the 180 nm CMOS process.


Author(s):  
Jakob Axelsson

Many industries rely heavily on embedded software and systems to maximize business value in their products. These systems are very complex, and the architecture is important to control the complexity and make development efficient. There are often also connections between the embedded system and the different lifecycle processes, and hence, to the enterprise systems supporting those processes. It is rare to start from scratch when developing new products, and instead, these companies evolve their products over time, which means that architecting needs to be evolutionary. This chapter describes what such an evolutionary architecting process can look like based on observations from industry, and how the process can be continuously improved using a maturity model. It is also presented how the embedded system relates to different elements of the enterprise architecture.


Author(s):  
Kelvin Kabeti Omieno

The enterprise resource planning (ERP) system is a complex and comprehensive software that integrates various enterprise functions and resources. Although ERP systems have been depicted as a solution in many organizations, there are many negative reports on ERP success, benefits, and effect on user performance. Previous research noted that there is a lack of knowledge and awareness of ERP systems and their overall value to ERP organizations. ERP systems have been widely studied during the past decade; yet they often fail to deliver the intended benefits originally expected. One notable reason for their failures is the lack of understanding in user requirements. There are many studies conducted to propose software quality models with their quality characteristics. However, there is currently no dedicated software quality model that can describe usability maturity and involve new features of ERP systems. This chapter proposes a framework for evaluating the usability maturity as a quality attribute of ERP systems.


Sign in / Sign up

Export Citation Format

Share Document