LEADER 04575nmm a2200601 u 4500
001 EB001997465
003 EBX01000000000000001160366
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210823 ||| eng
020 |a 9781484264409 
020 |a 9781484264416 
020 |a 1484264401 
050 4 |a TK7895.E42 
100 1 |a Taylor, John T. 
245 0 0 |a Patterns in the machine  |b a software engineering guide to embedded development  |c John T. Taylor, Wayne T. Taylor 
260 |a Berkeley, CA  |b Apress  |c 2021 
300 |a 300 pages 
505 0 |a 1: Introduction -- 2: Core Concepts -- 3: Design Theory For Embedded Programming -- 4: Persistent Storage Example -- 5: Software Architecture -- 6: Automated Unit Testing -- 7: Functional Simulator -- 8: Continuous Integration -- 9: Data Model -- 10: Finite State Machines -- 11: Documentation -- 12: File Organization and Naming -- 13: More About Late Bindings -- 14: Initialization and Main -- 15: More Best Practices -- 16: PIM Thermostat Example -- 17: The Tao of Development -- Appendix A: Terminology -- Appendix B: UML Notation for State Machines -- Appendix C: UML Cheat Sheet -- Appendix D: Why C++ -- Appendix E: Package Management and Outcast -- Appendix F: Requirements vs. Design Statements 
653 |a Embedded computer systems / Programming / http://id.loc.gov/authorities/subjects/sh87006633 
653 |a Computer input-output equipment / http://id.loc.gov/authorities/subjects/sh85029505 
653 |a Software Development & Engineering / bisacsh 
653 |a Circuits électroniques 
653 |a Ordinateurs / Équipement d'entrée-sortie 
653 |a COMPUTERS. / bisacsh 
653 |a Génie logiciel 
653 |a Software 
653 |a Computer input-output equipment / fast 
653 |a Computer software / fast 
653 |a Electronic circuits / fast 
653 |a Embedded computer systems / Programming / fast 
653 |a Hardware / bisacsh 
653 |a Electronic circuits / http://id.loc.gov/authorities/subjects/sh85042279 
653 |a Logiciels 
653 |a Software engineering / fast 
653 |a Software engineering / http://id.loc.gov/authorities/subjects/sh87007398 
653 |a software / aat 
653 |a Programming Languages / bisacsh 
653 |a Computer software / http://id.loc.gov/authorities/subjects/sh85029534 
700 1 |a Taylor, Wayne T.  |e author 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
500 |a Includes index 
028 5 0 |a 10.1007/978-1-4842-6440-9 
776 |z 1484264398 
776 |z 9781484264409 
776 |z 9781484264393 
776 |z 1484264401 
776 |z 9781484264416 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484264409/?ar  |x Verlag  |3 Volltext 
082 0 |a 620 
082 0 |a 005.1 
520 |a 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