AnyBook4Less.com | Order from a Major Online Bookstore |
![]() |
Home |  Store List |  FAQ |  Contact Us |   | ||
Ultimate Book Price Comparison Engine Save Your Time And Money |
![]() |
Title: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems with CDROM by Miro Samek ISBN: 1-57820-110-1 Publisher: CMP Books Pub. Date: July, 2002 Format: Paperback Volumes: 1 List Price(USD): $44.95 |
Average Customer Rating: 4.57 (7 reviews)
Rating: 5
Summary: Thank you Miro Samek.
Comment: 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 the book, use the book, and enjoy a new level of software engineering.
Other books I recommend highly: Bloch - Effective Java, Brooks - Mythical Man Month, DeMarco and Lister - Peopleware, Howlett - Visual Interface Design for Windows, Kaner - Lessons Learned in Software Testing, Kaner - Testing Computer Software, McConnell - Rapid Development, McConnell - Code Complete, McGuire - Debugging the Development Process, Meyers - Effective C++, Microsoft, Windows User Experience (reference book), Norman - The Design of Everyday Things, Riel - Object-Oriented Design Heuristics (Want to learn OO? Read this), Strunk and White - Elements of Style, Vermeulen - The Elements of Java Style
Rating: 5
Summary: Excellent, thoughtful and technical treatise on statecharts
Comment: 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." In several places in the text, Samek makes an analogy between statechart (and active object) semantics and quantum mechanics. This parallel was an interesting philosophical argument, but didn't add much for me in terms of accepting his "quantum framework" as a best practice -- I was sold by his methodological arguments he had presented already.
Speaking from experience in writing a book about using statecharts to build simulations, I can say Samek is a visionary who extended my perception of statecharts several steps. I know I will be quoting from it and referring to it in my work to come. This book has earned a prominent place on my bookshelf, and I would heartily recommend it to any other developer who wants to create correct, verifiable, scaleable, and solid designs (which should be ALL developers!).
Rating: 5
Summary: Interesting book opening a whole new world!
Comment: I noticed the first version of the hierarchical statemachine framework from Samek in ESP magazine August 2000. It seemed interesting and very efficient but on this book Samek has improved the framework a lot. Multitasking is included for example.
In addition the book gives good examples and instructions to use the framework in embedded systems software projects.
If you think you should re-think your architectural design in your embedded project read the article in ESP magazine ...
![]() |
Title: Math Toolkit for Real-Time Programming by Jack W. Crenshaw ISBN: 1929629095 Publisher: CMP Books Pub. Date: September, 2000 List Price(USD): $49.95 |
![]() |
Title: Real-Time Concepts for Embedded Systems by Qing Li, Caroline Yao ISBN: 1578201241 Publisher: CMP Books Pub. Date: July, 2003 List Price(USD): $44.95 |
![]() |
Title: Embedded Systems Building Blocks: Complete and Ready-To-Use Modules in C by Jean J. Labrosse ISBN: 0879306041 Publisher: CMP Books Pub. Date: 01 December, 1999 List Price(USD): $69.95 |
![]() |
Title: MicroC OS II: The Real Time Kernel (With CD-ROM) by Jean J. Labrosse ISBN: 1578201039 Publisher: CMP Books Pub. Date: 15 June, 2002 List Price(USD): $74.95 |
![]() |
Title: Constructing the User Interface with Statecharts by Ian Horrocks ISBN: 0201342782 Publisher: Addison-Wesley Professional Pub. Date: 17 January, 1999 List Price(USD): $46.99 |
Thank you for visiting www.AnyBook4Less.com and enjoy your savings!
Copyright� 2001-2021 Send your comments