State Digrams in UML: A Formal Senmatics using Graph Transformations Xiyao Yin
Overview Introduction of UML Features of UML State Diagrams Process of Deriving Graphs Graph Transformation Systems Transitions to Nested States Conclusion
Introduction The Unified Modeling Language (UML) is a general-purpose visual modeling language that is designed to specify, visualize, construct and document the artifacts of software systems. Description of UML diagrams: abstract syntax well-formedness rules for the abstract syntax semantics
UML State Diagrams
UML State Diagrams
Deriving Graphs The process of state expansion in nested state diagrams is explained by graph transformations in three steps: (1) adding boundary nodes introducing a precise interface for the state to be expanded (2) expanding the state (3) removing the boundary nodes
Deriving Graphs
Deriving Graphs
Graph Transformation Systems Definition Let C = (CA, CN ) be a pair of color alphabets. A C-colored graph G is a six-tuple (GA, GN, s, t, mA, mN ), consisting of: 1. sets GA and GN , called the set of arcs and the set of nodes; 2. source and target mappings s: GA →GN ; t : GA→GN; 3. arcs and nodes coloring mappings mA : GA→CA ; mN : GN→CN
Transitions to Nested States
Transitions to Nested States
Transitions to Nested States
Transitions to Nested States
Conclusion The general idea of the overall approach is to rewrite UML diagrams to canonical graph representation. We achieve a normal form for nested UML state diagrams by means of graph transformations. The main advantage of the graph transformation approach is the closeness between the mathematical graph representation and the UML diagram representation. This approach is applicable to other forms of UML diagrams as well.
Thank you!