Elsevier

Knowledge-Based Systems

Volume 19, Issue 4, August 2006, Pages 220-234
Knowledge-Based Systems

Petri net ontology

https://doi.org/10.1016/j.knosys.2005.12.003Get rights and content

Abstract

The paper presents the Petri net ontology that enables sharing Petri nets on the Semantic Web. Previous work on formal methods for representing Petri nets mainly defines tool-specific descriptions or formats for model interchange. However, such efforts do not provide a suitable description for using Petri nets on the Semantic Web. This paper uses the Petri net UML model as a starting point for implementing the ontology. Resulting Petri net models are represented on the Semantic Web using XML-based ontology languages, RDF and OWL. We implemented a Petri net tool, P3, which can be used as a knowledge acquisition tool based on the Petri net ontology.

Introduction

The main idea of this paper is to propose a suitable way for Petri nets [35] to be used on the Semantic Web, i.e., to enable full semantic interoperability of Petri net models. Currently, Petri net interoperability is possible at the level of syntax for model sharing. It was first introduced in [3], where the authors said that it would be very useful if Petri net researchers could share their Petri net model descriptions. That way more software tools could be used for analyzing the same model. So far, all Petri net interchange attempts have been mainly tool-specific, but with very low (or without any) general acceptance. For example, DaNAMiCS tool (http://www.cs.uct.ac.za/Research/DNA/DaNAMiCS) uses regular text-based format, and Renew tool (http://www.renew.de) uses XML-based format. The Petri Net Markup Language (PNML) [4] is a recent Petri net community effort that tries to provide XML-based model sharing. PNML tends to be a part of the future ISO/IEC High-level Petri net standard [20]. A particularly important advantage of this approach is that XML documents can be easily transformed using eXtensible Stylesheet Language Transformations (XSLT) into other formats (that need not necessarily be XML-based). However, this initiative is also syntactically oriented, i.e., it introduces some constraints that enable validation of documents against their definition (e.g., validating whether an arc connects two nodes of different types, i.e., a place and a transition).

On the other hand, all approaches that formally define Petri nets are generally intended to be used as a basis for developing Petri net tools. Currently, these attempts are defined using Model Driven Architecture (MDA) standards [29] (e.g., Unified Modeling Language – UML [33], and Meta-Object Facility – MOF [32]).

A suitable way to represent Petri nets is needed in order to reuse them more effectively on the Semantic Web. It requires defining the Petri net ontology for semantic description of Petri net concepts and their relationships. The Petri net ontology enables describing a Petri net using Semantic Web languages (e.g., Resource Description FrameworkRDF, and Web Ontology LanguageOWL) [15], [40]. Petri nets described that way can be inserted into other, non-Petri net XML-based formats, such as Scalable Vector Graphics (SVG, the XML-based WWW Consortium (W3C) standard for 2D vector graphics [21]), which makes possible to reconstruct Petri net models using metadata and annotations according to the Petri net ontology.

We defined the Petri net ontology using experience from previous Petri net formal descriptions (metamodel, ontologies, and syntax). They indicate very useful directions for selecting key Petri net concepts and specifying their mutual relations. PNML is of primary importance here – it is closely related to the Petri net ontology. Actually, it is a medium (syntax) for semantics [36]. We additionally empowered the PNML usability by defining mappings to/from the Semantic Web languages (i.e., RDF and OWL).

The next section describes existing formal descriptions of Petri nets: metamodels, UML profiles, ontologies, and syntax. We concentrate on Petri net syntax because most work has been done in solving this problem (we specifically discuss the PNML). Section 3 enumerates advantages of the Petri net ontology, and gives guidelines for its conceptualisation. Section 4 outlines development of the Petri net ontology – its initial design and implementation using UML and Protégé [31] (i.e., RDF Schema (RDFS)-based implementation), whereas Section 5 extends the ontology using an OWL-based UML profile in order to support diversity of Petri net dialects. In Section 6, we present the tool we implemented to support the Petri net ontology, as well as an ontology-driven infrastructure for sharing Petri nets using PNML, XSLT, and RDF. This work is a part of the effort of the Good Old AI research group (http://goodoldai.org.yu) in developing its platform for building intelligent systems, called AIR.

Section snippets

Previous work on Petri net sharing

This section discusses previous work in developing a formal description of Petri nets that can be used in different software tools for Petri net: model sharing, software implementation, model validation, and so on. Therefore, we analyze present Petri net: metamodels, UML profiles, ontologies, and syntax. The purpose of this analysis is to identify the Petri net conceptualization underlying these approaches.

The Petri net ontology guidelines

As we have seen so far, Petri net formats use different concepts for defining its syntax. Some of these syntax-based approaches actually have problems with syntax validation. For instance, it is very difficult to validate a text-based document (i.e., DaNAMiCS) without a special-purpose software for checking the corresponding format. A slightly better solution is to use DTD for XML definition as the Renew does. But DTD has well-known drawbacks: it does not support inheritance

The Petri net ontology – initial implementation

There are many different ways to develop an ontology [39] and one can use different tools for ontological engineering tasks (Protégé, OilEd, OntoEdit, etc.). In order to develop the Petri net ontology, we decided to use UML [8]. UML was suitable because it is a generally accepted and standardised tool for analysis and modeling in software engineering. We were also able to employ UML-based Petri net descriptions existing within the PNML definition [4]. However, neither UML tools nor the UML

OWL-based Petri net ontology

For ontology development we use the Ontology UML profile (OUP) (see [10] for details) that is based on OWL [40]. The OUP provides stereotypes and tagged values for full ontology development. OUP models can be (automatically) transformed into OWL ontologies (e.g., using XSLT) [14].

Using the OUP, one can represent relations between the core concepts of the Petri net ontology and the specifics of a Petri net dialect. For that purposes we suggest using the OUP’s package mechanism. In the OUP, we

Ontology-driven Petri net sharing

In order to show practical tool support for the Petri net ontology, we overview the P3 tool. This tool has been initially developed for Petri net teaching [12], but we extended it, and thus it can be used in conjunction with the Petri net ontology.

Conclusions

The main idea of this paper is that the Petri net ontology should provide the necessary Petri net infrastructure for the Semantic Web. The infrastructure understands Petri nets sharing using XML-based ontology languages (i.e., RDFS and OWL). The Petri net ontology and Semantic Web languages do not abandon PNML. On the contrary, we presented the “PNML-based bus” that takes advantage of PNML together with the Petri net ontology. That way, we can exploit potentials of current Petri net tools in

References (41)

  • T. Gruber

    A translation approach to portable ontology specifications

    Knowledge Acquisition

    (1993)
  • K. Backlawski

    Extending the Unified Modeling Language for ontology development

    International Journal Software and Systems Modeling

    (2002)
  • F. Bause et al.

    Abstract Petri net notation

    Petri Net Newsletter

    (1995)
  • G. Berthelot et al.

    A syntax for the description of Petri nets

    Petri Net Newsletter

    (1988)
  • J. Billington

    The Petri Net Markup Language: Concepts, Technology, and Tools

  • C. Bock

    UML without pictures

    IEEE Software

    (2003)
  • E. Breton et al.

    Towards an understanding of model executability

  • B. Chandrasekaran et al.

    What are ontologies, and Why do we need them?

    IEEE Intelligent Systems

    (1999)
  • S. Cranefield, Networked Knowledge Representation and Exchange using UML and RDF, Journal of Digital information 1 (8)...
  • V. Devedžić

    Understanding ontological engineering

    Communications of the ACM

    (2002)
  • D. Djurić et al.

    Ontology modeling and MDA

    Journal on Object Technology

    (2005)
  • E. Gamma et al.

    Design Patterns: Elements of Reusable Object-Oriented Software

    (1995)
  • D. Gašević et al.

    Software support for teaching Petri nets: P3

  • D. Gašević, Petri net ontology, Ph.D. Thesis, FON – School of Business Administration, Belgrade, Serbia and Montenegro,...
  • D. Gašević et al.

    Converting UML to OWL ontologies

  • A. Gómez-Pérez et al.

    Ontology languages for the Semantic Web

    IEEE Intelligent Systems

    (2002)
  • S. Handschuh et al.

    Annotation for the Deep Web

    IEEE Intelligent Systems

    (2003)
  • K.M. Hansen, Towards a Coloured Petri Net Profile for the Unified Modeling Language – Issues, Definition, and...
  • M. Havram et al.

    A Component-based Approach to Petri Net Web Service Realization with Usage Case Study

  • ISO/IEC/JTC1/SC7 WG19, New proposal for a standard on Petri net techniques [Online]. Available:...
  • Cited by (46)

    • A high-level electrical energy ontology with weighted attributes

      2015, Advanced Engineering Informatics
      Citation Excerpt :

      A domain ontology is a valuable semantic resource for the underlying domain since it can act as a shared vocabulary for the domain under consideration, it can help reduce possible interoperability problems between the domain-specific applications and Semantic Web applications, in addition to several other uses, as reviewed in studies like [2]. Ontologies have been proposed for several application domains so far, including those ontologies for bioinformatics [3], petri nets [4], chemical process engineering [5], software product families [6], electrical power quality [7], and wind energy [8], among others. Due to the peculiar needs of the applications in which domain ontologies are to be employed, some ontologies should possess fuzzy characteristics.

    • Semi-automatic construction of a domain ontology for wind energy using Wikipedia articles

      2014, Renewable Energy
      Citation Excerpt :

      A domain ontology is defined as a reusable vocabulary of concepts, relationships, and activities in the domain along with the governing theories and principles [5]. Various domain ontologies have been reported in the literature [6–10] and there is ongoing research on the topic along with research on the Semantic Web. Although domain ontologies serve various purposes, building them from scratch is too labor-intensive and time-consuming.

    • Ontology-based standards development: Application of OntoStanD to ebXML business process specification schema

      2014, International Journal of Accounting Information Systems
      Citation Excerpt :

      There are a growing number of ontologies developed for various standards and specifications. Examples are oXPDL, an ontology for the XML Process Definition Language (XPDL) (Haller et al., 2008), an ontology for WS-BPEL (Nitzsche et al., 2007), an ontology for event-driven process chains (EPC) (Thomas and Fellmann, 2007), an ontology for Petri Nets (Gašević and Devedžić, 2006) and the Business Management Ontology (BMO version 1.0), which was a vision for an ontological approach for defining business processes and mainly focused on private processes (Jenz, 2003). Furthermore there are some projects working on semantic aspects of Business Process Management, such as the SUPER Integrated Project (Semantics Utilised for Process Management within and between Enterprises) (SUPER, 2009), STASIS (Thomas and Fellmann, 2007), and m3po (Haller et al., 2006).

    View all citing articles on Scopus
    View full text