The paper "Modelling Recursive Calls with UML State Diagrams" by Jennifer Tenzer and Perdita Stevens addresses the limitations of UML state diagrams in modeling recursive method calls. UML state diagrams are typically used to model synchronous object-oriented software systems, where the behavior of classes is represented using state transitions. However, the "run to completion" semantics of UML state diagrams can lead to anomalous behavior, particularly when dealing with recursive calls.
The authors propose a solution by introducing two types of state diagrams: Protocol State Machines (PSMs) and Method State Machines (MSMs). PSMs are used to specify the permissible sequences of method calls on an object, while MSMs model the execution of the method's actions. This approach allows for the modeling of recursive calls and callbacks without violating the UML state diagram semantics.
The paper provides formal definitions for PSMs and MSMs, including their execution and consistency. It also discusses related work and concludes with a discussion on tool support and future research directions. The authors aim to address the limitations of UML state diagrams in handling recursive calls, making them more suitable for modeling complex object-oriented systems.The paper "Modelling Recursive Calls with UML State Diagrams" by Jennifer Tenzer and Perdita Stevens addresses the limitations of UML state diagrams in modeling recursive method calls. UML state diagrams are typically used to model synchronous object-oriented software systems, where the behavior of classes is represented using state transitions. However, the "run to completion" semantics of UML state diagrams can lead to anomalous behavior, particularly when dealing with recursive calls.
The authors propose a solution by introducing two types of state diagrams: Protocol State Machines (PSMs) and Method State Machines (MSMs). PSMs are used to specify the permissible sequences of method calls on an object, while MSMs model the execution of the method's actions. This approach allows for the modeling of recursive calls and callbacks without violating the UML state diagram semantics.
The paper provides formal definitions for PSMs and MSMs, including their execution and consistency. It also discusses related work and concludes with a discussion on tool support and future research directions. The authors aim to address the limitations of UML state diagrams in handling recursive calls, making them more suitable for modeling complex object-oriented systems.