6 Questions with Gedare Bloom, author of “Real-Time Systems Development with RTEMS and Multicore Processors”

Gedare Bloom, assistant professor of computer science, researches computer system security with a focus on real-time embedded systems.

Headshot of Gedare Bloom
Gedare Bloom is an assistant professor of computer science at UCCS.

In addition to recently being awarded a prestigious National Science Foundation CAREER award, Bloom published “Real-Time Systems Development with RTEMS and Multicore Processors.” The book is the first of its kind to explain how to use the Portable Operating System Interface (POSIX) in the context of a real-time operating system – an operating system intended to serve real-time applications that process data as it comes in, without buffers or delays.

Bloom published the book together with co-authors Joel Sherrill, director of research and development at OAR Corporation; Tingting Hu, research scientist at the University of Luxembourg; and Ivan Cibrario Bertolotti, researcher for the National Research Council of Italy. The book was published by CRC Press in 2020.

Bloom answered six questions on the new book, which is tailored toward software developers and provides practical guidance for developing real-time embedded systems and for using multicore processors within real-time embedded systems – a challenging and cutting-edge area for both research and development.

1. If you were describing your book to someone outside of your field, what would you say?

This book explains the concepts and considerations in the design and implementation of software that executes to control physical machines. The combination of machine and control software is generally called a real-time embedded system. We focus on providing practical advice and foundational understanding of how real-time operating systems (RTOS) support efficient software development for real-time embedded systems. The specific RTOS used throughout the book is the Real-Time Executive for Multiprocessor Systems (RTEMS), which is an operating system that is used in large-scale scientific infrastructure including satellites and space probes.

2. How did you get the idea for your project?

I have been collaborating with my co-authors for several years. Joel and I first started to work together when I was a graduate student back in 2009 or so. As a graduate student, I participated in the Google Summer of Code program that provides summer funding for software development in open-source projects. The project I proposed and implemented was a modernization of the RTEMS thread scheduling algorithm, which is an important component of any RTOS. My project ultimately opened the door to expanding RTEMS capabilities from single-processor to multicore processor computers.

Fast forward several years and as we looked around at the literature and educational resources, my co-authors and I felt that there was a gap in the knowledge of practical application development using RTOS services especially for multicore systems. So we decided to fill that gap by writing a book tailored toward software developers but with a strong foundation of theory and educational value for real-time embedded systems using multicore computers.

3. Did your focus develop or change throughout the research and writing process? 

Initially we hoped to include an example woven throughout the book to show a practical application using different RTOS features as they are introduced to the reader. However we had to drop the example from the book in order to meet our time and space requirements to finish. Our text still includes many practical examples but they are not integrated across chapters as we had initially envisioned.

4. Which idea do you write about that most excites, invigorates or inspires you?      

Two really exciting parts of writing this book come to mind. First, I think this is the only book in existence that explains how to use the Portable Operating System Interface (POSIX) in the context of a real-time operating system. It’s always exciting to do something novel and different. Second, the last two chapters of this book are dedicated to the practical aspects of using multicore processors in real-time embedded systems, which is a challenging and cutting-edge area for both research and development.

5. Describe your writing space. Where do you do your best work? What time of day? Do you have any writing routines you are willing to share?           

I do my best writing in my home office, which I suppose is fortunate in these days. Writing is often a hard task, and I can only resonate advice I’ve seen over time that it is best to write a little every day. Set aside time and space to write. I personally like to write in the evening because there are fewer work distractions, but then there is a trade-off for work-life balance. I think I did most of my writing for this book between 10 p.m. and midnight! The quiet and dark centers me. I don’t think that’s for everyone though.

Also important is reading. You have to do a lot of reading to write well! Reading the other literature and cross-checking your references is a time-consuming activity, and so is proofreading and editing. I actually prefer to read on paper or a tablet, and enjoy using reading as an opportunity to get away from my desk. So I like to read in the mornings with a cup of coffee and my feet up, preferably before I even touch my computer. I suppose breaking the day apart like that has been quite helpful for me to stay organized and manage my time.

6. What new questions for future exploration have you discovered? 

This book is a good first step toward providing practical guidance for developing real-time embedded systems. Through the writing, I have felt that we are just brushing the surface on a deep and poorly understood aspect of computing, which is how best to create these systems on modern hardware and catering to the needs of modern users. The rise of the Internet of Things and interconnection of real-time systems greatly increases their complexity and exposure to security threats. I’m excited to continue pushing forward in this domain to better identify the problems and investigate solutions that are amenable for real-time embedded system practitioners to employ in their work.

UCCS celebrates faculty and staff who author and edit books each year. In recognition of their achievement, and as part of the UCCS Author Spotlight initiative, authors are invited to submit details on their published works.