Programming Books C Java PHP Python Learn more Browse Programming Books
Sell yours for a Gift Card
We'll buy it for $2.00
Learn More
Trade in now
Have one to sell? Sell on Amazon
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 with CDROM Paperback – July, 2002

ISBN-13: 978-1578201105 ISBN-10: 9781578201105

8 New from $78.99 22 Used from $1.95 1 Collectible from $107.03
Rent from Amazon Price New from Used from
Kindle
"Please retry"
$12.50
Paperback
"Please retry"
$78.99 $1.95
NO_CONTENT_IN_FEATURE
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 389 pages
  • Publisher: CRC Press (July 2002)
  • Language: English
  • ISBN-10: 9781578201105
  • ISBN-13: 978-1578201105
  • ASIN: 1578201101
  • 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: #582,452 in Books (See Top 100 in Books)

Editorial Reviews

Review

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

Important Information

Ingredients
Example Ingredients

Directions
Example Directions

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 (state-machine.com), 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 embeddedgurus.com/state-space/

Customer Reviews

The book is well structured.
Philippe
The hierarchical state machine approach made the new code smaller, more robust, and much easier to maintain and extend.
B. Bradley
I highly recommend this book to intermediate and advanced embedded programmer!
Soon Yau Cheong

Most Helpful Customer Reviews

52 of 57 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
26 of 27 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 "balham" 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


What Other Items Do Customers Buy After Viewing This Item?