Programming Research Group Research Report RR-01-22

A pattern for concurrency in UML

Charles Crichton, Jim Davies, and Alessandra Cavarra.

December 2001, 15pp.

Abstract

This paper presents a pattern of usage for the Unified Modeling Language (UML), intended for the description of systems in which two or more operations may be acting concurrently upon the same object. The pattern addresses two common problems - inadequate models, and complicated state diagrams - with a simple separation of concerns. Changes in attribute state, and changes in operation state, are described separately, using two different types of diagram.

Simple examples are used to demonstrate the application of the pattern: at an implementation level, and at a more abstract, design level. The semantics for concurrency within UML is examined, not only to clarify the interpretation of the pattern, but also to explain why the existing provision - concurrent composite states and concurrency attributes - is not applicable.


This paper is available as a 551,903 bytes pdf file.