Context-adaptive Petri nets: Supporting adaptation for the execution context
Introduction
Petri nets (PNs) are a mathematical modeling language that has a graphical notation and a formal definition for its execution semantics (Murata, 1989). PNs have well-established formal mechanisms for modeling and analyzing concurrent systems and have been used for many purposes such as resource allocation, service coordination, process mining, model checking, behavior simulation, and state space analysis (SSA; Jensen, Kristensen, and Wells, 2007). For these reasons, PN are widely used in different domains such as business process management (BPM; Murata, 1989, van der Aalst, 2002), human computer interaction (HCI; Tran, Ezzedine, and Kolski, 2008) or pervasive computing (Tang, Guo, Dong, Li, & Guan, 2008).
In these fields, context adaptivity has emerged as a new perspective to offer more flexible and competitive systems that can adapt their behavior to changing circumstances or contexts. Users and organizations as well as their software systems currently operate in dynamic environments where context changes frequently. However, the existing PN formalisms do not provide reliable modeling, simulation and verification techniques that can accurately consider the system’s execution context and adapt it in order to reflect the system execution reality.
According to Dey (2001) context is any information that can be used to characterize the situation of an entity; whether an entity is a person, place, or object that is considered relevant to the interaction between a user and a system, including the user and the system themselves. Therefore, different information is considered as context according to the specific domain of the system to develop. For instance, temporal, environmental, product, and organizational information has been typically considered as context information in BPM (De La Vara, Ali, Dalpiaz, Sánchez, & Giorgini, 2010).
A few extensions have been proposed to the basic PN formalism to deal with certain shortcomings in expressiveness that can help toward the introduction of context adaptivity in PNs (Genrich, Lautenbach, 1981, Jensen, Kristensen, Wells, 2007). For instance, data extensions allow the incorporation of data variables that can be used in guards or parameters inside a PN. Also, time extensions can enable modeling behavior in accordance to temporal restrictions. However, these extensions are not enough to properly support adaptation to the execution context. The following main limitations must be addressed:
- •
Limited data modeling expressiveness: Data types are restricted to the creation of simple data structures and offer limited expressiveness for data modeling, e.g., no support for inheritance.
- •
No support for data reuse and persistency: Data types and variables are internally defined in the nets, therefore they cannot be reused for different systems, i.e., context should be redefined for each application even if it is in the same domain and shares the same context data. In addition, it is not possible to store either the data values and therefore to detect a context change (i.e., comparison between previous and new values).
- •
Limited data use: The data instantiation needs to be provided through tokens manually specified in the net as input for a transition. A data value is strictly local with respect to the transition where it is used (Bartkevičius, Kragnys, & Šarkauskas, 2006); to be able to use a certain context value, it needs to be passed across the net until it is used. Also, if any context data are instantiated in a net and is needed in another net, an explicit link between the two nets needs to be created to pass the data.
A few approaches have been also proposed to specifically support context adaptation using PNs. However, as will be explained in detail in the next section, the research in this area is rather limited, usually proposed for specific domain areas and without providing support for system simulation and verification.
Thus, the contribution of this paper is fourfold:
- •
We present context-adaptive Petri nets (CAPNs), a formalism that can define PNs capable to represent context-adaptive behavior. CAPNs integrate the PN formalism that can better support context adaptation with the most appropriate context modeling technique. The integration maintains a separation of concerns: while context data can be represented with a high degree of expressiveness, the system behavior is still described using the powerful modeling and analysis techniques of PNs.
- •
We provide tool support for the modeling, simulation, and verification of CAPNs. We have extended one of the most well-known tools for managing PNs to provide (1) a context manager to deal with context data, and (2) a design and execution environment for CAPNs. The tool also shows the feasibility of the defined formalism and facilitates its use by the research and business community.
- •
We tackle the problem of dealing with advanced data structures. By making use of the extension framework presented in Westergaard (2013), we allow data to be semantically represented, which enables a better way to describe data than the inscription languages typically used (Mortensen, 2001, Westergaard, 2013).
- •
A case based evaluation that shows the successful application of CAPNs in three different representative cases in various domains.
The remainder of this paper is organized as follows. Section 2 gives an overview of the existing context representation techniques and PN formalisms, and explains related approaches that use PN for context adaptation. Section 3 proposes the CAPN formalism and Section 4 presents the tool support. Section 5 evaluates the proposed solution. Finally, Section 6 concludes the paper, discusses the presented contributions and explains future research lines.
Section snippets
Background and related work
This section gives an overview of the existing context representation techniques and PN formalisms and selects the most suitable ones to support CAPN. Afterward, the related literature regarding the use of PN for context adaptation is analyzed showing how the contributions of this paper will go beyond the state of the art.
Context-adaptive Petri nets (CAPNs)
CAPNs integrate CPNs with ontology-based techniques. In order to specify the context of the application, first the context classes, properties, and constraints for the domain are identified. This is reusable for the applications of the same domain. Afterward, the specific context is specified as individuals of the defined classes. Specifically, the following types of context information can be represented and managed in an ontology-based context model:
- •
Manually introduced, such as the personal
CAPN tool support
In order to facilitate the modeling, simulation, and verification of CAPNs, as well as demonstrating the feasibility of the formalism, we have extended CPN Tools (Westergaard, 2013), a free of charge tool that provides, among others, modeling and simulation support as well as verification methods like SSA for CPNs. Although there are other software packages with similar purposes, such as ExSpect (van der Aalst et al., 2000) and GreatSPN (Baarir, Beccuti, Cerotti, De Pierro, Donatelli, &
Case-based evaluation
In this section, we evaluate CAPNs by applying a case-based evaluation that makes the practical advantages of using CAPNs explicit. Three different cases in dynamic environments are used: BPM, healthcare, and logistics. These cases cover a wide variation of domains, managed data, and supported activities. For each case, we (1) specified the relevant context; (2) identified a context-adaptive scenario, and (3) modeled, simulated and verified the scenario using CAPNs and the developed CPN Tools
Conclusions and further work
In this paper, we have presented CAPNs, a tool-supported formalism to construct PNs that are context-adaptive. After analyzing the existing PN and context representation formalisms, we have created CAPNs by integrating CPNs with OWL ontologies. By building on CPNs, CAPNs offer a graphical and mathematical language to describe system behavior and allow its exhaustive analysis. By using ontologies, CAPNs can describe and analyze context data with a very high degree of expressiveness, reusability,
Acknowledgment
This work has been funded by the FWO (Fonds voor Wetenschappelijk Onderzoek) Project G0804 13N.
References (40)
- et al.
A survey of context modelling and reasoning techniques
Pervasive and Mobile Computing
(2010) - et al.
A comprehensive approach to model and use context for adapting applications in pervasive environments
Journal of Systems and Software
(2007) - et al.
System modelling with high-level petri nets
Theoretical Computer Science
(1981) Timed petri nets definitions, properties, and applications
Microelectronics Reliability
(1991)- et al.
Context-aware workflow management
Web engineering
(2007) - et al.
A framework for the management of context-aware workflow systems
Proceedings of the Third International Conference on Web Information Systems and Technologies (WEBIST), March 3–6, 2007
(2007) - et al.
The greatspn tool: Recent enhancements
ACM SIGMETRICS Performance Evaluation Review
(2009) - et al.
A survey on context-aware systems
IJAHUC
(2007) - et al.
Global variables in colored petri nets
Elektronika ir elektrotechnika: Mokslo darbai.–Kaunas: Technologija
(2006) - et al.
Adaptation in context-aware pervasive information systems: the secas project
International Journal of Pervasive Computing and Communications
(2008)