The Application of Coloured Petri Nets to Verification of Distributed Systems Specified by Message Sequence Charts
The language of message sequence charts (MSC) is a scenario-based specification language widely used at the design stage to describe the interaction of components in distributed systems. However, the existing methods and tools for validation of MSC diagrams are underdeveloped. They have such limitations as a small set of supported diagram elements, restrictions on the behavior of elements and on the set of analyzed properties. This paper describes a method for translation of MSC diagrams into coloured Petri nets (CPN), which is applied to the property analysis and verification of these diagrams. The translation method consists of three main stages: generation of the MSC internal representation called a partial order graph, processing of the partial order graph and translation of the graph into CPN. The result of the translation is a hierarchical coloured Petri net in a format compatible with the known CPN Tools system. Besides the basic elements of the MSC standard, the considered set of diagram elements includes diagram elements with data (messages, local actions and conditions with data), the elements of UML sequence diagrams (synchronous messages, combined fragments) and compositional MSC diagrams (partial-defined messages). The translator from MSC diagrams into CPN is implemented on the basis of the translation method. The properties of the resulting CPN are analyzed and verified using the system CPN Tools and the CPN verifier based on the SPIN tool. If an analyzed property is violated during the verification process and a counterexample is generated, then an error can be localized inside the verified MSC. To localize the error, an MSC trace leading to a broken state is constructed, which is a sequence of diagram events and variable states of each process. The application of the translation method and tools for analysis and verification is illustrated with an example of Alternating Bit Protocol (ABP).
Proceedings of the Institute for System Programming, vol. 27, issue 3, 2015, pp. 197-218.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2015-27(3)-14Full text of the paper in pdf Back to the contents of the volume