
Patterns in the Machine
A Software Engineering Guide to Embedded Development
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Patterns in the Machine
A Software Engineering Guide to Embedded Development
About this book
Discover how to apply software engineering patterns to develop more robustfirmware faster than traditional embedded development approaches.In the authors' experience, traditionalembedded software projects tend towards monolithic applications that are optimized for their targethardware platforms. This leads to software that is fragile in terms of extensibility and difficult to test without fully integrated software and hardware. Patterns in the Machine focuses on creating loosely coupledimplementations that embrace both change and testability.
This book illustrates how implementing continuous integration, automated unit testing, platform-independent code, and other best practices that are not typically implemented in the embeddedsystems world is not just feasible but also practical for today's embedded projects.
After reading this book, you will have a better idea of how to structure your embedded softwareprojects. You will recognize that while writing unit tests, creating simulators, and implementingcontinuous integration requires time and effort up front, you will be amply rewarded at the end of the projectin terms of quality, adaptability, and maintainability of your code.
What You Will Learn
- Incorporate automated unit testing into an embedded project
- Design and build functional simulators for an embedded project
- Write production-quality software when hardware is not available
- Use the Data Model architectural pattern to create a highly decoupled design and implementation
- Understand the importance of defining the software architecture before implementationstarts and how to do it
- Discover why documentation is essential for an embeddedproject
- Use finite state machines in embedded projects
Who This Book Is For
Mid-level or higher embedded systems (firmware) developers, technical leads, software architects, and development managers.
Frequently asked questions
- 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.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- Cover
- Front Matter
- 1. Introduction
- 2. Core Concepts
- 3. Design Theory for Embedded Programming
- 4. Persistent Storage Detailed Design Example
- 5. Software Architecture
- 6. Unit Testing
- 7. Functional Simulator
- 8. Continuous Integration
- 9. The Data Model Architecture
- 10. Finite State Machines
- 11. Documentation
- 12. File Organization and Naming
- 13. More About Late Binding
- 14. Initialization and the Main Pattern
- 15. More Best Practices
- 16. PIM Thermostat Example
- 17. The Tao of Development
- Back Matter