An Expressive Class of Well-Formed Activity Diagrams
摘要
Context: Activity Diagrams, one of the diagram types in UML, visualize sequences of instructions, including control flow. They are important (and popular) for modelling the dynamics of a (workflow) system. Problems: It is unclear when Activity Diagrams are or are not well-defined, what the boundaries of the notion are, or which combinations of constructs are allowed or not allowed. It is easy to construct Activity Diagrams which are inconsistent, without any possible meaning, or with activities that are not on a path from entry point to exit point (reachability). For informal sketches in a discussion, this might be okay. But as a vehicle for precise system specifications, this is not sufficient. Moreover, it is hard to prove general properties for the whole class of Diagrams. Research question: How can we specify an expressive, well-defined, consistent (sub)class of understandable constructs for Activity Diagrams in a clear way? Main idea: We use production rules (a ‘grammar’) to construct composite Activity Diagrams starting from simple Activity Diagrams (i.e., basic tasks). Solution: With only a few production rules, we constructively specify an expressive, well-defined, well-understandable and consistent class of Activity Diagrams with a clear ‘control flow semantics’ and other convenient structural properties. Additional contribution: We work out and illustrate the new idea and general principles to develop a ‘grammar for pictures’, and apply it to Activity Diagrams in this paper. This idea and general principles are applicable for other kinds of diagrams as well, e.g., for Business Process Modeling diagrams.