Model engineering on Petri nets for ISO/IEC 15909-2: API Framework for Petri Net types metamodels Lom Hillah, Fabrice Kordon (LIP6, Univ. P. & M. Curie), {lom-messan.hillah,fabrice.kordon}@lip6.fr Laure Petrucci (LIPN, Univ. Paris-XIII), laure.petrucci@lipn.univ-paris13.fr Nicolas Tr` eves (Cedric-CNAM), treves@cnam.fr Abstract ISO/IEC 15909-2 International Standard defines a universal XML-based transfer syntax for Petri nets. The main objective of this exchange format, namely Petri Net Markup Language (PNML), is to enable compatibility and interoperability among heterogeneous Petri net tools, while keeping expressiveness and extensibility. Hence, it shall support different types of Petri nets and be extensible to allow for future types. To make it applicable and integrable at low cost to existing tools, a software framework is proposed to the Petri net community. This frame- work enables fast and cost-effective tools adaptation to PNML use by bringing forth model engi- neering techniques through model transformation, backed on OMG’s Model-Driven Architecture principles. This paper shows that the proposed approach is concerned for compliance with the standard, enhancing compatibility between tools. It is realistic and pragmatic. It copes with ex- tensibility issues by allowing fast re-engineering, thanks to model-driven development approach and code generation. Keywords: Petri nets, PNML, model-driven development, metamodeling, model transforma- tion, code generation. 1 Introduction Universal transfer syntax for Petri net tools. The standardisation process of ISO/IEC 15909 part 2 [8], aims at defining a universal transfer syntax for Petri nets. This transfer syntax, namely Petri Net Markup Language (PNML) [19], is intended to become a universal interchange format among Petri net tools. The need for this exchange format has long been expressed within the Petri net community, as discussed in [2]. The proposal made in [2] is now being achieved through the international standardisation process. The ISO/IEC 15909 part 1 [6] is already an International Standard. It defines Petri nets through a mathematical semantic model, an abstract mathematical syntax for annotations and a graphical notation. Its purpose is to set reference definitions for Petri nets that would be acknowledged unambiguously by systems designers, organisations and Petri net tools vendors, and users working on systems and applications specifications, validation and simulation involving the use of Petri nets. The ISO/IEC 15909 part 2 is in Working Draft state. One of the main challenges of this future standard is its applicability and tooling with reference implementations that will spread its use. In parallel to part 2, part 3 of the standard is being started. It focuses on modularity and Petri net extensions (e.g. time). Part 2 is therefore today the part of the standard where the most active work is expected. PNML relies on: