
eBook - ePub
Demystifying Embedded Systems Middleware
Understanding File Systems, Databases, Virtual Machines, Networking and More!
- 408 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
eBook - ePub
Demystifying Embedded Systems Middleware
Understanding File Systems, Databases, Virtual Machines, Networking and More!
About this book
This practical technical guide to embedded middleware implementation offers a coherent framework that guides readers through all the key concepts necessary to gain an understanding of this broad topic. Big picture theoretical discussion is integrated with down-to-earth advice on successful real-world use via step-by-step examples of each type of middleware implementation. Technically detailed case studies bring it all together, by providing insight into typical engineering situations readers are likely to encounter. Expert author Tammy Noergaard keeps explanations as simple and readable as possible, eschewing jargon and carefully defining acronyms.
The start of each chapter includes a "setting the stage" section, so readers can take a step back and understand the context and applications of the information being provided. Core middleware, such as networking protocols, file systems, virtual machines, and databases; more complex middleware that builds upon generic pieces, such as MOM, ORB, and RPC; and integrated middleware software packages, such as embedded JVMs, .NET, and CORBA packages are all demystified.
- Embedded middleware theory and practice that will get your knowledge and skills up to speed
- Covers standards, networking, file systems, virtual machines, and more
- Get hands-on programming experience by starting with the downloadable open source code examples from book website
Frequently asked questions
Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Demystifying Embedded Systems Middleware by Tammy Noergaard in PDF and/or ePUB format, as well as other popular books in Technology & Engineering & Industrial Design. We have over one million books available in our catalogue for you to explore.
Information
Chapter 1
Demystifying Middleware in Embedded Systems
Publisher Summary
This chapter provides an introduction of middleware in reference to the embedded systems model. It outlines why the understanding middleware is important and identifies the common types of middleware in the embedded space. With the increase in the types and profitability of complex, distributed embedded systems, an approach common in the industry is designing and customizing these types of embedded systems in some manner that is independent of the underlying low-level system software and hardware components. To successfully achieve desired results within cost, schedule, and complexity goals, many engineering teams base their approach on architecting various higher-level middleware software components into their embedded systems designs. Middleware is simply software, like any other, that in combination with the embedded hardware and other types of embedded software is a means to an end to achieving some combination of the desirable goals. Middleware is increasingly becoming a required component in embedded systems designs due to the increase in the types of complex, distributed embedded systems, the number of applications found on embedded systems, and the desire for customizable embedded software applications for embedded devices.
Chapter Points
• Middleware is introduced in reference to the Embedded Systems Model
• Outline why understanding middleware is important
• Identifying common types of middleware in the embedded space
1.1 What is the Middleware of an Embedded System?
With the increase in the types and profitability of complex, distributed embedded systems, an approach common in the industry is designing and customizing these types of embedded systems in some manner that is independent of the underlying low-level system software and hardware components. To successfully achieve desired results within cost, schedule, and complexity goals many engineering teams base their approach on architecting various higher-level middleware software components into their embedded systems designs.
Currently within the embedded systems industry, there is no formal consensus on how embedded systems middleware should be defined. Thus, until such time as there is a consensus, this book takes the pragmatic approach of defining what middleware is and how different types of middleware can be categorized. Simply put, middleware is an abstraction layer that acts as an intermediary. Middleware manages interactions between application software and the underlying system software layers, such as the operating system and device driver layers. Middleware also can manage interactions between multiple applications residing within the embedded device, as well as applications residing across networked devices.
Middleware is simply software, like any other, that in combination with the embedded hardware and other types of embedded software is a means to an end to achieving some combination of the desirable goals shown in Table 1.1.
Table 1.1
Examples of Desirable Requirements for Middleware to Meet
| Requirement | Description |
| Adaptive | Middleware that enables overlying middleware and/or embedded applications to adapt to changing availability of system resources |
| Flexibility and Scalability | Middleware that allows overlying middleware and/or embedded applications to be configurable and customizable in terms of functionality that can be scaled in or out depending on application requirements, over all device requirements, and underlying system software and hardware limitations |
| Security | Middleware that insures the overlying middleware and/or embedded applications (and the users using them) have authorized access to resources |
| Portability | The ‘write-once’, ‘run-anywhere’ mantra. Middleware that allows overlying middleware and/or embedded applications to run on different types of embedded devices with different underlying system software and hardware layers. To avoid requiring time-consuming and expensive rewrites of the application code, middleware can mask the differences in underlying layers within different types of embedded systems, programming languages, and even implementations of the same standard produced by different design teams |
| Connectivity and Inter-Communication | Middleware that provides overlying middleware and/or embedded applications the ability to transparently communicate with other applications on a remote device through some user-friendly, standardized interface. Essentially, communication interfaces abstracted to level of local procedure call or method invocation |
As shown in Figure 1.1a, middleware resides in the system software layer of an embedded system and is any software that is not a device driver, an operating system kernel, or an application. Middleware components can exist within various permutations of a real-world software stack: such as directly over device drivers, residing above an operating system, tightly coupled with an operating system package from an off-the-shelf vendor, residing above other middleware components, or some combination of the above, for example.

Keep in mind that what determines if a piece of software is ‘middleware’ is by where it resides within the embedded system’s architecture, and not only because of its inherent purpose within the system alone. For example, as shown in Figure 1.1b, embedded Java virtual machines (JVMs) are currently implemented in an embedded system in one of three ways: in the hardware, in the system software layer, or in the application layer. When a JVM is implemented within the system software layer and resides on an operating system kernel is an example when a JVM is classified as middleware.

Figure 1.1c shows a high-level block diagram of different types of middleware utilized in embedded devices today. Within the scope of this text, at the most general level, middleware is divided into two categories: core middleware and middleware th...
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- About the Author
- Chapter 1. Demystifying Middleware in Embedded Systems
- Chapter 2. The Foundation
- Chapter 3. Middleware and Standards in Embedded Systems
- Chapter 4. The Fundamentals in Understanding Networking Middleware
- Chapter 5. File Systems
- Chapter 6. Virtual Machines in Middleware
- Chapter 7. An Introduction to the Fundamentals of Database Systems
- Chapter 8. Putting It All Together: Complex Messaging, Communication, and Security
- Chapter 9. The Holistic View to Demystifying Middleware
- Appendix A. Abbreviations and Acronyms
- Appendix B. Embedded Systems Glossary
- Index