Practical Statecharts in C/C++: Quantum Programming for E... and over one million other books are available for Amazon Kindle. Learn more
Buy Used
CDN$ 24.52
+ CDN$ 6.49 shipping
Used: Good | Details
Condition: Used: Good
Comment: Buy with confidence. Excellent Customer Service & Return policy.Ships from USA. Please give between 2-5 week for delivery.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Practical Statecharts in C/C++: Quantum Programming for Embedded Systems Paperback – Jul 2002

See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 112.26 CDN$ 24.51

There is a newer edition of this item: First Novel Award - 6 Canadian Novels Make the Shortlist

Product Details

  • Paperback: 389 pages
  • Publisher: CRC Press; 1 edition (July 2002)
  • Language: English
  • ISBN-10: 1578201101
  • ISBN-13: 978-1578201105
  • Product Dimensions: 23.2 x 18.7 x 2.9 cm
  • Shipping Weight: 862 g
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (9 customer reviews)
  • Amazon Bestsellers Rank: #1,776,332 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description


Beyond simply talking about concepts, Miro provides complete source code and code walkthroughs. -- Brian Schmidt, Sr. Design Engineer, Plexus Technology Group

Samek's framework makes state machine implementation in C or C++ a breeze. -- Michael Barr, Editor-in-Chief, Embedded Systems Programming magazine

About the Author

Dr. Miro Samek is the founder and president of Quantum Leaps, an open source company providing lightweight, state machine-based, event-driven application frameworks for embedded systems. He is the author of Practical Statecharts in C/C++ (CMP Books, 2002), has written numerous articles for magazines, including a column for C/C++ Users Journal, is a regular speaker at the Embedded Systems Conferences, and serves on the editorial review board of the Embedded Systems Design magazine. For a number of years, he worked in various Silicon Valley companies as an embedded software architect and before that he worked as an embedded software engineer at GE Medical Systems (now GE Healthcare). Dr. Samek earned his Ph.D. in nuclear physics at GSI (Darmstadt, Germany).

Inside This Book (Learn More)
First Sentence
The triumph of the graphical user interface has been one of the most impressive developments in software during the past three decades. Read the first page
Explore More
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

4.7 out of 5 stars
Share your thoughts with other customers

Most helpful customer reviews

Format: Paperback
First prior to reading this book, I was finding the title unattractive. I did not know what statecharts were and what Quantum programming was. By reading this book, I have learn that statecharts were special finite state machines that could be built by deriving them from more general FSM similar to how OO classes inheritance works.

Quantum is the name of the presented framework in the book. The title is misleading because I though that Quantum programming was some weird new programming technique that I was not aware and did not care to learn. I think that it is important to find catchy names to market software but one negative point of the book, is that the author spend way too much pages to describe similarities between quantum physics and his framework to justify the name 'Quantum' for his framework. Programmers are not all quantum physics enthusiasts!

Concerning the book content, the author presents the C++ classes implementing the statecharts framework and a set of classes to make threads driven by statecharts collaborate together by communicating with message queues. It is an interesting reading and there are many places where you can learn good programming tricks by seeing the author code. However, I am not sure that I would want to use the framework because it is complex. Let me clarify what I mean. It is not the framework that is complex but implementing statecharts is complex. I believe that the author made his code as simple as possible to implement statecharts. Personally, I still have to work on a problem where a simple FSM will not be enough.
Read more ›
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
I seldom write reviews. This book changed my life, and I've been developing embedded software for twenty-five years. Samek's nested finite state machines, which he calls Hierarchical State Machines (HSMs) give the embedded software architect a framework arguably as fundamental as an RTOS. If you are creating event-driven embedded software where objects have member variables representing their state at any given time, this book is required reading.
For those of you unfamiliar with state machines, the book gets you up to speed in a hurry. For those of you unfamiliar with the advantages of state machines, especially HSMs, permit me to summarize. They allow you to create design diagrams (the book uses UML-plus) that map directly and clearly to code, they let you keep the code and diagrams in sync more easily, they allow you to create better designs because you are thinking in terms of events, states, and transitions as well as in terms of objects, they allow you to have more effective reviews, and they allow you to create more testable code since events serve as inputs and states serve as outputs. To some degree, object-oriented design without HSMs provides those benefits, but state machines let you define the complete set of events and state transitions so you can test more rigorously and more completely - and more automatically.
By the way, the book does read well and read quickly. After your first read, as you begin using HSMs to design software, you will reference sections of the book and begin acquiring a more in-depth understanding of the details. You'll find yourself talking with your peers about the book, and then they'll read it. Soon you'll be enjoying collaborative design based on use cases that spawn statecharts, classes (each HSM is an object), and real-time constraints.
Read more ›
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
Since I am not from the embedded system world, I was a bit apprehensive about approaching this book. While I can see that author Miro Samek has a directed target for his audience, I strongly feel that this book is a "must read" for technical developers in all areas who want to improve their program design abilities or developers who want to understand the philosophy, use, and implementation of statecharts intimately.
As the title indicates, this book brings the topic of statecharts from the realm of expensive design tools to the PRACTICAL realm, illustrating its points with full examples and extensive commentary.
Essentially Samek postulates that the slow adoption by developers of best practices by statechart design is due to lack of understanding of the fundamental nature of statecharts and how it is perceived as requiring expensive tools to use well. Samek insightfully discusses how statecharts as a best practice embody "behavioral inheritance" as a fundamental design concept that stands as a peer alongside the conventional pillars of object-oriented programming, namely inheritance, encapsulation, and polymorphism.
The book is very technical and written in an academic style, with ample references to original sources as well as detailed code reviews and many reader exercises. I would caution anyone from approaching this book as a quick or light read. For me, it took a seriousness and good understanding of C and C++ to follow Samek's examples and achieve the "a-ha", which was always worth it in the end.
The two basic parts of the text are (1) an explanation of statecharts and their methodological implications, and (2) a description of how to apply statecharts as a data structure in real applications, namely embedded as control strategies for "active objects.
Read more ›
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.