Industrial-Sized Deals Best Books of the Month Shop Women's Handbags Learn more nav_sap_plcc_6M_fly_beacon $5 Albums Storm Fire TV Stick Off to College Essentials Find the Best Purina Pro Plan for Your Pet Shop Popular Services Home Theater Setup Plumbing Services Assembly Services Shop all TransparentGGWin TransparentGGWin TransparentGGWin  Amazon Echo Fire HD 6 Kindle Voyage The Walking Dead\ Gear Up for Football Deal of the Day

Practical Statecharts in C/C++: Quantum Programming for Embedded Systems with CDROM

22 customer reviews
ISBN-13: 978-1578201105
ISBN-10: 1578201101
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Acceptable
Comment: Item may not include associated media. Appears to have been read. Large cut / scratch on back cover. Missing disc.
Access codes and supplements are not guaranteed with used items.
19 Used from $4.44
More Buying Choices
4 New from $106.64 19 Used from $4.44

InterDesign Brand Store Awareness Textbooks

Special Offers and Product Promotions

Editorial Reviews


...downright revolutionary... The title is a major understatement... "Quantum Programming" may ultimately change the way embedded software is designed. -- Michael Barr, Editor-in-Chief, Embedded Systems Programming magazine, August 2002

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

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).


Best Books of the Month
Best Books of the Month
Want to know our Editors' picks for the best books of the month? Browse Best Books of the Month, featuring our favorite new books in more than a dozen categories.

Product Details

  • Paperback: 389 pages
  • Publisher: CRC Press (July 1, 2002)
  • Language: English
  • ISBN-10: 1578201101
  • ISBN-13: 978-1578201105
  • Product Dimensions: 9.1 x 7.4 x 1.1 inches
  • Shipping Weight: 1.9 pounds
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (22 customer reviews)
  • Amazon Best Sellers Rank: #1,312,839 in Books (See Top 100 in Books)

More About the Author

Dr. Miro M. Samek is the creator of the open source QP active object frameworks and the free QM graphical modeling tool. He is also the founder of Quantum Leaps (, an open source company dedicated to bringing quantum leaps of innovation to embedded systems programming by making software and tools that enable widespread adoption of event-driven active object frameworks, hierarchical state machines (UML statecharts), design by contract, rapid prototyping, modeling, and automatic code generation.

Miro blogs at

Customer Reviews

Most Helpful Customer Reviews

53 of 58 people found the following review helpful By Frank Schuhardt on June 1, 2006
Format: Paperback
A couple of months ago I would have fully agreed with most of the reviewers: yes, statecharts is an important topic, and Samek covers it well. Indeed he does: The book is chock-full of (working!) code and will give you a head-start at tackling difficult behavioral control problems. I do not develop real-time software, but thinking of _every_ software as if it were real-time can increase quality. I feel I gained a lot of insight, and it made me rethink some architecture issues.

You can brush over the quantum-babble, mainly because it's irrelevant and an already overstreched analogy-for-everything. With regards to Statecharts, no harm is done that Samek is evangelizing a little bit too forcefully.

So why 3 stars only? After working with the concepts and coding a number of statemachines the Samek-way, I started to notice that Samek's approach does not quite deliver as promised:

* Be prepared to be disconnected from the community: Samek's statecharts part in a lot of aspects from the UML 2.0 statecharts (although there is a website w/ quite a lot of activity). Looking at UML-compliant statecharts from fellow developers you will realize that you cannot transcribe them easily using Samek's framework. Main reason: UML has functionality (= non-statemachine code) in transition actions and event guards, Samek in state event handlers.

* Samek's statemachines are "run-to-completion", which results excessive self-posting of events and queuing. Although the code is not spaghetti, the execution is - and debugging is _very_ difficult.

* After a while, it is very difficult to infer the statechart semantics from the code.
Read more ›
3 Comments 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
27 of 28 people found the following review helpful By Jonathan Kaye on April 2, 2003
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 ›
Comment 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
14 of 14 people found the following review helpful By LO YIP BONG on September 11, 2002
Format: Paperback
This book has done a great job in consolidating many key concepts and techniques in embedded software design. Though state machines and event-driven design are not new, the author proposed a truly reusable and integrated framework which is very well designed and particularly suitable for resource constrained embedded systems.
Author's implementation of state machines is innovative and remarkable. It supports state nesting, automatic execution of entry/exit actions and default event handling by superstates. This allows you to implement UML statecharts in C++/C conveniently.
In general this book is very clearly written and comprehensive. Its reference list is also valuable, pointing to some classics in OOD and good articles in Embedded Systems Programing. This book will definitely become a classic in embedded software itself.
On the downside, I find the repeated analogy of the software model to quantum physics overwhelming. Besides the author chose to show you examples and implications before showing you the details and internal. This kind of abstraction may pose some question marks in your mind when you read the first few chapters. But do read on and you will appreciate the great ideas.
Comment 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
13 of 13 people found the following review helpful By Michael R. on October 26, 2002
Format: Paperback
I think the title is a little misleading.
It is more a introduction to state machines and implementing them on embedded systems. It fact it is more about developing on embedded systems!
Having said that it does it very, very well. I would even reccomend it to non-embedded developers,particularly the sections on multi-threading issues and Active objects.
I'm not sure who the audience is though. A lot of embedded developers are unfamiliar with C++, UML while non-embedded developers may not even think that state machines could be useful to them.
I appreciate the quantum physics analogies, but I don't think they needed so much space.
The section on implementing O-O in C is good, but once again,is it relevant to a book on state-machines and active objects.
The framework looks good, butI would tweak the C++ version to get rid of all those macro's and function pointers! Particularly if you wanted to port it to java.
Excellent book but change the title!
Comment 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

Most Recent Customer Reviews

Want to discover more products? Check out these pages to see more: programming, c language, software testing, embedded linux