Proceedings of OSPERT 2017

Total Page:16

File Type:pdf, Size:1020Kb

Proceedings of OSPERT 2017 PROCEEDINGS OF OSPERT 2017 the 13th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications June 27th, 2017 in Duprovnik, Kings Landing, Croatia in conjunction with the 29th Euromicro Conference on Real-Time Systems June 27–30, 2017, Duprovnik, Croatia Editors: Marcus VOLP¨ Heechul YUN Contents Message from the Chairs 3 Program Committee 3 Keynote Talks 5 Session 1: The thing called RTOS7 Shared Resource Partitioning in an RTOS Eunji Pak, Donghyouk Lim, Young-Mok Ha and Taeho Kim ...................7 Look Mum, no VM Exits! (Almost) Ralf Ramsauer, Jan Kiszka, Daniel Lohmann and Wolfgang Mauerer .............. 13 Predictable Low-Latency Interrupt Response with General-Purpose Systems Adam Lackorzynski, Carsten Weinhold and Hermann Hartig¨ .................. 19 Migration of Components and Processes as means for dynamic Reconfiguration in Distributed Embed- ded Real-Time Operating Systems Sebastian Eckl, Daniel Krefft and Uwe Baumgarten ....................... 25 Session 2: Memory and the other thing 29 Network and Memory Bandwidth Regulation in a Soft Real-Time Healthcare Application Miltos Grammatikakis, George Tsamis, Polydoros Petrakis, Angelos Mouzakitis and Marcello Coppola .............................................. 29 Hypervisor Feedback Control of Mixed Critical Systems: the XtratuM Approach Alfons Crespo, Angel Soriano, Patricia Balbastre, Javier Coronel, Daniel Gracia and Philippe Bonnot ............................................... 35 A Co-Designed RTOS and MCU Concept for Dynamically Composed Embedded Systems Renata Martins Gomes, Marcel Baunach, Maja Malenko, Leandro Batista Ribeiro and Fabian Mauroner ............................................. 41 Inferring the Scheduling Policies of an Embedded CUDA GPU Nathan Otterness, Ming Yang, Tanya Amert, James Anderson and F. Donelson Smith ..... 47 Session 3: Oh no, I got synch’ed 53 Implementation and Evaluation of Multiprocessor Resource Synchronization Protocol (MrsP) on LITMUSRT Junjie Shi, Kuan-Hsun Chen, Shuai Zhao, Wen-Hung Huang, Jian-Jia Chen and Andy Wellings 53 What are you Waiting for – Removing Blocking Time from High Priority Jobs through Hardware Transactional Memory Benjamin Engel and Claude-Joachim Hamann .......................... 59 Program 66 © Copyright 2017 University of Luxembourg. All rights reserved. The copyright of this collection is with University of Luxembourg. The copyright of the individual articles remains with their authors. Message from the Chairs Welcome to Duprovnik, Croatia, welcome to Kings Landing, and welcome to OSPERT’17, the 13th annual workshop on Operating Systems Platforms for Embedded Real-Time Applications. We invite you to join us in participating in a workshop of lively discussions, exchanging ideas about systems issues related to real-time and embedded systems. The workshop received a total of thirteen submissions, one of which was in the short-paper format. All papers were peer-reviewed and ten papers were finally accepted. Each paper received four individual reviews. The papers will be presented in three sessions. The first session includes four papers on real-time operating systems. Four interesting papers on memory and feedback control will be presented in Session 2, while the third session will present three compelling papers addressing topics in synchonization. This year, we have two interesting keynotes by Dr. Moritz Neukirchner and Prof. Dr. Sergio Montenegro. Moritz will share with us his insights on the future of the automotive software infrastructure whereas Sergio will take us into space to tell us about space vehicles and how they are programmed. OSPERT’17 would not have been possible without the support of many people. The first thanks are due to Martina Maggio, Marko Bertogna and Gerhard Fohler and the ECRTS steering committee for entrusting us with organizing OSPERT’17, and for their continued support of the workshop. We would also like to thank the chairs of prior editions of the workshop who shaped OSPERT and let it grow into the successful event that it is today. Our special thanks go to the program committee, a team of twelf experts from six different countries, for volunteering their time and effort to provide useful feedback to the authors, and of course to all the authors for their contributions and hard work. Last, but not least, we thank you, the audience, for your participation. Through your stimulating questions and lively interest you help to define and improve OSPERT. We hope you will enjoy this day. The Workshop Chairs, Marcus Volp¨ Heechul Yun University of Luxembourg University of Kansas Luxembourg USA Program Committee Andrea Bastoni, SYSGO AG Reinder J. Bril, Eindhoven University of Technology Aaron Carroll Apple Juri Lelli ARM Shinpei Kato Nagoya University Hyoseung Kim University of California Riverside Guiseppe Lipari Scuola Superiore Sant’Anna Daniel Lohmann Leibniz Universitat¨ Hannover Mitra Nasri MPI Software Systems KyoungSoo Park KAIST Harini Ramaprasad UNC Charlotte Rich West Boston University 3 Keynote Talks The Future of Automotive Software Infrastructure – Building adaptive dependable systems Dr. Moritz Neukirchner Elektrobit Automotive GmbH The automotive industry is undergoing significant change in the way software is structured, developed and maintained throughout its lifecycle. The industry trends of autonomous driving, of open connectivity and of electrification of vehicles call for platforms that provide enhanced compute power at lower hardware complexity, while ensuring safe and secure operation and providing capabilities to easily and remotely change software after deployment of the vehicle. This talk gives an overview of software architectures for next-generation vehicles that enable adaptive and dependable software systems. Dr. Moritz Neukirchner is a senior expert and lead architect for the AutoCore (Classic AUTOSAR) and AdaptiveCore (Adaptive AUTOSAR) development at Elektrobit Automotive GmbH. His responsibilities include the definition of overall architectural concepts for in-vehicle software infrastructure. He received his Diploma and Ph.D. (both with distinction) in electrical engineering from the Technische Universitat¨ Braunschweig working in timing analysis and runtime support for safety-critical real-time systems. How to program space vehicles? Make it simple! Prof. Sergio Montenegro Aerospace Information Technology, Universitat¨ Wurzburg¨ Prof. Montenegro has coordinated over 100 research projects in Fraunhofer Institute FIRST, he has headed the Department for Avionics Systems of the DLR Institute for Space Systems in Bremen and now holds the chair of Aerospace Information Technology at University of Wurzburg.¨ His research interests include dependable real- time distributed control systems, specially for aerospace applications. His group has developed and maintains the real time operating system RODOS, including its Middleware, which provides transparent communication between software and hardware modules (It is implemented in hardware too), between modules running in the same computer, or on different computers in the same satellite/UAV, or between modules (applications) running on different satellites/UAVs and even between satellites/UAVs applications and ground segment applications. RODOS is already running on several satellites and UAVs now in orbit and some others which will fly soon. Now Prof. Montenegro and his group is moving the same concepts to drones (UAVs) and networks of UAVs and even to under water autonomous vehicles and for Beehives monitorig. 5 Shared Resource Partitioning in an RTOS Eunji Pak∗ Donghyouk Lim‡ Young-Mok Ha∗ Taeho Kim∗ Electronics and Telecommunications Research Institute (ETRI) pakeunji, ymha, taehokim @etri.re.kr ∗ { } ‡ RTST [email protected] Abstract—This paper presents a comprehensive shared re- II. BACKGROUND source partitioning implementation on an real-time operating system (RTOS), Qplus-AIR. We also report the challenges when A. Qplus-AIR integrating multiple resource partitioning mechanisms and con- sideration while implementing those mechanisms on an RTOS Qplus-AIR [12] is a ARINC653 compliant RTOS, devel- that has a different structure from general-purpose operating oped by ETRI and commercialized by its spin-off company systems. With the support of resource isolation of the RTOS, we can host multiple applications simultaneously on a single system RTST, for safety-critical systems. It has a certifiable package without considering the mutual influences among the applications for DO-178B level A, the highest design assurance level for and timing variability caused by shared resource contention. avionics safety. Qplus-AIR complies with ARINC653 [1], the avionics software runtime specification that requires spatial and tem- I. INTRODUCTION poral isolation between simultaneously executing avionics applications. As a result, multiple applications with various safety-critical levels can be deployed on one system, and In multicore platforms, contention for shared hardware can be executed independently without affecting each other. resources is the major source of timing variability, which is ARINC653 support in Qplus-AIR is implemented in the kernel highly undesirable for real-time systems [15], [20]. Therefore, level as a lightweight RTOS. an RTOS must deal with the resource contention properly Since the first release, Qplus-AIR has been deployed to so that the worst-case execution time (WCET) of tasks stays various safety-critical industrial applications: flight control guaranteed and
Recommended publications
  • Mull It Over: Mutation Testing Based on LLVM
    Mull it over: mutation testing based on LLVM Alex Denisov Stanislav Pankevich Independent researcher Independent researcher Berlin, Germany Berlin, Germany Email: [email protected] Email: [email protected] Abstract—This paper describes Mull, an open-source tool for framework [4]. It uses two components of LLVM: IR, its low- mutation testing based on the LLVM framework. Mull works level intermediate language, to perform mutations and JIT with LLVM IR, a low-level intermediate representation, to per- for runtime compilation and execution of a tested program form mutations, and uses LLVM JIT for just-in-time compilation. This design choice enables the following two capabilities of Mull: and its mutated counterparts. LLVM IR is also referred to language independence and fine-grained control over compilation as LLVM Bitcode or simply as bitcode. We use these terms and execution of a tested program and its mutations. Mull interchangeably. can work with code written in any programming language that supports compilation to LLVM IR, such as C, C++, Rust, or We consider the following criteria important for a practical Swift. Direct manipulation of LLVM IR allows Mull to do less implementation of mutation testing tool: the tool must be work to generate mutations: only modified fragments of IR code fast, configurable and easy to set up and use. The tool are recompiled, and this results in faster processing of mutated should allow smooth integration with build tools. The tool programs. To our knowledge, no existing mutation testing tool provides these capabilities for compiled programming languages. should be ready for use in mutation testing analysis of real- We describe the algorithm and implementation details of Mull, world production and open source projects.
    [Show full text]
  • A Comparative Survey on Flight Software Frameworks for 'New Space'
    https://doi.org/10.5028/jatm.v11.1081 ORIGINAL PAPER xx/xx A Comparative Survey on Flight Software Frameworks for ‘New Space’ Nanosatellite Missions Danilo José Franzim Miranda1,2,*, Maurício Ferreira3, Fabricio Kucinskis1, David McComas4 How to cite Miranda DJF https://orcid.org/0000-0002-9186-1740 Miranda DJF; Ferreira M; Kucinskis F; McComas D (2019) A Ferreira M https://orcid.org/0000-0002-6229-9453 Comparative Survey on Flight Software Frameworks for ‘New Kucinskis F https://orcid.org/0000-0001-6171-761X Space’ Nanosatellite Missions. J Aerosp Technol Manag, 11: e4619. https://doi.org/10.5028/jatm.v11.1081 McComas D https://orcid.org/0000-0002-2545-5015 ABSTRACT: Nanosatellite missions are becoming increasingly popular nowadays, especially because of their reduced cost. Therefore, many organizations are entering the space sector due to the paradigm shift caused by nanosatellites. Despite the reduced size of these spacecrafts, their Flight Software (FSW) complexity is not proportional to the satellite volume, thus creating a great barrier for the entrance of new players on the nanosatellite market. On the other side, there are some available frameworks that can provide mature FSW design approaches, implying in considerable reduction in software project timeframe and cost. This paper presents a comparative survey between six relevant fl ight software frameworks, compared according to commonly required ‘New Space’ criteria, and fi nally points out the most suitable one to the VCUB1 reference nanosatellite mission. KEYWORDS: Flight Software, On-Board Software, NASA cFS, New Space. INTRODUCTION Flight Soft ware (FSW) is soft ware that runs on a processor embedded in a spacecraft ’s avionics.
    [Show full text]
  • Integrated Solution for Rapid Development of Complex Gnc Software
    INTEGRATED SOLUTION FOR RAPID DEVELOPMENT OF COMPLEX GNC SOFTWARE Jean-Sébastien Ardaens (1), Gabriella Gaias (2) (1) German Space Operations Center (DLR/GSOC), 82234 Wessling, Germany, [email protected] (2) German Space Operations Center (DLR/GSOC), 82234 Wessling, Germany, [email protected] ABSTRACT low altitude (500km) with very different ballistic coefficients, it has to be avoided to fix problems - which The paper describes the integrated software solution could have been detected before - after establishing the retained for the design and development of the formation because of the high propellant cost required AVANTI experiment, a challenging on-board to maintain the formation. autonomous formation-flying endeavour to be After a brief description of the envisioned experiment, conducted in 2016. This solution aims at enabling rapid the paper proposes some ideas to reduce the prototyping by providing a powerful development, development and validation efforts of such a GNC validation and testing environment, able to support experiment while ensuring a smooth integration in the simultaneously the design and validation of novel satellite bus to augment the chance of successful Guidance, Navigation and Control algorithms, the completion of the experiment. definition and documentation of the interfaces with the ground segment, the implementation of the onboard 2. OVERVIEW software using space quality standards, the integration into an existing satellite bus and all related testing 2.1. The AVANTI Experiment activities. As mentioned in the introduction, AVANTI will 1. INTRODUCTION demonstrate the capability to perform rendezvous and receding approaches with respect to a noncooperative The possibility to conduct a spaceborne experiment is a client satellite making use of vision-based angles-only rare and precious opportunity that has to be taken even measurements.
    [Show full text]
  • Source Code Verification for Embedded Systems Using Prolog
    Source Code Verification for Embedded Systems using Prolog Frank Flederer Ludwig Ostermayer University of Wuerzburg University of Wuerzburg Aerospace Information Technology Knowledge-based Systems [email protected] [email protected] Dietmar Seipel Sergio Montenegro University of Wuerzburg University of Wuerzburg Knowledge-based Systems Aerospace Information Technology [email protected] [email protected] System relevant embedded software needs to be reliable and, therefore, well tested, especially for aerospace systems. A common technique to verify programs is the analysis of their abstract syntax tree (AST). Tree structures can be elegantly analyzed with the logic programming language Prolog. Moreover, Prolog offers further advantages for a thorough analysis: On the one hand, it natively provides versatile options to efficiently process tree or graph data structures. On the other hand, Prolog’s non-determinism and backtracking eases tests of different variations of the program flow without big effort. A rule-based approach with Prolog allows to characterize the verification goals in a concise and declarative way. In this paper, we describe our approach to verify the source code of a flash file system with the help of Prolog. The flash file system is written in C++ and has been developed particularly for the use in satellites. We transform a given abstract syntax tree of C++ source code into Prolog facts and derive the call graph and the execution sequence (tree), which then are further tested against verification goals. The different program flow branching due to control structures is derived by backtracking as subtrees of the full execution sequence.
    [Show full text]
  • Software Evolution from TET-1 to Eu:CROPIS
    Software Evolution from TET-1 to Eu:CROPIS Olaf Maibaum (1), Ansgar Heidecker (2) (1) German Aerospace Center (DLR), Simulation and Software Technology, Lilienthalplatz 7, 38108 Braunschweig, Germany (2) German Aerospace Center (DLR), Institute of Space Systems, Robert Hooke Str. 7, 28359 Bremen, Germany ABSTRACT The base of the Eu:CROPIS (Euglena Combined Regenerative Organic food Production In Space) Attitude and Orbit Control System (AOCS) is the three layer AOCS software architecture of the TET-1 satellite (Technology demonstrator). Because of different AOCS requirements between TET-1 and Eu:CROPIS, a software reuse is only possible for software components in the interface layer. In the other two architecture layers, the software components have to be replaced by new implementations to fulfil the changed requirements of the Eu:CROPIS mission. In contrast to the former software evolution from BIRD (Bispectral Infra-Red Detection) to the TET-1 AOCS, the software evolu- tion is forced in Eu:CROPIS by the reuse of software design principals applied in TET- 1. This enables the change of the underlying scheduling mechanisms from a fixed-time approach to a more reactive software behavior presented in this paper. 1. INTRODUCTION The reactive scheduling mechanism used in the Eu:CROPIS AOCS is a result from ex- periences made in the BIRD mission [7]. This mechanism, named “Tasking Frame- work”, resolves one weakness in the BIRD and TET-1 AOCS software [8]: the scant timing for the control torque computation. The Tasking Framework is the core element in the runtime system development of DLR’s OBC-NG (Onboard Computer – Next Generation) project [5], which will provide a distributed onboard computer platform for reconfigurable and high redundant systems.
    [Show full text]
  • Power Architecture® Roadmap
    TM Nikolay Guenov Rich Schnur Matt Short NPD June 2012 Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MagniV, MXC, Platform in a Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2012 Freescale Semiconductor, Inc. Overview • QorIQ Portfolio Overview • Market Overview • Roadmap • What’s new? (P5040, T2080, T1040) • Announcing our next generation networking architecture • Enablement Product Deep Dive • P5040/P5021 • T4240 • T2080 • T1042 The Next Generation – Initial Products Summary Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Airfast, BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MagniV, MXC, Platform in a Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, TM 2 Ready Play, SafeAssure, the SafeAssure logo, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service
    [Show full text]
  • Performance Optimization Strategies for Transactional Memory Applications
    Performance Optimization Strategies for Transactional Memory Applications zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften von der Fakultät für Informatik des Karlsruher Instituts für Technologie (KIT) genehmigte Dissertation von Martin Otto Schindewolf aus Eschwege Tag der mündlichen Prüfung: 19. April 2013 Erster Gutachter: Prof. Dr. Wolfgang Karl Zweiter Gutachter: Prof. Dr. Albert Cohen KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum der Helmholtz-Gesellschaft www.kit.edu Ich versichere hiermit wahrheitsgemäß, die Arbeit bis auf die dem Aufgabensteller bereits bekannte Hilfe selbständig angefertigt, alle benutzten Hilfsmittel vollständig und genau angegeben und alles kenntlich gemacht zu haben, was aus Arbeiten anderer unverändert oder mit Abänderung entnommen wurde. Karlsruhe, den 4. März 2013 Martin Schindewolf Abstract Transactional Memory (TM) has been proposed as an architectural extension to enable lock-free data structures. With the ubiquity of multi-core systems, the idea of TM gains new momentum. The motivation for the invention of TM was to simplify the synchronization of parallel threads in a shared memory system. TM features optimistic concurrency as opposed to the pessimistic concurrency with traditional locking. This optimistic approach lets two transactions execute in parallel and assumes that there is no data race. In case of a data race, e.g., both transactions write to the same address, this conflict must be detected and resolved. Therefore a TM run time system monitors shared memory accesses inside transactions. These TM systems can be implemented in software (STM), hardware (HTM) or as a hybrid combination of both. Most of the research in TM focuses on language extensions, compiler support, and the optimization of algorithmic details of TM systems.
    [Show full text]
  • Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain
    ACCEPTED FOR PUBLICATION ON IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain Oscar Cornejo, Fabrizio Pastore, Member, IEEE, and Lionel C. Briand, Fellow, IEEE Abstract—On-board embedded software developed for spaceflight systems (space software) must adhere to stringent software quality assurance procedures. For example, verification and validation activities are typically performed and assessed by third party organizations. To further minimize the risk of human mistakes, space agencies, such as the European Space Agency (ESA), are looking for automated solutions for the assessment of software testing activities, which play a crucial role in this context. Though space software is our focus here, it should be noted that such software shares the above considerations, to a large extent, with embedded software in many other types of cyber-physical systems. Over the years, mutation analysis has shown to be a promising solution for the automated assessment of test suites; it consists of measuring the quality of a test suite in terms of the percentage of injected faults leading to a test failure. A number of optimization techniques, addressing scalability and accuracy problems, have been proposed to facilitate the industrial adoption of mutation analysis. However, to date, two major problems prevent space agencies from enforcing mutation analysis in space software development. First, there is uncertainty regarding the feasibility of applying mutation analysis optimization techniques in their context. Second, most of the existing techniques either can break the real-time requirements common in embedded software or cannot be applied when the software is tested in Software Validation Facilities, including CPU emulators and sensor simulators.
    [Show full text]
  • Partner Directory Wind River Partner Program
    PARTNER DIRECTORY WIND RIVER PARTNER PROGRAM The Internet of Things (IoT), cloud computing, and Network Functions Virtualization are but some of the market forces at play today. These forces impact Wind River® customers in markets ranging from aerospace and defense to consumer, networking to automotive, and industrial to medical. The Wind River® edge-to-cloud portfolio of products is ideally suited to address the emerging needs of IoT, from the secure and managed intelligent devices at the edge to the gateway, into the critical network infrastructure, and up into the cloud. Wind River offers cross-architecture support. We are proud to partner with leading companies across various industries to help our mutual customers ease integration challenges; shorten development times; and provide greater functionality to their devices, systems, and networks for building IoT. With more than 200 members and still growing, Wind River has one of the embedded software industry’s largest ecosystems to complement its comprehensive portfolio. Please use this guide as a resource to identify companies that can help with your development across markets. For updates, browse our online Partner Directory. 2 | Partner Program Guide MARKET FOCUS For an alphabetical listing of all members of the *Clavister ..................................................37 Wind River Partner Program, please see the Cloudera ...................................................37 Partner Index on page 139. *Dell ..........................................................45 *EnterpriseWeb
    [Show full text]
  • Design and Implementation of Multi-Core Support for an Embedded Real-Time Operating System for Space Applications
    Design and Implementation of Multi-core Support for an Embedded Real-time Operating System for Space Applications Master of Science Thesis KTH Royal Institute of Technology Author: Wei Zhang, KTH, Sweden Supervisor: Ting Peng, DLR, Germany Examiner: Assoc. Prof. Ingo Sander, KTH, Sweden Abstract Nowadays, multi-core processors are widely used in embedded applications due to the advantages of higher performance and lower power consumption. However, the complexity of multi-core architectures makes it a considerably challenging task to extend a single-core version of a real-time operating system to support multi-core platform. This thesis documents the process of design and implementation of a multi-core version of RODOS - an embedded real-time operating system developed by German Aerospace Center and the University of Würzburg - on a dual-core platform. Two possible models are proposed: Symmetric Multiprocessing and Asymmetric Multi- processing. In order to prevent the collision of the global components initialization, a new multi-core boot loader is created to allow that each core boots up in a proper manner. A working version of multi-core RODOS is implemented that has an ability to run tasks on a multi-core platform. Several test cases are applied and verified that the performance on the multi-core version of RODOS achieves around 180% improved than the same tasks running on the original RODOS. Deadlock free communication and synchronization APIs are provided to let parallel applications share data and messages in a safe manner. Key words: real-time operating system, multi-core architecture, embedded sys- tem Acknowledgment This thesis is dedicated to my parents whose support and help over the years let me study abroad and pursue my dream.
    [Show full text]
  • High-Level Programming Model for Heterogeneous Embedded Systems Using
    HIGH-LEVEL PROGRAMMING MODEL FOR HETEROGENEOUS EMBEDDED SYSTEMS USING MULTICORE INDUSTRY STANDARD APIS A Dissertation Presented to the Faculty of the Department of Computer Science University of Houston In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy By Peng Sun August 2016 HIGH-LEVEL PROGRAMMING MODEL FOR HETEROGENEOUS EMBEDDED SYSTEMS USING MULTICORE INDUSTRY STANDARD APIS Peng Sun APPROVED: Dr. Chapman, Barbara Dept. of Computer Science, University of Houston Dr. Gabriel, Edgar Dept. of Computer Science, University of Houston Dr. Shah, Shishir Dept. of Computer Science, University of Houston Dr. Subhlok, Jaspal Dept. of Computer Science, University of Houston Dr. Chandrasekaran, Sunita Dept. of CIS, University of Delaware Dean, College of Natural Sciences and Mathematics ii Acknowledgements First and foremost, I would like to thank my advisor, Dr. Barbara Chapman, for her invaluable advice and guidance in my Ph.D. study. I appreciate all her dedi- cated guidance, and great opportunities to participate in those worthwhile academic projects, and the funding to complete my Ph.D. study. Her passion and excellence on academic and contributions to communities encourage me to finish my Ph.D. degree. Specifically, I am very grateful to Dr. Sunita Chandrasekaran for the mentoring and guidance for my research and publications. That help is paramount to my Ph.D. Journey. I truly could not achieve the degree without her mentoring and advisory. Special thanks to all my committee members: Dr. Edgar Gabriel, Dr. Shishir Shah, Dr. Jaspal Subhlok, for their time, insightful comments and help. I would also like to thank my fellow labmates of the HPCTools group: Dr.
    [Show full text]
  • RODOS Real Time Kernel Design for Dependability
    RODOS Real Time Kernel Design for Dependability Dr. Sergio Montenegro, Frank Dannemann DLR, Institute of Space Systems, Robert-Hooke-Str. 7, 28359 Bremen, Germany Web: http://www.dlr.de/irs E-Mail: [email protected], [email protected] Introduction The NetworkCentric core avionics machine consists of several harmonised components which work together to implement dependable computing in a simple way. The NetworkCentric Machine Computing units (CPU +MEM) are managed by the local real-time kernel operating system (OS) RODOS. On top of the kernel runs the software middleware (MW) of RODOS and around this middleware the user can implement its applications (AP). To communicate with external units, including devices and other computing units, each node provides a gateway to the network and around the network's several devices (IO Devices and computing nodes) may be attached to the system. RODOS is a real-time embedded operating system (OS) designed for applications demanding high dependability. Simplicity is our main strategy for achieving dependability, as complexity is the cause of most development faults. The system was developed in C++, using an object-oriented framework simple enough to be understood and applied in several application domains. Although targeting minimal complexity, no fundamental functionality is missing, as its microkernel provides support for resource management, thread synchronisation and communication, input/output and interrupts management. The system is fully pre-emptive and uses priority-based scheduling and round robin for same priority threads. RODOS Core RODOS was designed as a framework offering the following features: • object oriented C++ interfaces, • ultra fast booting • real time priority controlled primitives multithreading, • time management (as a central point), • thread safe communication and synchronisation, • event propagation RODOS can be executed on embedded target hardware and on top of Linux.
    [Show full text]