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

Valutazione media 3,33
( su 15 valutazioni fornite da GoodReads )
 
9780750687065: Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems

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.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

L'autore:

Dr. Miro Samek is the founder and president of Quantum Leaps, an open source company providing lightweight, state machine-based, event-driven application frameworks for embedded systems. He is the author of Practical Statecharts in C/C++ (CMP Books, 2002), has written numerous articles for magazines, including a column for C/C++ Users Journal, is a regular speaker at the Embedded Systems Conferences, and serves on the editorial review board of the Embedded Systems Design magazine. For a number of years, he worked in various Silicon Valley companies as an embedded software architect and before that he worked as an embedded software engineer at GE Medical Systems (now GE Healthcare). Dr. Samek earned his Ph.D. in nuclear physics at GSI (Darmstadt, Germany).

Contenuti:

Preface
PART I STATECHARTS

Chapter 1 Whirlwind Tour of Programming with Statecharts
1.1 Why Bother?
1.2 The Traditional Event-Action Paradigm
1.3 State Machines ? A Better Way of Programming
1.3.1 The Time Bomb Example
1.3.2 The Calculator Example
1.5 Object-Oriented Analogy
1.6 The Event-driven Framework
1.6 Summary

Chapter 2 A Crash Course in Statecharts
2.1 The Essence of Finite State Machines
2.2 The Essence of UML Statecharts
2.3 Examples of State Models
2.4 Summary

Chapter 3 Standard State Machine Implementations
3.1 State Machine Interface
3.2 Nested switch Statement
3.3 State Table
3.4 State Design Pattern
3.5 Optimal FSM Implementation
3.6 State Machines and C++ Exception Handling
3.7 Role of Pointer-to-Member Functions
3.8 Implementing Guards, Junctions, and Choice Points
3.9 Implementing Entry and Exit Actions
3.10 Dealing with State Hierarchy
3.11 Summary

Chapter 4 QEP: A Minimal Hierarchical Event Processor
4.1 General Structure of the QEP Event Processor
4.2 An Annotated Example (QHsm)
4.3 QEP Structure
4.3.1 QEP Source Code Structure
4.3.2 Internal Representation of a State Machine
4.3.3 Initialization of a State Machine
4.3.4 Dispatching Events to a FSM
4.3.5 Executing a Transition in a FSM
4.3.6 Dispatching Events to a HSM
4.3.7 Executing a Transition in a HSM
4.3.8 Static Transition Optimization in a HSM
4.4 Porting and Configuring QEP
4.5 Caveats
4.6 Summary

Chapter 5 Implementing State Machines with QEP
5.1 Implementing a HSM with QEP
5.1.1 Step 1: Enumerating Signals
5.1.2 Step 2: Defining Events
5.1.3 Step 3: Defining the QCalc State Machine
5.1.4 Step 4: Declaring the QCalc States
5.1.5 Step 5: Initializing the HSM
5.1.6 Step 6: Implementing the State Handler Functions
5.2 Implementing a FSM with QEP
2.5 Pitfalls to Avoid While Coding State Machines with QEP
2.5.1 Incomplete State Handlers 2-37
2.5.2 Confusing Statecharts with Flowcharts 2-38
2.5.3 Ill-Formed State Handlers 2-39
2.5.4 Suboptimal Signal Granularity 2-42
2.5.5 Violating the Run To Completion Semantics 2-42
4.6 Summary

Chapter 6 State Patterns
6.1 Ultimate Hook
6.2 Reminder
6.3 Deferred Event
6.4 Orthogonal Component
6.5 Transition to History
6.6 Summary


PART II EVENT-DRIVEN FRAMEWORK

Chapter 7 QF: A Minimal Event-Driven Embedded Framework
7.1 Conventional Approach to Multithreading
7.2 Computing Model of QF
7.3 Annotated Example
7.3.1 The ?Airplane in the Tunnel? Game
7.3.2 The Active Object Design
7.3.3 The Implementation
7.3.4 The Port for ARM Cortex-M3
7.3.5 Testing
7.4 Summary

