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 Framework – RDF, and Web Ontology Language – OWL) [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)
A translation approach to portable ontology specifications
Knowledge Acquisition
(1993)Extending the Unified Modeling Language for ontology development
International Journal Software and Systems Modeling
(2002)- et al.
Abstract Petri net notation
Petri Net Newsletter
(1995) - et al.
A syntax for the description of Petri nets
Petri Net Newsletter
(1988) The Petri Net Markup Language: Concepts, Technology, and Tools
UML without pictures
IEEE Software
(2003)- et al.
Towards an understanding of model executability
- 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)...
Understanding ontological engineering
Communications of the ACM
(2002)
Ontology modeling and MDA
Journal on Object Technology
Design Patterns: Elements of Reusable Object-Oriented Software
Software support for teaching Petri nets: P3
Converting UML to OWL ontologies
Ontology languages for the Semantic Web
IEEE Intelligent Systems
Annotation for the Deep Web
IEEE Intelligent Systems
A Component-based Approach to Petri Net Web Service Realization with Usage Case Study
Cited by (46)
A high-level electrical energy ontology with weighted attributes
2015, Advanced Engineering InformaticsCitation 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.
Semantic annotation for knowledge explicitation in a product lifecycle management context: A survey
2015, Computers in IndustryA tour of BeAware - A situation awareness framework for control centers
2014, Information FusionSemi-automatic construction of a domain ontology for wind energy using Wikipedia articles
2014, Renewable EnergyCitation 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.
Formal semantic annotations for models interoperability in a PLM environment
2014, IFAC Proceedings Volumes (IFAC-PapersOnline)Ontology-based standards development: Application of OntoStanD to ebXML business process specification schema
2014, International Journal of Accounting Information SystemsCitation 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).