Semantic Analysis of UML2.0 Sequence Diagram Based on Model Transformation

The Sequence Diagram(SD) of UML2.0 enriches those of previous versions by two new operators, assert and negate, for specifying required and forbidden behaviors. The semantics of SD, however, being based on pairs of valid and invalid sets of traces, is inadequate, and prevents the new operators from being used effectively. The semantic confusions between assert and negate operators in UML SD are significant, since they pose great difficulty to the confirmation of the security of the system they designed. A new Petri-net model named LPNforSD is designed in this paper. Transformation rules from SD to LPNforSD are given out. We take fragment that described by assert or negate operator as independent part and transform it into LPNforSDs. An algorithm is also designed to check whether the SD is safe by comparing its traces with the traces getting from negate and assert fragments. By this way, we cannot only eliminate the semantic confusions between assert and negate operators, but also reduce the numbers of contingent traces. Thus, we can ensure the system more reliable

[1]  Vahid Garousi,et al.  Control Flow Analysis of UML 2.0 Sequence Diagrams , 2005, ECMDA-FA.

[2]  J. Cardoso,et al.  Ordering actions in sequence diagrams of UML , 2001, Proceedings of the 23rd International Conference on Information Technology Interfaces, 2001. ITI 2001..

[3]  Ernst W. Mayr An Algorithm for the General Petri Net Reachability Problem , 1984, SIAM J. Comput..

[4]  Robert M. Hierons,et al.  A Thread-tag Based Semantics for Sequence Diagrams , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[5]  Atanas Rountev,et al.  Coverage Criteria for Testing of Object Interactions in Sequence Diagrams , 2005, FASE.

[6]  Youcef Hammal Branching Time Semantics for UML 2.0 Sequence Diagrams , 2006, FORTE.

[7]  Radu Grosu,et al.  Safety-liveness semantics for UML 2.0 sequence diagrams , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[8]  Robert M. Hierons,et al.  Thread-Based Analysis of Sequence Diagrams , 2007, FORTE.

[9]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.