Chapter 8 Design of QF
8.1 Handling Errors and Exceptional Conditions
8.2 Memory Management
8.3 Mutual Exclusion and Blocking
8.4 Active Objects
8.5 Event Management in QF
8.6 Event Delivery Mechanisms in QF
8.9 Deferring and Recalling Events in QF
8.7 Time Events
8.8 Summary

Chapter 9 Implementation of QF
9.1 Code Organization
9.2 Critical Section in QF
9.3 General QF Policies Enforced by Assertions
9.4 Active Object class
9.5 Native QF Event Queue
9.6 Native QF Memory Pool
9.7 Native QF Priority Set
9.8 Native QF Scheduler

Chapter 10 Porting QF
10.1 QF Porting Guide
10.2 QF on Bare-Metal Targets (the Vanilla Port)
10.3 Using QF with a preemptive Real-Time Kernel (µC/OS-II)
10.4 QF port to a POSIX-Compliant OS (Linux)
10.5 Summary

Chapter 11 Conclusion
11.2 Rules for Developing Event-Driven Embedded Applications
11.3 Heuristics
11.4 Sizing Event Queues and Event Pools
11.5 System Integration
11.6 Summary of Key Elements
11.7 An Invitation


Appendix A QK: A Single-Stack Preemptive Kernel
A.2 Run-to-Completion Processing
A.3 Synchronous and Asynchronous Preemptions
A.4 Stack Utilization
A.4 Comparison with a Traditional RTOS
A.5 Summary

Appendix B QS: Software Tracing for Event Driven Systems
B.1 Software Tracing Concepts
B.2 Structure of QS Trace Records
B.3 QS Filters
B.4 QS Data Protocol
B.5 QS Trace Buffer
B.6 Configuring and Porting QS
B.7 Summary

Appendix C Inheriting Entire State Models in C++
C.1 Statechart Refinement Example in C++
C.3 Caveats
C.4 Summary

Appendix D Guide to Notation
D.1 Class Diagrams
D.2 Statechart Diagrams
D.3 Sequence Diagrams
D.4 Timing Diagrams

Appendix E CD-ROM
E.1 Source Code Structure
E.2 Installation
E.3 Licensing
E.4 Answers to the Exercises
E.5 QP Reference Guide (Doxygen)
E.6 Resources

Bibliography
Index

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.

I migliori risultati di ricerca su AbeBooks

1.

