Practical Statecharts in C/C++: Quantum Programming for Embedded Systems

Appendix B: Guide to Notation

Overview

The good thing about bubbles and arrows, as opposed to programs, is that they never crash.

Bertrand Meyer

In this appendix, I describe the graphical notation that I use throughout the book. [1] The notation should be compatible with version 1.4 of the UML specification [2] [OMG 01]. The timing diagrams are not part of the UML. I adapted them from Douglass [Doublass 99].

[1]In this appendix, I do not include the informal data structure diagrams that show particular C or C++ data structures at run time.

[2]I prepared all diagrams with Visio Technical v4.0. The accompanying CD-ROM contains the Visio stencil that I used.

B.1 Class Diagrams

A class diagram shows classes, their internal structures, and the static (compile-time) relationships among them. Figure B.1 shows the various presentation options for classes.

  • A class is always denoted by a box with the class name in bold type at the top. Optionally, just below the name, a class box can have an attribute compartment that is separated from the name by a horizontal line. Below the attributes, a class box can have an optional method compartment.

  • The UML notation allows you to distinguish abstract classes, which are classes intended only for derivation and cannot have direct instances. Figure B.1c shows the notation for such classes. The abstract class name appears in italic font. Optionally you may use the abstract stereotype. If a class has abstract methods (pure virtual member functions in C++),...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Integrated Development Environment (IDE)
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.