[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
Skip header Section
Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded SystemsOctober 2008
Publisher:
  • Newnes
  • Imprint of Butterworth-Heinemann Ltd. 313 Washington St. Newton, MA
  • United States
ISBN:978-0-7506-8706-5
Published:01 October 2008
Pages:
728
Skip Bibliometrics Section
Reflects downloads up to 12 Dec 2024Bibliometrics
Skip Abstract Section
Abstract

Practical UML Statecharts in C/C++ Second Edition bridges the gap between high-level 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, event-driven infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++ without big tools.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 state-machine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic real-time framework indispensable for combining concurrent, event-driven state machines into robust applications. Part II begins with a clear explanation of the key event-driven programming concepts such as inversion of control (Hollywood Principle), blocking versus non-blocking code, run-to-completion (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 event-driven programming, which can be one of the trickiest paradigm shifts. The lightweight QP event-driven infrastructure goes several steps beyond the traditional real-time operating system (RTOS). In the simplest configuration, QP runs on bare-metal microprocessor, microcontroller, or DSP 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 contains complete open source code for QP, ports to popular processors and operating systems, including 80x86, ARM Cortex-M3, MSP430, and Linux, as well as all examples described in the book.*Focuses on core concepts rather than tools which are always changing allowing the reader to continue to use this information with various projects*Provides a complete, ready-to-use, open source software architecture for small and large embedded systems*Includes an extensive example using the ARM Cortex-M3 throughout the book highlighting issues programmers and architects encounter in everyday life

Cited By

  1. Das T and Dingel J (2018). Model development guidelines for UML-RT, Software and Systems Modeling (SoSyM), 17:3, (717-752), Online publication date: 1-Jul-2018.
  2. ACM
    Smyth S, Motika C and von Hanxleden R Synthesizing manually verifiable code for statecharts Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, (1-10)
  3. Das T and Dingel J State machine antipatterns for UML-RT Proceedings of the 18th International Conference on Model Driven Engineering Languages and Systems, (54-63)
  4. ACM
    Heckeler P, Eichelberger H, Kropf T, Ruf J, Huster S, Burg S, Rosenstiel W and Schlich B (2013). Accelerated model-based robustness testing of state machine implementations, ACM SIGAPP Applied Computing Review, 13:3, (50-67), Online publication date: 1-Sep-2013.
  5. Lin S, Liu Y, Hsiung P, Sun J and Dong J Automatic generation of provably correct embedded systems Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering, (214-229)
  6. Coleman R, Estivill-Castro V, Hexel R and Lusty C Visual-trace simulation of concurrent finite-state machines for validation and model-checking of complex behaviour Proceedings of the Third international conference on Simulation, Modeling, and Programming for Autonomous Robots, (52-64)
  7. ACM
    Abadi M and Feldman Y Automatic recovery of statecharts from procedural code Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, (238-241)
  8. ACM
    Kratzer K and Böttcher A Using an RTSJ-compatible MVC pattern as basis for configurable event-driven real-time software Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems, (8-15)
  9. Pastor J, Alonso D, Sánchez P and Álvarez B Towards the definition of a pattern sequence for real-time applications using a model-driven engineering approach Proceedings of the 15th Ada-Europe international conference on Reliable Software Technologies, (167-180)
  10. Billington D, Estivill-Castro V, Hexel R and Rock A Modelling behaviour requirements for automatic interpretation, simulation and deployment Proceedings of the Second international conference on Simulation, modeling, and programming for autonomous robots, (204-216)
  11. ACM
    von Hanxleden R SyncCharts in C Proceedings of the seventh ACM international conference on Embedded software, (225-234)
Contributors
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations