Revisiting Semantics of Interactions for Trace Validity Analysis
Interaction languages such as UML sequence diagrams are often associated with a formal semantics by means of translations into formalisms such as automatas or Petri nets. In contrast, we propose an approach without any references to any other behavioral formalisms. We define an operational approach to compute the semantics of interactions. The principle is to identify which elementary communication actions can be immediately executed, and then to compute, for each of those actions, a new interaction representing the possible continuations to its execution. We also define an algorithm for checking the validity of execution traces, i.e. checking whether or not the trace belongs to the semantics of the considered interaction. Algorithms for semantics computation and trace validity are analyzed by means of some experiments.
READ FULL TEXT