skip to content
Practical UML statecharts in C/C++ : event-driven programming for embedded systems Preview this item
ClosePreview this item
Checking...

Practical UML statecharts in C/C++ : event-driven programming for embedded systems

Author: Miro Samek
Publisher: Amsterdam : Newnes, 2009.
Edition/Format:   Print book : English : 2nd edView all editions and formats
Summary:
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. This text is a guide to UML.
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: Miro Samek
ISBN: 9780750687065 0750687061
OCLC Number: 214307694
Notes: Previous edition: published as Practical statecharts in C/C++. Lawrence, Kan.: CMP, 2002.
Description: xxxi, 712 pages : illustrations ; 24 cm
Contents: Part I. Statecharts --
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 --
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 --
3. Standard State Machine Implementations --
3.1. State Machine Interface --
3.2. Nested switchStatement --
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 --
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 --
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 --
5.2. Confusing Statecharts with Flowcharts --
5.3. Ill-Formed State Handlers --
5.4. Suboptimal Signal Granularity --
5.5. Violating the Run To Completion Semantics --
5.6. Summary --
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 --
7. QF: A Minimal Event-Driven Embedded Framework --
7.1. Conventional Approachto 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 --
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 --
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 --
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 (uC /OS-II) --
10.4. QF port to a POSIX-Compliant OS (Linux) --
10.5. Summary --
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 --
Appendix A.1. Run-to-Completion Processing --
Appendix A.2. Synchronous and Asynchronous Preemptions --
Appendix A.3. Stack Utilization --
Appendix A.4. Comparison with a Traditional RTOS --
Appendix A.5. Summary --
Appendix B. QS: Software Tracing for Event Driven Systems --
Appendix B.1. Software Tracing Concepts --
Appendix B.2. Structure of QS Trace Records --
Appendix B.3. QS Filters --
Appendix B.4. QS Data Protocol --
Appendix B.5. QS Trace Buffer --
Appendix B.6. Configuring and Porting QS --
Appendix B.7. Summary --
Appendix C. Inheriting Entire State Models in C++ --
Appendix C.1. Statechart Refinement Example in C++ --
Appendix C.2. Caveats --
Appendix C.3. Summary --
Appendix D. Guide to Notation --
Appendix D.1. Class Diagrams --
Appendix D.2. Statechart Diagrams --
Appendix D.3. Sequence Diagrams --
Appendix D.4. Timing Diagrams --
Appendix E. Cd-Rom --
Appendix E.1. Source Code Structure --
Appendix E.2. Installation --
Appendix E.3. Licensing --
Appendix E.4. Answers to the Exercises --
Appendix E.5. QP Reference Guide (Doxygen) --
Appendix E.6. Resources.
Responsibility: Miro Samek.

Abstract:

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  Read more...

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/214307694> # Practical UML statecharts in C/C++ : event-driven programming for embedded systems
    a schema:CreativeWork, schema:Book ;
   library:oclcnum "214307694" ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/800267231#Place/amsterdam> ; # Amsterdam
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/enk> ;
   schema:about <http://id.worldcat.org/fast/872537> ; # Computer software--Development
   schema:about <http://experiment.worldcat.org/entity/work/data/800267231#Topic/c> ; # C
   schema:about <http://dewey.info/class/005.117/e22/> ;
   schema:about <http://id.worldcat.org/fast/1160249> ; # UML (Computer science)
   schema:about <http://experiment.worldcat.org/entity/work/data/800267231#Topic/eingebettetes_system> ; # Eingebettetes System
   schema:about <http://experiment.worldcat.org/entity/work/data/800267231#Topic/uml> ; # UML
   schema:about <http://id.worldcat.org/fast/932926> ; # Formal methods (Computer science)
   schema:about <http://id.loc.gov/authorities/subjects/sh85029535> ; # Computer software--Development
   schema:about <http://id.worldcat.org/fast/1042804> ; # Object-oriented programming (Computer science)
   schema:about <http://id.worldcat.org/fast/1131971> ; # Statecharts (Computer science)
   schema:bookEdition "2nd ed." ;
   schema:bookFormat bgn:PrintBook ;
   schema:creator <http://viaf.org/viaf/46132217> ; # Miro Samek
   schema:datePublished "2009" ;
   schema:description "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. This text is a guide to UML."@en ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/800267231> ;
   schema:inLanguage "en" ;
   schema:name "Practical UML statecharts in C/C++ : event-driven programming for embedded systems"@en ;
   schema:productID "214307694" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/214307694#PublicationEvent/amsterdam_newnes_2009> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/800267231#Agent/newnes> ; # Newnes
   schema:url <http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017049755&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA> ;
   schema:url <http://bvbr.bib-bvb.de:8991/F?func=serviceetdoc_library=BVB01etdoc_number=017049755etline_number=0001etfunc_code=DB_RECORDSetservice_type=MEDIA> ;
   schema:workExample <http://worldcat.org/isbn/9780750687065> ;
   umbel:isLike <http://bnb.data.bl.uk/id/resource/GBA848302> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/214307694> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/800267231#Topic/eingebettetes_system> # Eingebettetes System
    a schema:Intangible ;
   schema:name "Eingebettetes System"@en ;
    .

<http://id.loc.gov/authorities/subjects/sh85029535> # Computer software--Development
    a schema:Intangible ;
   schema:name "Computer software--Development"@en ;
    .

<http://id.worldcat.org/fast/1042804> # Object-oriented programming (Computer science)
    a schema:Intangible ;
   schema:name "Object-oriented programming (Computer science)"@en ;
    .

<http://id.worldcat.org/fast/1131971> # Statecharts (Computer science)
    a schema:Intangible ;
   schema:name "Statecharts (Computer science)"@en ;
    .

<http://id.worldcat.org/fast/1160249> # UML (Computer science)
    a schema:Intangible ;
   schema:name "UML (Computer science)"@en ;
    .

<http://id.worldcat.org/fast/872537> # Computer software--Development
    a schema:Intangible ;
   schema:name "Computer software--Development"@en ;
    .

<http://id.worldcat.org/fast/932926> # Formal methods (Computer science)
    a schema:Intangible ;
   schema:name "Formal methods (Computer science)"@en ;
    .

<http://viaf.org/viaf/46132217> # Miro Samek
    a schema:Person ;
   schema:familyName "Samek" ;
   schema:givenName "Miro" ;
   schema:name "Miro Samek" ;
    .

<http://worldcat.org/isbn/9780750687065>
    a schema:ProductModel ;
   schema:isbn "0750687061" ;
   schema:isbn "9780750687065" ;
    .

<http://www.worldcat.org/title/-/oclc/214307694>
    a genont:InformationResource, genont:ContentTypeGenericResource ;
   schema:about <http://www.worldcat.org/oclc/214307694> ; # Practical UML statecharts in C/C++ : event-driven programming for embedded systems
   schema:dateModified "2017-12-23" ;
   void:inDataset <http://purl.oclc.org/dataset/WorldCat> ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.