Customer Reviews


9 Reviews
5 star:
 (7)
4 star:
 (1)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favourable review
The most helpful critical review


5.0 out of 5 stars Thank you Miro Samek.
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...
Published on June 28 2003 by Robert O. Alexander

versus
3.0 out of 5 stars Not a very productive Book!
I bought this book in mind, that it will guide you with the smooth transition of fsm/fsa to modern UML based state-charts. providing practical examples in C/C++ as the title is
"Practical Statecharts in C/C++" that means guide you from design of state-charts to implementations, it lacks in that too. not a very exciting and practical examples.. My...
Published on July 25 2002 by M. Mukhtar


Most Helpful First | Newest First

5.0 out of 5 stars Thank you Miro Samek., June 28 2003
By 
Robert O. Alexander (Bellevue, WA United States) - See all my reviews
(REAL NAME)   
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (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 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
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Excellent, thoughtful and technical treatise on statecharts, April 2 2003
By 
Jonathan Kaye "flashsimguy" (Philadelphia, PA USA) - See all my reviews
(REAL NAME)   
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (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." 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!).
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Excellent Book in Embedded Software Design, Sept. 11 2002
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Excellent Book in Embedded Software Design, Sept. 11 2002
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Excellent book, Oct. 26 2002
By 
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (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!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3.0 out of 5 stars Not a very productive Book!, July 25 2002
By 
M. Mukhtar "M. Shams Mukhtar" (Florida, USA) - See all my reviews
(REAL NAME)   
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (Paperback)
I bought this book in mind, that it will guide you with the smooth transition of fsm/fsa to modern UML based state-charts. providing practical examples in C/C++ as the title is
"Practical Statecharts in C/C++" that means guide you from design of state-charts to implementations, it lacks in that too. not a very exciting and practical examples.. My expectations were very high for this book, i thought this is it, we have some good additions in fsm category. little bit disappointed. Good points are the Quantum programming discussion is very well written and does a great deal of job there! There is nothing new or well written for state-machines. for that you you have to really look for other books.... allrighty, thanks
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Excellent book on Embedded Framework, Jan. 6 2003
By 
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (Paperback)
I want to congratulate Miro Samek for his book.
The book is well structured. The UML Statecharts are well introduced. The Actives Objects approach and the related Framework are very attractive. With the Framework (QF) for embedded real-time systems included, you are really able to use it for your application. You can then focus on your application objects and no more on the "glue" around them. You have a common strategy for all your applications.
The best book on UML for embedded system from a long time.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars Interesting book opening a whole new world!, Feb. 27 2003
By A Customer
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (Paperback)
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 ...
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars This is a sleeping hit book!, July 11 2007
By 
Olivier Langlois "www.OlivierLanglois.net" (Montreal, Quebec Canada) - See all my reviews
(REAL NAME)   
This review is from: Practical Statecharts in C/C++: Quantum Programming for Embedded Systems (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.

The best feature of the book is its presentation of a base class to implement FSMs and compares it with traditional table based FSMs and a OO FSM like the one presented in the Design Pattern book and it is highly convincing that his FSM implementation is superior to the other 2 in size, performance and ease of maintenance. Another interesting topic is the author method to emulate C++ in C. You cannot beat the real thing with an emulation but when you have to go write C and you are used to do OO programming, this method might become handy.

I would say that for the FSM pattern and the C++ in C methodology alone, even if it represents a small proportion of pages in the book, it justifies the purchase of this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Most Helpful First | Newest First

This product

Practical Statecharts in C/C++: Quantum Programming for Embedded Systems
Used & New from: CDN$ 47.35
Add to wishlist See buying options
Only search this product's reviews