Modeling Dynamic Software Processes in UML Ansgar Schleicher, Bernhard Westfechtel, Dirk Jäger We propose the usage of the standard notation UML for process modeling rather than a dedicated process modeling language. We regard processes as products of project management. Consequently, our approach is object-oriented and does not model processes through activity diagrams. Activity diagrams have been introduced for modeling business processes which causes several problems. Activity diagrams are viewed as process programs, even though software processes are hard to predict. Resulting modifications tend to increase the diagrams' complexity which reduces common comprehension due to numerous alternatives. In contrast, our approach starts out with use cases and informal descriptions of processes. We gather knowledge on sample processes in collaboration diagrams showing task net snapshots. We generalize the structure of processes in class diagrams. This leads us to a schematic view of the process. The structural constraints we impose on class diagrams enforce the construction of loosely coupled process patterns. These patterns are stored inside UML packages and are subject to reuse. The behavior of tasks within the process is specified by state diagrams and collaboration diagrams. This allows for the specification of multiple execution patterns for e.g. sequential or concurrent engineering, the automated execution of task nets and complex task net transformations.