Improving UML with Petri nets

Abstract UML is the OMG standard notation for object-oriented modeling. It is easy, graphical and appealing, but in several cases still too imprecise. UML is strong as modeling means, supplies several different diagrammatic notations for representing the different aspects of a system under development, but lacks simulation and verifiability capabilities. This drawback comes from its semi-formal nature: UML is extremely precise and wide if we consider syntactical aspects, but its semantics is as precise as those of informal notations. Scientists and users, together with standardization efforts (UML 2.0), are trying to overcome this problem, but as side effect, they are also limiting the intrinsic flexibility of UML. Moreover, several formalization efforts concentrated on its static elements (for example, inheritance), leaving dynamic semantics almost untouched. In this paper we propose the paring of UML dynamic models with high-level timed Petri nets (HLTPN) to obtain a flexible and customizable means to reason on the dynamic aspects of object-oriented models, to simulate particular parts of these models, and if necessary analyze them. The proposal exploits rules to ascribe main UML elements with formal semantics in terms of functionally equivalent HLTPNs and to show results (from execution and analysis) as decorations to UML symbols. Besides sketching the approach, the paper presents also some experiences we have gained so far with it and a research agenda to identify other possible uses of the dual definition of the notation.

[1]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[2]  Carlo Ghezzi,et al.  A Unified High-level Petri Net Model for Time Critical Systems , 1991 .

[3]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[4]  Carlo Ghezzi,et al.  Validating timing requirements for time basic net specifications , 1994, J. Syst. Softw..

[5]  Andy Evans,et al.  Core Meta-Modelling Semantics of UML: The pUML Approach , 1999, UML.

[6]  Kurt Jensen Coloured Petri Nets , 1992, EATCS Monographs in Theoretical Computer Science.

[7]  Constance L. Heitmeyer,et al.  On the Need for Practical Formal Methods , 1998, FTRTFT.

[8]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[9]  Robert B. France,et al.  From structured analysis to formal specifications: state of the theory , 1994, CSC '94.

[10]  Gregor Engels,et al.  UML Collaboration Diagrams and their Transformation to Java , 1999, International Conference on the Unified Modeling Language.

[11]  Luciano Baresi,et al.  Introducing Formal Specification Methods in Industrial Practice , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[12]  David Lorge Parnas,et al.  An Invitation to Formal Methods , 1996, Computer.

[13]  Richard F. Paige,et al.  A Meta-Method for Formal Method Integration , 1997, FME.

[14]  Carlo Ghezzi,et al.  A Unified High-Level Petri Net Formalism for Time-Critical Systems , 1991, IEEE Trans. Software Eng..