Patterns in the Machine: A Software Engineering Guide to Embedded Development

Taylor, John T., Taylor, Wayne T.

  • 出版商: Apress
  • 出版日期: 2021-01-20
  • 售價: $1,790
  • 貴賓價: 9.5$1,701
  • 語言: 英文
  • 頁數: 294
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484264398
  • ISBN-13: 9781484264393
  • 相關分類: 嵌入式系統軟體工程
  • 海外代購書籍(需單獨結帳)



Discover how to apply software engineering patterns to develop more robust firmware faster than traditional embedded development approaches. In the authors' experience, traditional embedded software projects tend towards monolithic applications that are optimized for their target hardware 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 coupled implementations 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 embedded systems 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 software projects. You will recognize that while writing unit tests, creating simulators, and implementing continuous integration requires time and effort up front, you will be amply rewarded at the end of the project in terms of quality, adaptability, and maintainability of your code.

You will:

  • 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 implementation starts and how to do it
  • Discover why documentation is essential for an embedded project
  • Use finite state machines in embedded projects






- 將自動化單元測試納入嵌入式專案中
- 為嵌入式專案設計和構建功能性模擬器
- 在沒有硬體的情況下撰寫生產品質的軟體
- 使用資料模型架構模式創建高度解耦的設計和實現
- 瞭解在實施開始之前定義軟體架構的重要性以及如何做到
- 發現為嵌入式專案提供文檔的重要性
- 在嵌入式專案中使用有限狀態機


John Taylor has been an embedded developer for over 29 years. He has worked as a firmware engineer, technical lead, system engineer, software architect, and software development manager for companies such as Ingersoll Rand, Carrier, Allen-Bradley, Hitachi Telecom, Emerson, and several start-up companies. He has developed firmware for products that include HVAC control systems, telecom SONET nodes, IoT devices, micro code for communication chips, and medical devices. He is the co-author of five US patents and holds a bachelor's degree in mathematics and computer science.
Wayne Taylor has been a technical writer for 25 years. He has worked with companies such as IBM, Novell, Compaq, HP, EMC, SanDisk, and Western Digital. He has documented compilers, LAN driver development, storage system deployment and maintenance, and dozens of low-level and system-management APIs. He also has ten years of experience as a software development manager. He is the co-author of two US patents and holds master's degrees in English and human factors. He is a co-author of OS/2 and NetWare Programming (Van Nostrand Reinhold, 1995).


John Taylor已經擔任嵌入式開發人員超過29年。他曾在Ingersoll Rand、Carrier、Allen-Bradley、Hitachi Telecom、Emerson和幾家初創公司擔任固件工程師、技術主管、系統工程師、軟體架構師和軟體開發經理。他開發的固件產品包括暖通空調控制系統、電信SONET節點、物聯網設備、通信芯片的微代碼和醫療設備。他是五項美國專利的共同作者,並擁有數學和計算機科學學士學位。

Wayne Taylor已經擔任技術作家25年。他曾與IBM、Novell、Compaq、HP、EMC、SanDisk和Western Digital等公司合作。他曾記錄編譯器、局域網驅動程式開發、儲存系統部署和維護以及數十個低階和系統管理API。他還擁有十年的軟體開發經理經驗。他是兩項美國專利的共同作者,並擁有英語和人因工程學碩士學位。他是《OS/2 and NetWare Programming》(Van Nostrand Reinhold, 1995)的共同作者。