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

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

DESCRIPTION

STEREOTYPE

Immutable data types

immutable

Immutable ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.