001433525 000__ 04689cam\a2200637\i\4500 001433525 001__ 1433525 001433525 003__ OCoLC 001433525 005__ 20230309003610.0 001433525 006__ m\\\\\o\\d\\\\\\\\ 001433525 007__ cr\cn\nnnunnun 001433525 008__ 210123s2021\\\\cau\\\\\o\\\\\001\0\eng\d 001433525 019__ $$a1232206984$$a1238201916$$a1238203157$$a1238203509$$a1239998581$$a1240510273 001433525 020__ $$a9781484264409$$q(electronic bk.) 001433525 020__ $$a1484264401$$q(electronic bk.) 001433525 020__ $$a9781484264416$$q(print) 001433525 020__ $$a148426441X 001433525 020__ $$z1484264398 001433525 020__ $$z9781484264393 001433525 0247_ $$a10.1007/978-1-4842-6440-9$$2doi 001433525 035__ $$aSP(OCoLC)1232278563 001433525 040__ $$aEBLCP$$beng$$erda$$epn$$cEBLCP$$dYDX$$dLDP$$dERF$$dDCT$$dOCLCF$$dGW5XE$$dOCLCO$$dSFB$$dVT2$$dUKAHL$$dOCL$$dN$T$$dK6U$$dOCLCO$$dOCLCQ$$dCOM$$dOCLCQ 001433525 049__ $$aISEA 001433525 050_4 $$aTK7895.E42 001433525 08204 $$a005.1$$223 001433525 1001_ $$aTaylor, John T.,$$eauthor. 001433525 24510 $$aPatterns in the machine :$$ba software engineering guide to embedded development /$$cJohn T. Taylor, Wayne T. Taylor. 001433525 264_1 $$aBerkeley, CA :$$bApress,$$c[2021] 001433525 300__ $$a1 online resource (300 pages) 001433525 336__ $$atext$$btxt$$2rdacontent 001433525 337__ $$acomputer$$bc$$2rdamedia 001433525 338__ $$aonline resource$$bcr$$2rdacarrier 001433525 347__ $$atext file 001433525 347__ $$bPDF 001433525 500__ $$aIncludes index. 001433525 5050_ $$a1: 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. 001433525 506__ $$aAccess limited to authorized users. 001433525 520__ $$aDiscover 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. 001433525 588__ $$aDescription based on print version record. 001433525 650_0 $$aEmbedded computer systems$$xProgramming. 001433525 650_0 $$aComputer software. 001433525 650_0 $$aSoftware engineering. 001433525 650_0 $$aElectronic circuits. 001433525 650_0 $$aComputer input-output equipment. 001433525 650_6 $$aLogiciels. 001433525 650_6 $$aGénie logiciel. 001433525 650_6 $$aCircuits électroniques. 001433525 650_6 $$aOrdinateurs$$xÉquipement d'entrée-sortie. 001433525 655_0 $$aElectronic books. 001433525 7001_ $$aTaylor, Wayne T.,$$eauthor. 001433525 77608 $$iPrint version:$$aTaylor, John T.$$tPatterns in the Machine.$$dBerkeley, CA : Apress L.P., ©2021$$z9781484264393 001433525 852__ $$bebk 001433525 85640 $$3Springer Nature$$uhttps://univsouthin.idm.oclc.org/login?url=https://link.springer.com/10.1007/978-1-4842-6440-9$$zOnline Access$$91397441.1 001433525 909CO $$ooai:library.usi.edu:1433525$$pGLOBAL_SET 001433525 980__ $$aBIB 001433525 980__ $$aEBOOK 001433525 982__ $$aEbook 001433525 983__ $$aOnline 001433525 994__ $$a92$$bISE