UML Behavioral Consistency Checking Using Instantiable Petri nets
Résumé
Model-driven engineering (MDE) development methods are gaining increasing attention from industry. In MDE, the model is the primary artifact and serves several goals, including code generation, requirements traceability, and model-based testing. MDE thus enables cost-effective building of models versus direct coding of an application. Thus model-based formal verification of behavioral consistency is desirable as it helps improve model quality. Our approach is based on translation of a UML model to instantiable Petri nets (IPN). This formalism is based on the semantics of Petri nets, but introduces the concepts of type and instance. This allows one to accurately capture these concepts in UML models. IPN support hierarchical descriptions natively, and use the notion of transition synchronization for composition of behaviors. This is a general and powerful mechanism borrowed from process algebra. We show that IPN allow one to adequately address the challenges of translation from UML for analysis purposes. The approach has been implemented and experimental results are presented.