April 08, 2008
In this issue:
  • "Practical UML Statecharts in C/C++, Second Edition" (PSiCC2)
  • New Milestone Release QP v4
  • New QP Tutorials
  • "Event-Driven Programming for Embedded Systems" class at the ESC Silicon Valley
  • Book Signing at the ESC Silicon Valley
  • Object-based programming in C

"Practical UML Statecharts in C/C++, Second Edition" (PSiCC2)

PSiCC2

The new, completely revised book "Practical UML Statecharts in C/C++, Second Edition: Event Driven Programming for Embedded Systems" (PSiCC2) is now available for pre-order from Amazon.com and other online book sellers. The book will be published in mid-July.

PSiCC2 is a complete re-write of the first edition and now presents a detailed design study of the new QP v4.0 as well as explanation of all related concepts, such as modern hierarchical state machines (UML statecharts) and event-driven programming with real-time frameworks.

The accompanying website to PSiCC2 is up and running already. You can find there the following information:

  • Excerpts from the book, including the Preface, Introduction, and Chapter 1, which describes a fun, event-driven example of a "Fly 'n' Shoot" game implemented with QP 4.0.
  • Complete source code accompanying the book, including QP/C 4.0.00, QP/C++ 4.0.00, QP-nano 4.0.00, and all examples described in the book. Most of the provided examples can be executed on a standard Windows PC. ARM Cortex-M3 and MSP430 versions of the examples are provided as well.
  • Editorial Review of the book

Visit PSiCC2 website »

New Milestone Release QP v4

QP 4.0

The new milestone release QP 4.0.00 is available for download.

This milestone release is made for the PSiCC2 book. The standard distributions of QP/C, QP/C++, and QP-nano include very detailed, searchable, hyper-linked Reference Manuals in HTML and CHM formats. The Reference Manuals now replace the "QP Programmer's Manuals" for previous versions 3.x.

QP v4 contains numerous improvements, but perhaps the most important change from the application programmer's perspective is that the coding techniques for state machines have changed in QP v4. While the changes are quite simple, QEP v4 breaks the backward compatibility with QEP 3.x, meaning that some manual changes to the state machines implemented with earlier versions are necessary. Please refer to the links below to find out what's new in QP/C, QP/C++, and QP-nano v4.0.

The standard distributions of QP v4 contain ports to Linux (which covers most POSIX-compliant operating systems), as well as 80x86, ARM Cortex-M3, and MSP430 (QP-nano). The other QP Development Kits (QDKs) will be upgraded to version 4 shortly. Stay Tuned!

Download QP 4.0.00 »
Revision history of QP/C »
Revision history of QP/C++ »
Revision history of QP-nano »

New QP Tutorials

QP Tutorials

The new QP 4.0 comes with tutorials that present an example project implemented entirely with the QP event-driven platform using UML state machines and the event-driven paradigm. The example application is an interactive "Fly 'n' Shoot"-type game, which you can run on any PC or on an inexpensive Cortex-M3 development kit. The QP Tutorials are based on Chapter 1 of PSiCC2

QP/C Tutorial  »
QP/C++ Tutorial  »
QP-nano Tutorial  »

"Event-Driven Programming for Embedded Systems" class at the ESC Silicon Valley

ESC SV

April 16, 2008 (Wednesday)
Time:  8:30am-10am (Part 1)
            10:30am-12pm (Part 2)
McEnery Convention Center
San Jose, CA

Miro Samek and Michael Barr present a 3-hour class "Event Driven Programming for Embedded Systems" at the Embedded Systems Conference Silicon Valley (classes [ESC-301] and [ESC-321])

Here is the class abstract:

Most embedded systems are event-driven by nature. Yet, the conventional embedded software architectures, ranging from foreground/background to real-time operating systems (RTOS), are typically not truly event driven. This class helps embedded developers to make the transition from sequential to the modern event-driven programming, which can be one of the trickiest paradigm shifts. ESC SV The class covers such concepts as the inversion of control ("Hollywood principle"), blocking versus non-blocking code, run-to-completion (RTC) execution semantics, events as objects, the role of event queues, dealing with time, use of state machines to maintain the context, and the concept of a generic, reusable, event-driven framework. The class uses diagrams, code, and examples running on an actual target CPU.


On Wednesday afternoon (April 16) Miro Samek will be signing books at the Elsevier booth #3051. Please stop by to say Hi!

Object-based programming in C

Blog

Check out the state-space blog on EmbeddedGurus.net. The latest post is about object-based programming in C.

Check out the state-space blog »

SUBSCRIPTION INFORMATION: You have received this e-mail because you have contacted Quantum Leaps or specifically elected to receive news from Quantum Leaps. To make sure you continue to receive this Newsletter in your e-mail inbox, and that it is not sent to bulk or junk folders, please add news@quantum-leaps.com to your address book.

If you no longer wish to receive e-mail from Quantum Leaps, please unsubscribe at: quantum-leaps.com/news or reply to this e-mail with the word "unsubscribe" in the subject or body of the message.

If you have been forwarded this newsletter and would like to receive it directly, please also visit quantum-leaps.com/news to subscribe.