Knowledge-Based Code Clone Approach in Embedded and Real-Time Systems

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.

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.


2018 ◽  
pp. 94-101
Author(s):  
Dmytro Fedasyuk ◽  
Tetyana Marusenkova ◽  
Ratybor Chopey

The work deals with a significant problem of ensuring that the execution time of a firmware running inside a microcontroller-based real-time embedded system never goes out of its expected range, no matter for how long the embedded system has been used. Once having been tested before the first usage, a newly created embedded system is gradually getting slower in its response, due to the fact that its hardware components get worn-out with aging. A possible solution is a replacement of the hardware components that most contribute to such a change in the response time of the embedded system. If such a replacement takes place too far in advance, long before hardware components actually start showing any decline in their response time, the above-mentioned solution is cost-ineffective and impractical, as it leads to a waste of equipment and efforts. We introduce a method for predicting the appropriate maintenance period of a real-time embedded system on the basis of the characteristics of its hardware components.


2021 ◽  
Vol 11 (16) ◽  
pp. 7465
Author(s):  
Sabeen Masood ◽  
Shoab Ahmed Khan ◽  
Ali Hassan ◽  
Urooj Fatima

Recent years has seen a tremendous increase in processing requirements of present-day embedded system applications. Embedded systems consist of multiple processing elements (PEs) connected to each other using different types of interfaces. Many complicated tasks are accomplished by embedded systems in varied settings, which may introduce errors during inter-processor communication. Testing such systems is tremendously difficult and challenging from testing non-real time systems. A major part of testing real time embedded systems involves ensuring accuracy and timing in synchronous inter-process communication More specifically, the synchronization and inter-processor communication of real-time applications makes testing a challenging task and due to the demand for higher data rate increases, day-by-day, making testing of such systems even more complex. This paper presents a novel frame work that uses multiple instances of simulators with physical high-speed serial interfaces to emulate any real time embedded system communication. The framework presents a testing technique that detects all faults related to synchronization of high-speed synchronous serial interfaces in a systematic manner. The novelty of our approach is to simulate communication across multiple processors in a simulation environment for detecting and localizing bugs. We verify this framework using a case study consisting of an embedded software defined radio (SDR) system. The test results show the applicability of our approach in fixing bugs that relates to synchronization issues that otherwise are very hard to find and fix in very complicated systems, such as SDR.


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.


2018 ◽  
Vol 176 ◽  
pp. 01025
Author(s):  
Han Zhuangzhi ◽  
Ma Tianlin

For embedded systems, there are two cases of using an operating system and not using an operating system. When the real-time task is accomplished by the embedded system of the operating system, the task needs to meet certain conditions and occupy part of the processor's resources. Therefore, based on the method of event interruption, timed interruption and task decomposition, the real-time performance of the completion of the task of the embedded system is achieved. Finally, an embedded radar track compression scheduling algorithm is designed. It is proved through experiment that the track data can be compressed and transmitted in real time.


2012 ◽  
Vol 263-266 ◽  
pp. 1694-1699
Author(s):  
Song Yang Du ◽  
Hua Yang ◽  
Ying Zhang ◽  
Zhong Wei Chen

The limitation of traditional testing tools makes it difficult to test the software of embedded system--the resource insufficiency of the embedded system as well as the strict requirement of real-time all contribute to the unavailability of the normal method for software testing. This document introduced a method about testing of embedded software, which based on code coverage and variable watching by using the software of Testbed and RTInsight. By using this method, it’s effective to validate the software testing of embedded system.


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.


Symmetry ◽  
2020 ◽  
Vol 12 (4) ◽  
pp. 592 ◽  
Author(s):  
Ioan Ungurean

In automatic systems used in the control and monitoring of industrial processes, fieldbuses with specific real-time requirements are used. Often, the sensors are connected to these fieldbuses through embedded systems, which also have real-time features specific to the industrial environment in which it operates. The embedded operating systems are very important in the design and development of embedded systems. A distinct class of these operating systems is real-time operating systems (RTOSs) that can be used to develop embedded systems, which have hard and/or soft real-time requirements on small microcontrollers (MCUs). RTOSs offer the basic support for developing embedded systems with applicability in a wide range of fields such as data acquisition, internet of things, data compression, pattern recognition, diversity, similarity, symmetry, and so on. The RTOSs provide basic services for multitasking applications with deterministic behavior on MCUs. The services provided by the RTOSs are task management and inter-task synchronization and communication. The selection of the RTOS is very important in the development of the embedded system with real-time requirements and it must be based on the latency in the handling of the critical operations triggered by internal or external events, predictability/determinism in the execution of the RTOS primitives, license costs, and memory footprint. In this paper, we measured and compared the timing performance for synchronization throughout an event, semaphore, and mailbox for the following RTOSs: FreeRTOS 9.0.0, FreeRTOS 10.2.0, rt-thread, Keil RTX, uC/OS-II, and uC/OS-III. For the experimental tests, we developed test applications for two MCUs: ARM Cortex™-M4 and ARM Cortex™-M0+ based MCUs.


Electronics ◽  
2020 ◽  
Vol 10 (1) ◽  
pp. 13
Author(s):  
Balaji M ◽  
Chandrasekaran M ◽  
Vaithiyanathan Dhandapani

A Novel Rail-Network Hardware with simulation facilities is presented in this paper. The hardware is designed to facilitate the learning of application-oriented, logical, real-time programming in an embedded system environment. The platform enables the creation of multiple unique programming scenarios with variability in complexity without any hardware changes. Prior experimental hardware comes with static programming facilities that focus the students’ learning on hardware features and programming basics, leaving them ill-equipped to take up practical applications with more real-time constraints. This hardware complements and completes their learning to help them program real-world embedded systems. The hardware uses LEDs to simulate the movement of trains in a network. The network has train stations, intersections and parking slots where the train movements can be controlled by using a 16-bit Renesas RL78/G13 microcontroller. Additionally, simulating facilities are provided to enable the students to navigate the trains by manual controls using switches and indicators. This helps them get an easy understanding of train navigation functions before taking up programming. The students start with simple tasks and gradually progress to more complicated ones with real-time constraints, on their own. During training, students’ learning outcomes are evaluated by obtaining their feedback and conducting a test at the end to measure their knowledge acquisition during the training. Students’ Knowledge Enhancement Index is originated to measure the knowledge acquired by the students. It is observed that 87% of students have successfully enhanced their knowledge undergoing training with this rail-network simulator.


Sign in / Sign up

Export Citation Format

Share Document