Modeling Dynamic Software Processes in UML

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 mod-eling business processes which causes several problems. Activity diagrams are viewed as process programs, even though software processes are hard to predict. Resulting modiications 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 speciied by state diagrams and collaboration diagrams. This allows for the speciication of multiple execution patterns for e.g. sequential or concurrent engineering, the automated execution of task nets and complex task net transformations .

[1]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[2]  Bernhard Westfechtel,et al.  DYNAMITE: DYNAMIc Task nEts for software process management , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[3]  Volker Gruhn,et al.  The FUNSOFT Net Approach to Software Process Management , 1994, Int. J. Softw. Eng. Knowl. Eng..

[4]  Bernhard Westfechtel,et al.  An environment for managing software development processes , 1997, Proceedings 8th Conference on Software Engineering Environments.

[5]  Andy Schürr,et al.  Graph Grammar Engineering with PROGRES , 1995, ESEC.

[6]  Gregor Engels,et al.  SOCCA: Specifications of Coordinated and Cooperative Activities , 1994 .

[7]  Dennis Heimbigner,et al.  APPL/A: a language for software process programming , 1995, TSEM.

[8]  Maria Letizia Jaccheri,et al.  E 3 : object-oriented software process model design , 1994 .

[9]  Axel Korthaus,et al.  Using UML for Business Object Based Systems Modeling , 1997, UML Workshop.

[10]  Reidar Conradi,et al.  Techniques for Process Model Evolution in EPOS , 1993, IEEE Trans. Software Eng..

[11]  Leon J. Osterweil,et al.  The design of a next-generation process language , 1997, ESEC '97/FSE-5.

[12]  Bernhard Westfechtel Integrated Product and Process Management for Engineering Design Applications , 1996 .

[13]  Bernhard Westfechtel,et al.  Graph-Based Software Process Management , 1997, Int. J. Softw. Eng. Knowl. Eng..

[14]  Carl-Arndt Krapp An adaptable environment for the management of development processes , 1998 .

[15]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[16]  Wilhelm Schäfer,et al.  Towards a Dedicated Object-Oriented Software Process Modeling Language , 1997, ECOOP Workshops.