Engineering Embedded Software

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.

Author(s):  
Lisane Brisolara de Brisolara ◽  
Marcio Eduardo Kreutz ◽  
Luigi Carro

This chapter covers the use of UML as a modeling language for embedded systems design. It introduces the UML language, presenting the history of its definition, its main diagrams and characteristics. Using a case study, we show that using the standard UML with its limitations one is not able to model many important characteristics of embedded systems. For that reason, UML provides extension mechanisms that enable one to extend the language for a given domain, through the definition of profiles covering domain-specific applications. Several profiles have been proposed for the embedded systems domain, and some of those that have been standardized by OMG are presented here. A case study is also used to present MARTE, a new profile specifically proposed for the embedded system domain, enabling designers to model aspects like performance and schedulability. This chapter also presents a discussion about the effort to generate code from UML diagrams and analyses the open issues to the successful use of UML in the whole embedded system design flow.


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.


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.


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.


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):  
Christos Baloukas ◽  
Marijn Temmerman ◽  
Anne Keller ◽  
Stylianos Mamagkakis ◽  
Francky Catthoor ◽  
...  

An embedded system is a special-purpose system that performs predefined tasks, usually with very specific requirements. Since the system is dedicated to a specific task, design engineers can optimize it by exploiting very specialized knowledge, deriving an optimally customized system. Low energy consumption and high performance are both valid optimization targets to increase the value and mobility of the final system. Traditionally, conceptual embedded software models are built irrespectively of the underlying hardware platform, whereas embedded-system specialists typically start their optimization crusade from the executable code. This practice results in suboptimal implementations on the embedded platform because at the source-code level not all the inefficiencies introduced at the modelling level can be removed. In this book chapter, we describe both novel UML transformations at the modelling level and C/C++ transformations at the software implementation level. The transformations at both design abstraction levels target the data types of dynamic embedded software applications and provide optimizations guided by the relevant cost factors. Using a real life case study, we show how our transformations result in significant improvement in memory footprint, performance and energy consumption with respect to the initial implementation. Moreover, thanks to our holistic approach, we are able to identify new and non-trivial solutions that could hardly be found with the traditional design methods.


Author(s):  
Sasi Bhanu Jammalamadaka ◽  
Vinaya Babu A ◽  
Trimurthy A

<p>Embedded systems that monitor and control safety and mission critical system are communicated with by a HOST located at a remote location through Internet. Such kind of embedded systems are developed to be dynamically evolvable with respect to syntax, semantics, online testing and communication subsystems. All these systems are to be dynamically evolvable and the components needed for evolution are also to be added into the embedded system. Architectural  models describe  various components using which dynamically evolvable sub-systems are realised through implementation by using specific and related technologies. Implementation system describe the platform, code units and the interlacing of various processes/tasks to the elementary level of details. WEB services place an excellent platform for implementing dynamically evolvable  systems due to the use of open standards.</p><p> </p><p>This paper presents an implementation system that is related to dynamically evolvable communication and other sub-systems using web services technologies.</p>


Author(s):  
Erik Persson ◽  
Ha˚kan Gustavsson

This article discusses the resource utilization of embedded systems in the automotive industry. Traditionally, the major cost driver — or resource input — has been regarded as the hardware cost. Issues such as software development costs and maintenance costs have historically been neglected. In order to address this, the article embraces the more comprehensive view on resources that a resource can be regarded as anything which could be thought of as a strength or weakness of a given firm. In this article the major drivers of resource consumption are identified. The work has also included several interviews with employees in order to find empirical data of the embedded systems in vehicles. This paper proposes a method to evaluate the resource efficiency of user functions implemented through the embedded system. By the use of Data Envelopment Analysis — which has proven to be a useful method — the resource utilization of six user functions is evaluated. Future work of particular interest would be to perform a more extensive case study.


2011 ◽  
Vol 267 ◽  
pp. 98-103
Author(s):  
Chi Pin Wei ◽  
Zhao Lin Li ◽  
Hao Liu ◽  
Zhi Xiang Chen

Embedded systems with digital signal processor (DSP) become more and more popular for the increasing requirement of supercomputing these days. Efficient development of DSP serials used in embedded systems shortens the embedded system R&D cycle. Functional verification is one of the most complex and expensive tasks during DSP serials design process. A random test platform which is urged for DSP serials verification is proposed in this paper. The platform can automatically generate the random test program. The platform also realized the recording and checking of simulation results, which make the verification more effective. In order to improve the efficiency of DSP verification, a testing experience library has been generated through the testing procedure. This platform can be transplanted for different DSP models easily by updating few modules. According to the verification results, this platform has satisfactory coverage of DSP models.


Sign in / Sign up

Export Citation Format

Share Document