Research Article

An Approach to Convert XMI Representation of UML 2.x Interaction Diagram into Control Flow Graph

Table 3

Set of rules.

𝑓 𝑖 : a fragment with I D = 𝑖 of types opt, break, loop and ref
𝑓 𝑆 𝑖 , 𝑓 𝐸 𝑖 : two fragment nodes representing the start and end of the fragment 𝑓 𝑖
𝑚 𝑗 , 𝑚 𝑘 : two message nodes representing two messages
𝑓 𝑆 𝑖 𝑚 𝑗 : an edge from the fragment node representing start of fragment 𝑓 𝑖 to message node 𝑚 𝑗
𝑓 𝑆 𝑖 c 𝑚 𝑗 : an edge from 𝑓 𝑆 𝑖 to 𝑚 𝑗 labeled with the condition 𝑐
𝑓 𝑆 𝑖 𝑚 𝑗 : add an edge from 𝑓 𝑆 𝑖 to 𝑚 𝑗
𝑓 𝑆 𝑖 ! c 𝑚 𝑗 : add an edge from 𝑓 𝑆 𝑖 to 𝑚 𝑗 labeled with the condition ! 𝑐
𝑓 𝐸 𝑖 𝑚 𝑗 : delete an edge from 𝑓 𝐸 𝑖 to 𝑚 𝑗
R1: ( 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 c 𝑚 𝑗 & 𝑝 𝐸 𝑖 𝑚 𝑘 ) ( 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 & 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 ! c 𝑚 𝑘 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑚 𝑘 ).
R2: ( 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 c 𝑓 𝑆 𝑗 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑚 𝑘 ) ( 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 & 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 ! c 𝑚 𝑘 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑚 𝑘 ) .
R3: ( 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 c 𝑚 𝑗 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝑆 𝑘 ) ( 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 & 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 ! c 𝑓 𝑆 𝑘 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝑆 𝑘 ) .
R4: ( 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 c 𝑚 𝑗 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝐸 𝑘 ) ( 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 & 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 ! c 𝑓 𝐸 𝑘 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝐸 𝑘 ) .
R5: ( 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 c 𝑓 𝑆 𝑗 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝑆 𝑘 ) ( 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 & 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 ! c 𝑓 𝑆 𝑘 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝑆 𝑘 ) .
R6: ( 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 c 𝑓 𝑆 𝑗 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝐸 𝑘 ) ( 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 & 𝑙 𝑜 𝑜 𝑝 𝑆 𝑖 ! c 𝑓 𝐸 𝑘 & 𝑙 𝑜 𝑜 𝑝 𝐸 𝑖 𝑓 𝐸 𝑘 ) .
R7: ( 𝑜 𝑝 𝑡 𝑆 𝑖 c 𝑚 𝑗 ) ( 𝑜 𝑝 𝑡 𝑆 𝑖 ! c 𝑜 𝑝 𝑡 𝐸 𝑖 ) .
R8: ( 𝑜 𝑝 𝑡 𝑆 𝑖 c 𝑓 𝑆 𝑗 ) ( 𝑜 𝑝 𝑡 𝑆 𝑖 ! c 𝑜 𝑝 𝑡 𝐸 𝑖 ) .
R9: ( 𝑟 𝑒 𝑓 𝑆 𝑖 I D 𝑟 𝑒 𝑓 𝐸 𝑖 & I D ( 𝑆 𝐼 𝐷 , 𝐸 𝐼 𝐷 ) ) ( 𝑟 𝑒 𝑓 𝑆 𝑖 𝑆 𝐼 𝐷 & 𝐸 𝐼 𝐷 𝑟 𝑒 𝑓 𝐸 𝑖 & 𝑟 𝑒 𝑓 𝑆 𝑖 𝑟 𝑒 𝑓 𝐸 𝑖 ) .
R10: ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 c 𝑚 𝑗 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑚 𝑘 ) ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 ! c 𝑚 𝑘 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑚 𝑘 ) .
R11: ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 c 𝑓 𝑆 𝑗 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑚 𝑘 ) ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 ! c 𝑚 𝑘 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑚 𝑘 ) .
R12: ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 c 𝑚 𝑗 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝑆 𝑘 ) ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 ! c 𝑓 𝑆 𝑘 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝑆 𝑘 ) .
R13: ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 c 𝑚 𝑗 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝐸 𝑘 ) ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 ! c 𝑓 𝐸 𝑘 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝐸 𝑘 ) .
R14: ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 c 𝑓 𝑆 𝑗 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝑆 𝑘 ) ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 ! c 𝑓 𝑆 𝑘 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝑆 𝑘 ) .
R15: ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 c 𝑓 𝑆 𝑗 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝐸 𝑘 ) ( 𝑏 𝑟 𝑒 𝑎 𝑘 𝑆 𝑖 ! c 𝑓 𝐸 𝑘 & 𝑏 𝑟 𝑒 𝑎 𝑘 𝐸 𝑖 𝑓 𝐸 𝑘 ) .