{"title":"Automated Testing Framework for Embedded Component Systems","authors":"H. Tomimori, Hiroshi Oyama, Takuya Azumi","doi":"10.1109/ISORC58943.2023.00032","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00032","url":null,"abstract":"Embedded systems in equipment have recently become larger and more complex. To solve these problems and improve development efficiency, a Component-Based Development (CBD) method could be used to divide the system into components. However, CBD presents challenges in system testing, such as an increase in the number of test objects and occurrence of failures in team development. To address these issues, a development method called Continuous Integration (CI) is sometimes used, which automatically performs building, and testing. This paper proposes a CI framework for automated testing that can be used for embedded components. In addition to automated testing, the proposed framework can perform line coverage measurement and display, Boundary Value Testing, and Equivalence Partitioning Testing. Furthermore, the evaluation of the proposed framework yielded the following contributions: Automated Workflow, Automated Code Generation, and Line Coverage Measurement","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"273 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133210581","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"RD-Gen: Random DAG Generator Considering Multi-rate Applications for Reproducible Scheduling Evaluation","authors":"Atsushi Yano, Takuya Azumi","doi":"10.1109/ISORC58943.2023.00015","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00015","url":null,"abstract":"Real-time systems have various requirements such as the deadline and resource constraints. In addition, real-time systems are becoming larger and more complex, and studies on performance analysis and efficient scheduling algorithms are becoming increasingly important. Directed acyclic graph (DAG) models, which can express task dependencies and parallelism, are used for such studies. Random DAG sets are used to demonstrate the effectiveness and objectivity of methods proposed for real-time systems. However, there is no random DAG generation tool available that can generate a DAG set that considers the latest multi-rate applications. Therefore, researchers need to generate random DAG sets on their own, leading to additional effort and reduced reliability and reproducibility. To solve this problem, we propose a random DAG generator considering multi-rate applications for reproducible scheduling evaluation (RD-Gen). RD-Gen also enables batch generation of random DAG sets with different parameters. Case studies are used to demonstrate that RD-Gen can manage various problem settings and DAG study requirements.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126308530","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Robust Scheduling Algorithm for Overload-Tolerant Real-Time Systems","authors":"Amin Avan, Akramul Azim, Q. Mahmoud","doi":"10.1109/ISORC58943.2023.00013","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00013","url":null,"abstract":"A real-time system is overloaded when all the tasks in a workload cannot meet their deadlines, and hence a robust algorithm is essential to maximize the number of tasks that meet their deadlines with the minimum number of miss rates and context switching. Although the Rate Monotonic (RM), Earliest Deadline First (EDF), and Least Laxity First (LLF) algorithms optimally perform and schedule tasks on a non-overloaded system, they have deficient performance when the system is overloaded. Therefore, we propose a new scheduling algorithm for uniprocessor and partitioned multiprocessor systems to address the overload situation. Since the proposed scheduling algorithm operates like EDF non-overloaded conditions, the proposed algorithm is optimal for non-overloaded systems. In addition, the proposed algorithm is robust against overloading situations as it executes the maximum possible tasks in the overload situation instead of missing deadlines of many tasks or burdening context switching to the system. The proposed algorithm allocates a processor to tasks based on the possibility of executing the task. The experimental results demonstrate that the proposed scheduling algorithm maximizes the number of tasks that meet their deadlines in overload conditions without a domino effect and context switching. In addition, the proposed algorithm achieves the lowest miss rate without context switching and the highest efficiency and processor utilization in the overloaded system compared with RM, EDF, and LLF.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115824103","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
H. N. Srikanth, D. S. Reddy, D. Sonkar, Ronit Kumar, P. Rajalakshmi
{"title":"Pothole Detection for Autonomous Vehicles in Indian Scenarios using Deep Learning","authors":"H. N. Srikanth, D. S. Reddy, D. Sonkar, Ronit Kumar, P. Rajalakshmi","doi":"10.1109/ISORC58943.2023.00033","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00033","url":null,"abstract":"The Ministry of Road Transport and Highways of India reported that 4,775 and 3,564 road crashes in 2019 and 2020 were due to potholes. Autonomous vehicles are expected to revolutionize transportation in India, but their safe operation depends on effectively detecting potholes. Potholes are typically treated as static objects from the perspective of an autonomous vehicle, and they pose a danger to road commuters, particularly at high speeds. They usually develop during rainy seasons or continuous usage of roads by heavy vehicles like trucks. Over the years, with the advancement of image processing and deep learning, it has become feasible to detect potholes. Plenty of research was done, and several methods were proposed for pothole detection. The work proposed in this paper is improvement along those lines. Besides improving the detection accuracies, we implemented our models on an autonomous testing vehicle. Testing models in real-time made us encounter several bottlenecks in developing an end-to-end solution for pothole detection. Our approach uses Faster Region-based Convolutional Neural Network (FRCNN), and You Only Look Once (YOLOv5) object detection algorithms, which yielded noticeable results after thorough experimentation.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123944771","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Evan Wang, Yogesh D. Barve, A. Gokhale, Hongyang Sun
{"title":"Dynamic Resource Management for Cloud-native Bulk Synchronous Parallel Applications","authors":"Evan Wang, Yogesh D. Barve, A. Gokhale, Hongyang Sun","doi":"10.1109/ISORC58943.2023.00028","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00028","url":null,"abstract":"Many traditional high-performance computing applications including those that follow the Bulk Synchronous Parallel (BSP) communication paradigm are increasingly being deployed in cloud-native virtualized and multi-tenant container clusters. However, such a shared, virtualized platform limits the degree of control that BSP applications can have in effectively allocating resources. This can adversely impact their performance, particularly when stragglers manifest in individual BSP supersteps. Existing BSP resource management solutions assume the same execution time for individual tasks at every superstep, which is not always the case. To address these limitations, we present a dynamic resource management middleware for cloud-native BSP applications comprising a heuristics algorithm that determines effective resource configurations across multiple supersteps while considering dynamic workloads per superstep, and trading off performance improvements with reconfiguration costs. Moreover, we design dynamic programming and reinforcement learning approaches that can be used as pluggable strategies to determine whether and when to enforce a reconfiguration. Empirical evaluations of our solution show between 10% and 25% improvement in performance over a baseline static approach even in the presence of reconfiguration penalty.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122891541","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Container System and Communication Reactivity in a Real-Time Embedded Environment","authors":"Wilhelm Rosinski, Lukas Stahlbock, Falk Langer","doi":"10.1109/ISORC58943.2023.00027","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00027","url":null,"abstract":"In the field of embedded systems, containers are often understood as an additional burden and would also affect their reactivity. With respect to this assumption, we provide measurement results that strongly support the use of containers for real-time applications. This work examines the use of docker containers in systems, that must work under hard deadlines, in terms of their reactivity related to timer events and external signals. For this purpose, measurements for time-critical handling of interrupts and events are performed directly on an embedded platform, which made it necessary to develop a corresponding novel measuring method. Finally, we were able to determine that the same requirements for the reactivity of an embedded system could be met in a docker container if they could also be ensured for applications native on the host system.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126753523","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Distributed Cyber Physical Systems Software Model Checking using Timed Automata","authors":"Purboday Ghosh, G. Karsai","doi":"10.1109/ISORC58943.2023.00030","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00030","url":null,"abstract":"Formal validation of the design and properties of distributed software entities for Cyber Physical Systems (CPS) is challenging due to the non-linear sequence of operations and multiple possible inter-leavings of events and processes. Current model-checking tools are more suited to represent independent systems or pieces of code that are self-contained and rarely consider interactions between different participants of a composite distributed software application. This paper introduces an automated model generation tool for distributed CPS software applications written in a software framework called RIAPS. The tool combines the application model, edge deployment architecture, and individual component level source code annotated with user-supplied timing parameters to produce a network of Timed Automata models compatible with the popular model checker UPPAAL. The generated model can then be verified using UPPAAL’s formal verification engine. The article uses a simple distributed application example CPS to demonstrate how the tool can be used to verify and compare the design and timing of different deployment configurations.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128492487","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Compiler-Directed Constant Execution Time on Flat Memory Systems","authors":"Emad Jacob Maroun, Martin Schoeberl, P. Puschner","doi":"10.1109/ISORC58943.2023.00019","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00019","url":null,"abstract":"Time predictability is a central requirement for real-time systems. The correct behavior of such a system can only be achieved if the results of programs are ready in time to affect the environment. Execution times of modern systems can vary for many reasons, meaning complex analyses must be performed to ensure that the execution time is bounded and that a task always finishes before its deadline. Care must also be taken to ensure that nefarious actors do not exploit the varying execution time to compromise the system’s integrity. Avoiding variable execution times can greatly simplify systems, is inherently more secure, and eliminates the need for complex analyses. In this paper, we first argue for the value of having programs with constant execution times. We then show how the memory system around a processing core can affect execution times even on systems without intermediate storage like caches or scratch-pads. We present automatic compiler techniques for generating constant execution time programs and evaluate their implementation on the Patmos architecture. We show that combining our two compensation techniques is generally superior to either on their own. We compare the performance of our implementation to the estimates produced by the Platin worst-case execution time analyzer. While our implementation significantly impacts performance, it is generally manageable and has the potential for comparable execution times.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121884601","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Bahar Houtan, Mehmet Onur Aybek, M. Ashjaei, M. Daneshtalab, Mikael Sjödin, John Lundbäck, S. Mubeen
{"title":"End-to-end Timing Modeling and Analysis of TSN in Component-Based Vehicular Software","authors":"Bahar Houtan, Mehmet Onur Aybek, M. Ashjaei, M. Daneshtalab, Mikael Sjödin, John Lundbäck, S. Mubeen","doi":"10.1109/ISORC58943.2023.00025","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00025","url":null,"abstract":"In this paper, we present an end-to-end timing model to capture timing information from software architectures of distributed embedded systems that use network communication based on the Time-Sensitive Networking (TSN) standards. Such a model is required as an input to perform end-to-end timing analysis of these systems. Furthermore, we present a methodology that aims at automated extraction of instances of the end-to-end timing model from component-based software architectures of the systems and the TSN network configurations. As a proof of concept, we implement the proposed end-to-end timing model and the extraction methodology in the Rubus Component Model (RCM) and its tool chain Rubus-ICE that are used in the vehicle industry. We demonstrate the usability of the proposed model and methodology by modeling a vehicular industrial use case and performing its timing analysis.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128965711","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Shared Resource Orchestration Extensions for Kubernetes to Support Real-Time Cloud Containers","authors":"Gabriele Monaco, Gautam Gala, G. Fohler","doi":"10.1109/ISORC58943.2023.00022","DOIUrl":"https://doi.org/10.1109/ISORC58943.2023.00022","url":null,"abstract":"The improvements in network latency and the advent of Edge computing have inspired industries to explore providing Real-time (RT) applications as cloud-based services and benefit from the availability, scalability, and efficient hardware resource utilization of clouds. It is crucial to improve the entire stack, including the applications’ containerization, container deployment, and orchestration across nodes to host RT applications in the cloud. However, state-of-the-art container orchestrators, e.g., Kubernetes (K8s), and the underlying Linux and containerization layer ignore orchestration and management of shared resources (e.g., memory bandwidth, cache); thus, rendering them unsuitable for RT use cases due unpredictability as a result of shared resource contention. We propose K8s extensions inspired by existing RT resource management frameworks to the underlying Linux kernel and containerization layer of each node for shared resource monitoring to help K8s maintain a cloud-wide view and allocate and dynamically orchestrate shared resources to enforce the guarantees required by the RT containers. Additionally, as a proof-of-concept, we design and implement (1) new K8s shared resource orchestration extensions to support memory bandwidth and last-level cache allocation and (2) a shared-resource controller in Linux based on a new algorithm to combine approximate but throttling-free memory bandwidth allocation by simple and efficient hardware controllers (e.g., Intel MBA) together with strict but pessimistic guarantees offered by software budget allocation and throttling (e.g., Memguard). We performed experiments to evaluate and demonstrate the newly implemented extensions on server-grade hardware.","PeriodicalId":281426,"journal":{"name":"2023 IEEE 26th International Symposium on Real-Time Distributed Computing (ISORC)","volume":"423 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132216319","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}