
Title

Practical UML Statecharts in C/C++: EventDriven Programming for Embedded Systems,Used
Delivery time: 8-12 business days (International)
Practical UML Statecharts in C/C++ Second Edition bridges the gap between highlevel abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, active object (actor) framework, called QP that enables direct manual coding UML statecharts and concurrent eventdriven applications in C or C++.This book is presented in two parts. In Part I, you get a practical description of the relevant state machine concepts starting from traditional finite state automata to modern UML state machines followed by state machine coding techniques and statemachine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic realtime framework indispensable for combining concurrent, eventdriven state machines into robust applications. Part II begins with a clear explanation of the key eventdriven programming concepts such as inversion of control (Hollywood Principle), blocking versus nonblocking code, runtocompletion (RTC) execution semantics, the importance of event queues, dealing with time, and the role of state machines to maintain the context from one event to the next. This background is designed to help software developers in making the transition from the traditional sequential to the modern eventdriven programming, which can be one of the trickiest paradigm shifts.The lightweight QP active object framework goes several steps beyond the traditional realtime operating system (RTOS). In the simplest configuration, QP runs on baremetal microcontroller completely replacing the RTOS. QP can also work with almost any OS/RTOS to take advantage of the existing device drivers, communication stacks, and other middleware.The accompanying website to this book (statemachine.com/psicc2) contains complete open source code for QP and the free QM graphical modeling tool for QP, ports to popular processors, including ARM CortexM, ARM7/9, MSP430, AVR/AVR32, PIC24, RX, etc., as well as QP ports to operating systems, such as Linux, Windows, and Android.
By changing our most important processes and
products, we have already made a big leap forward. This ranges from the
increased use of more sustainable fibers to the use of more
environmentally friendly printing processes to the development of
efficient waste management in our value chain.
Shipping & Returns
Shipping
We ship your order within 2–3 business days for USA deliveries and 5–8 business days for international shipments. Once your package has been dispatched from our warehouse, you'll receive an email confirmation with a tracking number, allowing you to track the status of your delivery.
Returns
To facilitate a smooth return process, a Return Authorization (RA) Number is required for all returns. Returns without a valid RA number will be declined and may incur additional fees. You can request an RA number within 15 days of the original delivery date. For more details, please refer to our Return & Refund Policy page.
Shipping & Returns
Shipping
We ship your order within 2–3 business days for USA deliveries and 5–8 business days for international shipments. Once your package has been dispatched from our warehouse, you'll receive an email confirmation with a tracking number, allowing you to track the status of your delivery.
Returns
To facilitate a smooth return process, a Return Authorization (RA) Number is required for all returns. Returns without a valid RA number will be declined and may incur additional fees. You can request an RA number within 15 days of the original delivery date. For more details, please refer to our Return & Refund Policy page.
Warranty
We provide a 2-year limited warranty, from the date of purchase for all our products.
If you believe you have received a defective product, or are experiencing any problems with your product, please contact us.
This warranty strictly does not cover damages that arose from negligence, misuse, wear and tear, or not in accordance with product instructions (dropping the product, etc.).
Warranty
We provide a 2-year limited warranty, from the date of purchase for all our products.
If you believe you have received a defective product, or are experiencing any problems with your product, please contact us.
This warranty strictly does not cover damages that arose from negligence, misuse, wear and tear, or not in accordance with product instructions (dropping the product, etc.).
Secure Payment
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
We accept payments with :
Visa, MasterCard, American Express, Paypal, Shopify Payments, Shop Pay and more.
Secure Payment
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
We accept payments with :
Visa, MasterCard, American Express, Paypal, Shopify Payments, Shop Pay and more.