The use of Petri nets in decision support systems based on intelligent multiply source data analysis

The paper deals with the design of data analysis systems for business process automation. A general scheme of decision support system was developed in which one of the modules is based on Petri Nets. The way of implementation of Petri Net model in optimization problem regarding serviceoriented decision support system was shown. The Petri Net model of distribution workflow was presented and simulation experiments was completed. As a result the optimal solution as a set of parameters was emerged.


Introduction
In this paper, there was presented the concept of an information system for analysis to preserve, optimize and generate innovative business data mining processes. Business models are based on data from external sources, data warehouses, and data from web resources. Creates a process base that is a resource for computational intelligence algorithms. The functionality of intelligent decision support and business process modelling is the management of strategic information, the analysis of information coming from the immediate and indirect business environment and influencing its strategic development. Traditional approach to systems development is concentrated on building applications, not services. Systems built that way are not flexible and are difficult to scale. Nowadays, one of major issues is that how to capture users' frequently changing needs and expectations and to support those with dynamic business processes. Moreover, analytical systems design must take into consideration that there are multiple channels of data that may need to be accessed and incorporated for further exploration [10]. One of key characteristics of cloud is ondemand and secure access to scalable data exploration resources. Recently, main players of cloud-based services market introduced wide range of tools for data scientists. They enable analytical systems to aggregate a number of services with computing algorithms that are capable to provide dynamic solutions of data analysis tasks. Cloud-based analytical systems provide unlimited access to various data types and sources. It gives us an ability to process high volume and wide variety of data with high velocity and veracity, which means Big Data solutions [4].

The concept of decision support system
Research based upon bibliography shows that cloud-based services are more widely adopted throughout last few years [2,3]. Data can be analysed as a historical one, by batch processing (the oldest paradigm of data analysis). Data in constant flow are gathered as a real time insight and analyzed by stream analytics system -it's opposed to system operating with batch processing [14]. The third type of data processing is interactive analytics, where the process of data exploration is processed ad hocmainly for testing as well as algorithm development purposes. There are needs to combine analytical method together in one of examples of such solutions, the Lambda architecture, introduced by Nathan Marz. It is a robust framework for ingesting streams of real-time data as well as providing efficient analytics of historical data [4].
The approach of design of decision support system is focused on analytical engine, as seen in Figure 1. Every single functionality is contained within one separated microservice. They are communicating with each other and the rest of the system using message broker, which accept messages, queue them up and route them to destination(s). The core of analytical part of the system is included in Analytical System Domain. The analytical problem is formulated inside Processing Domain of Incoming Orders and then the using the third, Process Execution Domain subsystem, the final result of analytical work is exposed to the client for further processing. All of the subsystems mentioned here communicate with each other using RESTful API and data is exchanged in JSON format.
An order arriving into Processing Domain is examined and then order conditions, with combination of data from CRM, are formulated. Next, data are processed inside Analytical System Domain. The first step is determination of process' type, that is triggered by data arrival. Every type of process has defined a number of templates which describe the process workflow in detail. In Process Template Determination microservice it is decided which template to apply. This step is very important because it determines the quality and speed of decision making process. In order to pick the right template the system needs information from three subsystems: present information about company's resources, historical usage of templates for similar process type and data calculated from analytical method (e.g. Petri Net or Fuzzy logic). In the simplest case, if the present resources are sufficient and history of use is existing for similar condition of processed order, the historical template is chosen and detail information about process solution is sent to Process Execution Domain. For everyday use the system will take information about the order and present resources state and use this information as arguments for running analytical modules. The result of the analytical work is referral template, which will be used to proceed the workflow for a given process. Process Execution Domain has a task to communicate with other company's systems to conduct the chosen process template.

The use of Petri Nets in business process analytics
Petri Nets are a well-known method used to model discrete processes [7,11]. A large number of approaches proposes to model a hybrid system [1]. Hybrid systems are defined as dynamic systems that include many kinds of states: continuous states, discrete-states and event variables [12]. Hybrid systems arise in many different fields, including aerospace, embedded systems, robotics, automation, biological and chemical systems, transportation, mixed-signal (analogue-digital) integrated circuits, power systems, oil operation and transportation, process control, etc.The common Petri nets method was extended to include different features and functions for specific modelling purposes, which include time Petri nets, coloured Petri nets [6], stochastic Petri nets [8], fuzzy Petri nets [9] and object-oriented Petri nets [5]. Optimisation problems can also be solved using other techniques, such as genetic algorithms. Figure 2 shows the general business process model that can be applied in a manufacturing enterprise. The process consists of four main parts: design, manufacturing, distribution and retail. Each of the listed parts of the main process contains many sub-processes that can be implemented through well-functioning systems. Systems consist of human, material, financial and information resources. In the Petri Net model the circles means states and the squares stand for transitions (tasks). The states are the moments in time (e.g. dates, conditions or events). The inherent feature of each transitions is time.
The considered case refers to distribution workflow. Figure 3 presents the Petri Net model of order processing within distribution workflow. The process begins when the order from customer is placed. Usually, in highly automated information systems, these task is performed by the computer but finally an information about such fact must be carried out to proper employee. The next step is to check the payment. This task is supervised by accountant. If the payment is not make in a due time then the order must be cancelled and the suitable information should be send to the customer. In case the payment is right the next check is needed. The warehouse specialist should find out if the ordered item is in stock. If so, the next step of workflow is dispatching. Otherwise an order should be deleted and the payment must be send back to the customer bank account. Just after dispatching process is started the need of checking recipient address is occurred. If address is correct the order can be dispatched, if not the address must be corrected. For parcel delivery the outside courier company is outsourced.
In Figure 4 the way of time settings for "Order preparing for dispatch" task is presented. Two parameters should be set on each transition to specify the time its execution takes: the mean processing time and the mean deviation of its processing time. During simulation, the actual processing time is determined by these parameters (mean and deviation). If the given deviation time is bigger than zero, whenever the transition starts execution, a processing time is chosen with random value such that on average the chosen value will be the given mean, and the standard deviation from the mean will be the given deviation. This is achieved by using the gamma distribution.  Table 1 is a matrix of links the transitions (business tasks) in relation to job positions. It corresponds to the model in Figure 3. It can be noticed that the task called "Receiving order from customer" is processed by only one person employed on Sales specialist position. The task titled "Order preparing for dispatch" must be performed by two positions -Sales specialist and Warehouse specialist. For example, the task "Preparing for dispatch" shows the consistency of Fig. 3 and 4 with Table 1. In Fig. 3 the task is marked with a square with a circle, which means the activity with the given duration. The duration of the task can be seen in Fig. 4, while the names of the tasks correspond to the matrix in Table 1. Table 2

Remarks and conclusion
The paper referred to the problem of process optimization in service-oriented decision support systems. The container diagram of decision support system was proposed. The presented concept considered the use of Petri Net for order processing within distribution workflow. The model consisted the ordered set of transitions and states. Important transitions were parameterized with proper times and positions. The ten simulation experiments were conducted resulting with choosing the one best solutionthe quantitative vector of positions. Presented case is a proof that an efficient use of Petri Nets in service-oriented system is a possible and reasonable solution.