Practical UML Statecharts in C/C++, 2/e: Event-Driven Programming for Embedded Systems

Miro Samek

  • 出版商: Newnes
  • 出版日期: 2008-05-01
  • 定價: $2,480
  • 售價: 8.0$1,984
  • 語言: 英文
  • 頁數: 728
  • 裝訂: Paperback
  • ISBN: 0750687061
  • ISBN-13: 9780750687065
  • 相關分類: C++ 程式語言嵌入式系統UML
  • 立即出貨

買這商品的人也買了...

商品描述

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

商品描述(中文翻譯)

《C/C++實用UML狀態圖 第二版》填補了統一建模語言(UML)高層抽象概念與現代階層狀態機(UML狀態圖)實際編程方面之間的差距。本書描述了一個輕量級的開源事件驅動基礎架構,稱為QP,可在C或C++中直接手動編碼UML狀態圖和並發事件驅動應用,而無需使用大型工具。

本書分為兩部分。第一部分實際描述了相關狀態機概念,從傳統有限狀態自動機到現代UML狀態機,然後介紹了狀態機編碼技術和狀態機設計模式,並通過可執行示例進行了說明。第二部分詳細設計了一個通用的實時框架,用於將並發的事件驅動狀態機結合成強大的應用程序。第二部分首先清楚地解釋了關鍵的事件驅動編程概念,如控制反轉(“好萊塢原則”)、阻塞與非阻塞代碼、運行到完成(RTC)執行語義、事件隊列的重要性、時間處理以及狀態機在維護從一個事件到下一個事件的上下文方面的作用。這些背景旨在幫助軟件開發人員從傳統的順序編程轉向現代的事件驅動編程,這可能是最棘手的範式轉變之一。

輕量級的QP事件驅動基礎架構超越了傳統的實時操作系統(RTOS)。在最簡單的配置中,QP運行在裸機微處理器、微控制器或DSP上,完全取代RTOS。QP還可以與幾乎任何OS/RTOS一起使用,以利用現有的設備驅動程序、通信堆棧和其他中間件。本書的附帶網站包含了QP的完整開源代碼,以及針對流行處理器和操作系統(包括80x86、ARM Cortex-M3、MSP430和Linux)的移植,以及書中描述的所有示例。

*專注於核心概念而非經常變化的工具,讓讀者能夠在各種項目中持續使用這些信息
*為小型和大型嵌入式系統提供了一個完整、可立即使用的開源軟件架構
*在整本書中使用ARM Cortex-M3進行了廣泛的示例,突出了程序員和架構師在日常生活中遇到的問題