Miro Samek
Editore: ELSEVIER SCIENCE TECHNOLOGY, United Kingdom (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Paperback Quantità: 1
Da
The Book Depository
(London, Regno Unito)
Valutazione libreria
[?]

Descrizione libro ELSEVIER SCIENCE TECHNOLOGY, United Kingdom, 2008. Paperback. Condizione libro: New. 2nd Revised edition. 231 x 188 mm. Language: English . Brand New Book. 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. Codice libro della libreria AAZ9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 53,82
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: Regno Unito a: Italia
Destinazione, tempi e costi

2.

Miro Samek
Editore: Elsevier Science & Technology 2008-11-10, Oxford (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi paperback Quantità: 10
Da
Blackwell's
(Oxford, OX, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Elsevier Science & Technology 2008-11-10, Oxford, 2008. paperback. Condizione libro: New. Codice libro della libreria 9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 50,62
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 5,65
Da: Regno Unito a: Italia
Destinazione, tempi e costi

3.

Miro Samek
Editore: ELSEVIER SCIENCE TECHNOLOGY, United Kingdom (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Paperback Quantità: 1
Da
The Book Depository US
(London, Regno Unito)
Valutazione libreria
[?]

Descrizione libro ELSEVIER SCIENCE TECHNOLOGY, United Kingdom, 2008. Paperback. Condizione libro: New. 2nd Revised edition. 231 x 188 mm. Language: English . Brand New Book. 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. Codice libro della libreria AAZ9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 57,52
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: Regno Unito a: Italia
Destinazione, tempi e costi

4.

Miro Samek
Editore: CRC Press (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Quantità: > 20
Print on Demand
Da
Books2Anywhere
(Fairford, GLOS, Regno Unito)
Valutazione libreria
[?]

Descrizione libro CRC Press, 2008. PAP. Condizione libro: New. New Book. Delivered from our UK warehouse in 3 to 5 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Codice libro della libreria LQ-9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 46,16
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 11,78
Da: Regno Unito a: Italia
Destinazione, tempi e costi

5.

Miro Samek
Editore: CRC Press (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Quantità: 1
Da
Books2Anywhere
(Fairford, GLOS, Regno Unito)
Valutazione libreria
[?]

Descrizione libro CRC Press, 2008. PAP. Condizione libro: New. New Book. Shipped from UK in 4 to 14 days. Established seller since 2000. Codice libro della libreria GB-9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 46,42
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 11,78
Da: Regno Unito a: Italia
Destinazione, tempi e costi

6.

Samek, Miro
Editore: Focal Press (2016)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Paperback Quantità: 1
Print on Demand
Da
Ria Christie Collections
(Uxbridge, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Focal Press, 2016. Paperback. Condizione libro: New. PRINT ON DEMAND Book; New; Publication Year 2016; Not Signed; Fast Shipping from the UK. No. book. Codice libro della libreria ria9780750687065_lsuk

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 53,54
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 5,26
Da: Regno Unito a: Italia
Destinazione, tempi e costi

7.

Miro Samek
Editore: Taylor & Francis Ltd. Dez 2008 (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Taschenbuch Prima edizione Quantità: 1
Valutazione libreria
[?]

Descrizione libro Taylor & Francis Ltd. Dez 2008, 2008. Taschenbuch. Condizione libro: Neu. 236x191x43 mm. Neuware - The shear volume of embedded code produced by programmers demands a unified language and framework to create efficient and maintainable systems. UML(unified modeling language) statecharts are a practical way in which to create this framework. The software framework of from the first edition is now open source and has been significantly improved and expanded. It is now compatible with the very popular ARM7 architecture and Cortex-M3. This book is presented in two parts, the first introduces statecharts, how to design with them and how to code them directly into C/C++ without the use of expensive tools. Part two introduces the author's event-driven framework for executing the material presented in part one. 712 pp. Englisch. Codice libro della libreria 9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 54,99
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 4,95
Da: Germania a: Italia
Destinazione, tempi e costi

8.

Samek, Miro
Editore: Elsevier Science & Technology (2008)
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Brossura Quantità: 1
Valutazione libreria
[?]

Descrizione libro Elsevier Science & Technology, 2008. Condizione libro: New. 2008. 2nd Edition. Paperback. Describes a lightweight, open source infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++ without big tools. This book focuses on core concepts rather than tools which are always changing allowing the reader to continue to use this information with various projects. Num Pages: 728 pages, 1, black & white illustrations. BIC Classification: UMN. Category: (P) Professional & Vocational. Dimension: 233 x 190 x 37. Weight in Grams: 1310. . . . . . . Codice libro della libreria V9780750687065

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 61,16
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: Irlanda a: Italia
Destinazione, tempi e costi

9.

Samek, Miro
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Quantità: 1
Da
BWB
(Valley Stream, NY, U.S.A.)
Valutazione libreria
[?]

Descrizione libro Condizione libro: New. Depending on your location, this item may ship from the US or UK. Codice libro della libreria 97807506870650000000

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 61,91
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: U.S.A. a: Italia
Destinazione, tempi e costi

10.

Miro Samek
ISBN 10: 0750687061 ISBN 13: 9780750687065
Nuovi Paperback Quantità: 1
Da
Ria Christie Collections
(Uxbridge, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Paperback. Condizione libro: New. Not Signed; 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 infras. book. Codice libro della libreria ria9780750687065_rkm

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 57,12
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 5,26
Da: Regno Unito a: Italia
Destinazione, tempi e costi

Vedi altre copie di questo libro

Vedi tutti i risultati per questo libro