
Software Engineering for Embedded Systems
Methods, Practical Techniques, and Applications
- 1,200 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Software Engineering for Embedded Systems
Methods, Practical Techniques, and Applications
About this book
This Expert Guide gives you the techniques and technologies in software engineering to optimally design and implement your embedded system. Written by experts with a solutions focus, this encyclopedic reference gives you an indispensable aid to tackling the day-to-day problems when using software engineering methods to develop your embedded systems.With this book you will learn: - The principles of good architecture for an embedded system- Design practices to help make your embedded project successful- Details on principles that are often a part of embedded systems, including digital signal processing, safety-critical principles, and development processes- Techniques for setting up a performance engineering strategy for your embedded system software- How to develop user interfaces for embedded systems- Strategies for testing and deploying your embedded system, and ensuring quality development processes- Practical techniques for optimizing embedded software for performance, memory, and power- Advanced guidelines for developing multicore software for embedded systems- How to develop embedded software for networking, storage, and automotive segments- How to manage the embedded development process Includes contributions from: Frank Schirrmeister, Shelly Gretlein, Bruce Douglass, Erich Styger, Gary Stringham, Jean Labrosse, Jim Trudeau, Mike Brogioli, Mark Pitchford, Catalin Dan Udma, Markus Levy, Pete Wilson, Whit Waldo, Inga Harris, Xinxin Yang, Srinivasa Addepalli, Andrew McKay, Mark Kraeling and Robert Oshana.- Road map of key problems/issues and references to their solution in the text- Review of core methods in the context of how to apply them- Examples demonstrating timeless implementation details- Short and to- the- point case studies show how key ideas can be implemented, the rationale for choices made, and design guidelines and trade-offs
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
Software Engineering of Embedded and Real-Time Systems
Keywords
Software engineering
- ⢠near-optimal performance
- ⢠robustness
- ⢠distribution
- ⢠dynamism
- ⢠mobility.
- ⢠cell phone, iPod, microwave
- ⢠satellite receiver, cable box
- ⢠car engine control unit
- ⢠DVD player.
- ⢠mechanical engineering
- ⢠civil engineering
- ⢠chemical engineering
- ⢠electrical engineering
- ⢠nuclear engineering
- ⢠aeronautical engineering.
- ⢠methods/methodologies/techniques
- ⢠languages
- ⢠tools
- ⢠processes.
- ⢠development of software systems whose size/complexity warrants team(s) of engineers (or as David Parnas puts it, āmulti-person construction of multi-version softwareā);
- ⢠scope, which we will focus on the study of software process, development principles, techniques, and notations;
- ⢠goal, in our case the production of quality software, delivered on time, within budget, satisfying customersā requirements and usersā needs.
- ⢠there are relatively few guiding scientific principles;
- ⢠there are few universally applicable methods;
- ⢠software engineering is as much managerial/psychological/sociological as it is technological.
- ⢠software is malleable;
- ⢠software construction is human-intensive;
- ⢠software is intangible;
- ⢠software problems are unprecedentedly complex;
- ⢠software directly depends upon the hardware;
- ⢠software solutions require unusual rigor;
- ⢠software has discontinuous operational nature.
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- Software Engineering for Embedded Systems: A Roadmap
- Foreword to Software Engineering for Embedded Systems
- Acknowledgments
- About the Editors
- About the Authors
- Chapter 1. Software Engineering of Embedded and Real-Time Systems
- Chapter 2. Embedded Systems Hardware/Software Co-Development
- Chapter 3. Software Modeling for Embedded Systems
- Chapter 4. Software Design Architecture and Patterns for Embedded Systems
- Chapter 5. Real-Time Building Blocks: Events and Triggers
- Chapter 6. Hardwareās Interface to Embedded Software
- Chapter 7. Embedded Software Programming and Implementation Guidelines
- Chapter 8. Embedded Operating Systems
- Chapter 9. Software Reuse By Design in Embedded Systems
- Chapter 10. Software Performance Engineering for Embedded Systems
- Chapter 11. Optimizing Embedded Software for Performance
- Chapter 12. Optimizing Embedded Software for Memory
- Chapter 13. Optimizing Embedded Software for Power
- Chapter 14. Human Factors and User Interface Design for Embedded Systems
- Chapter 15. Embedded Software Quality, Integration and Testing Techniques
- Chapter 16. Software Development Tools for Embedded Systems
- Chapter 17. Multicore Software Development for Embedded Systems: This Chapter draws on Material from the Multicore Programming Practices Guide (MPP) from the Multicore Association
- Chapter 18. Safety-Critical Software Development
- Chapter 19. Intellectual Property
- Chapter 20. Managing Embedded Software Development
- Chapter 21. Agile Development for Embedded Systems
- Chapter 22. Embedded Software for Automotive Applications
- Chapter 23. Programming for I/O and Storage
- Chapter 24. Embedded Software for Networking Applications
- Chapter 25. Linux for Embedded Systems
- Appendix 1. āCā Syntax Coding Standard: Source Code Development
- Appendix 2. On the C++ Programming Language for Embedded Software, Systems, and Platforms
- Case Study 1. Software Performance Engineering
- Case Study 2. A User Interface: Police Command and Control System
- Case Study 3. Transitioning to Multicore
- Case Study 4. Software Engineering for Embedded Systems Quality and Metrics Program
- Index