Charles Crichton, Jim Davies, and Alessandra Cavarra.
December 2001, 15pp.
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.