Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit

  • 5h 20m
  • Bruce Powel Douglass
  • Elsevier Science and Technology Books, Inc.
  • 2011

A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code.

A basic C knowledge is a prerequisite for the book while UML notation and terminology is included. General C programming books do not include discussion of the constraints found within embedded system design. The practical examples give the reader an understanding of the use of UML and OO (Object Oriented) designs in a resource-limited environment. Also included are two chapters on state machines. The beauty of this book is that it can help you today. .

  • Design Patterns within these pages are immediately applicable to your project
  • Addresses embedded system design concerns such as concurrency, communication, and memory usage
  • Examples are contain ANSI C for ease of use with C programming code

About the Author

Bruce Powel Douglass was raised by wolves in the Oregon wilderness. He taught himself to read at age 3 and learned calculus before age 12. He dropped out of school when he was 14 and traveled around the U.S. for a few years before entering the University of Oregon as a mathematics major. He eventually received his M.S. in exercise physiology from the University of Oregon and his Ph.D. in neurophysiology from the USD Medical School, where he developed a branch of mathematics called autocorrelative factor analysis for studying information processing in multicellular biological neural systems.

Bruce has worked as a software developer in real-time systems for over 30 years and is a well-known speaker, author, and consultant in the area of real-time embedded systems and systems engineering. He is on the Advisory Board of the Embedded Systems conference and has taught courses in software estimation and scheduling, project management, object-oriented analysis and design, communications protocols, finite state machines, design patterns, and safety-critical systems design. He develops and teaches courses and consults in real-time object-oriented analysis and design and project management and has done so for many years. He has authored articles for a many journals and periodicals, especially in the real-time domain.

He is the Chief Evangelist [1] for IBM Rational, a leading producer of tools for real-time systems development, including the widely-used Rhapsody modeling tool. Bruce worked with other UML partners on the specification of the UML. He is a former co-chair of the Object Management Group's Real-Time Analysis and Design Working Group. He is the author of several other books on software.

In this Book

  • What is Embedded Programming?
  • Embedded Programming with The Harmony for Embedded RealTime Process
  • Design Patterns for Accessing Hardware
  • Design Patterns for Embedding Concurrency and Resource Management
  • Design Patterns for State Machines
  • Safety and Reliability Patterns