Appendix B. Concurrent UML Models

Version 2.2 of the Unified Modeling Language (UML) infrastructure specification doesn't define many specific features related to concurrency. You can extend UML definitions to provide some visual guidelines and additional notations in models that consider concurrency. The new definitions can help both architects and developers to understand designs prepared for concurrency.

This appendix gives you some examples of how you can use UML models to represent designs and code prepared for both concurrency and parallelism. You can extend the classic models by adding a few simple and standardized visual elements. However, some models don't need changes; therefore, this appendix doesn't include them.

Visual Studio 2010 Ultimate supports some of the modeling diagrams, based on UML infrastructure specification 2.1.2. This appendix explains how Visual Studio 2010 Ultimate modeling features support a specific diagram, if at all.


Structure diagrams describe the structure of a system from different points of view. The following four structure diagrams would benefit from additional notations related to concurrency and parallelism:

  • Class diagram

  • Component diagram

  • Deployment diagram

  • Package diagram

Class Diagram

Visual Studio 2010 Ultimate modeling features support UML class diagrams. However, you need to specify new stereotypes, as described in Table B.1.

Table B.1. New Stereotypes for a Class Diagram



Immutable data types


Immutable ...

Get Professional Parallel Programming with C#: Master Parallel Extensions With .NET 4 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.