Keywords

1 Introduction

Workflow modeling and model performance analysis are important research contents of workflow. In actual business processes, there are many time constrains, and if violated, it may bring loss to the enterprise, so the timing description ability of workflow models becomes the focus of current workflow modeling studies [1].

Aalst first applied Petri net, which has intuitive graphical representation and solid mathematical foundation, to workflow management and proposed workflow net (WF-net) [2]. Recently, in order to describe and analyze time behaviors in workflow, many Petri net-based timing workflow models are proposed, such as time workflow net(TWF-net) by Ling and Schmidt [3], and timing constraint workflow nets (TCWF-net) by Li and Fan [4]. In these models, time information is certain; however, resources and activities have dynamic characteristics in actual workflow because of the uncertain factors, such as machine fault, different proficiency of workers and so on, so there is a lot of uncertain time information which is hard to describe and analyze. Aiming at this requirement, Murata first applied fuzzy theory to time Petri nets and proposed Fuzzy-timing High-level Petri nets (FTHN) [5]. Pan and Tang [6] added certain effective time constraints on resources and activities and proposed fuzzy temporal workflow nets (FTWF-nets). But in order to improve the flexibility and stability of the dynamic workflow management of real business processes, the effective time constraints attached to resources and activities should have fuzzy values as well. So based on FTWF-nets, by applying high-level fuzzy timed Petri net (HFTN) [7] to workflow modeling, the advanced fuzzy timing workflow nets (AFTWF-nets) model was proposed in this paper and a stratification algorithm of temporal reachable probability of AFTWF-nets model was given.

In AFTWF-nets model, fuzzy time was used to describe the effective time constraints of resources and activities, calculate, and analyze. Meanwhile, the stratification algorithm of temporal reachable probability based on AFTWF-nets reduced the complexity of the data structure and made it much easier to develop and realize the workflow management system.

2 Advanced Fuzzy Timing Workflow Nets

2.1 Fuzzy Time Concept

Definition 1

Fuzzy time point is the possibility distribution of a function mapping from the time scale \( \Upgamma \) to real interval [0, 1], which restricts the possible value of a time point. Let \( \pi_{a} \) denotes the possibility function attached to a time point a, then \( \forall \tau \in \Upgamma ,\pi_{a} (\tau ) \) denotes the numerical estimate of the possibility that a is precisely \( \tau \). Let fuzzy set A be the possible range of a, and \( \mu_{A} \) denote the membership function of A and then we have \( \forall \tau \in \Upgamma ,\pi_{a} (\tau ) = \mu_{A} (\tau ) \). In this paper, a fuzzy time point is denoted by trapezoid possible distribution [6], which must be normal and convex. So a fuzzy time point can be represented by \( h[\pi_{1} ,\pi_{2} ,\pi_{3} ,\pi_{4} ],(\pi_{1} \le \pi_{2} \le \pi_{3} \le \pi_{4} ) \) (Fig. 1 shows an example). And it becomes a fixed-length time when \( \pi_{1} = \pi_{2} ,\pi_{3} = \pi_{4} \) and a fixed time point when \( \pi_{1} = \pi_{2} = \pi_{3} = \pi_{4} \).

Fig. 1
figure 1

Trapezoid function of fuzzy time point

2.2 AFTWF-nets Model

Definition 2

AFTWF-nets is a 8–tuple \( (P,\;T,\;F,\;M_{0} ,\,{\text{FT}},\;{\text{FD}},\;{\text{FTPC}},\;{\text{FTTC}}) \).

  1. 1.

    (P, T, F, M 0) is a basic workflow net. P is a set of places, T is a set of transitions, \( P \cap T = \emptyset ,P \cup T \ne \emptyset \). F is a set of arcs which is a subset of \( (P \times T) \cup (T \times P) \). M 0 represents the initial marking. Let t denotes a transition, and p denotes a place.

  2. 2.

    FT, fuzzy timestamp, denotes a set of fuzzy timestamps attached to tokens, which represents the possibility distribution of a token’s arrival time at a place, and let \( \pi (\tau ) = h[\pi_{1} ,\pi_{2} ,\pi_{3} ,\pi_{4} ] \) denotes the fuzzy timestamps function.

  3. 3.

    FD, fuzzy delay, denotes a set of fuzzy delays of transitions, which describes the possibility distribution of the duration from t trigging to t outputting tokens to its output places, and let \( d_{t} (\tau ) = d[d_{1} ,d_{2} ,d_{3} ,d{}_{4}] \)denotes the fuzzy delay function.

  4. 4.

    FTPC, fuzzy token time constraint, denotes a set of valid intervals constraints of tokens, which is signed as \( {\text{FTPC}}\;(p) = 1[a_{1} ,a_{2} ,a_{3} ,a_{4} ] \). Let\( \tau \) denotes a time point when a token arrives at a place, so the token is definitely valid during time interval \( \left[ {\tau + a_{2} ,\tau + a_{3} } \right] \), it is uncertainly valid in \( \left[ {\tau + a_{1} ,\tau + a_{2} } \right] \), and it is definitely invalid out of \( \left[ {\tau + a_{1} ,\tau + a_{4} } \right]. \) If FTPC (p) is a fixed time interval, then \( a_{1} = a_{2} \) and \( a_{3} = a_{4} \). If there is no time constraint, then \( {\text{FTPC}}\;(p) = 1[0,\;0,\;0,\;0] \).

  5. 5.

    FTTC, fuzzy transition time constraint, denotes a set of valid intervals constraints of transitions, which is signed as \( {\text{FTTC}}\;(t) = 1[b_{1} ,\;b_{2} ,\;b_{3} ,\;b_{4} ] \). Let \( \tau \) denotes a time point when a transition is enabled, so the transition surely can trigger in \( \left[ {\tau + b_{2} ,\tau + b_{3} } \right] \), it possibly triggers in \( \left[ {\tau + b_{3} ,\tau + b_{4} } \right] \), and it surely cannot trigger out of \( \left[ {\tau + b_{1} ,\tau + b_{4} } \right] \). If FTTC (t) is a fixed time interval, then \( b_{1} = b_{2} \) and \( b_{3} = b_{4} \). If there is no time constraint, then \( {\text{FTTC}}\;(t) = 1[0,\;0,\;0,\;0] \).

In this model, FD denotes the fuzzy delays of transitions, FTPC limits the life cycle of resources, and FTTC limits the fire time interval of transitions. Such model lays the modeling foundation for the following expanded logical analysis as well as the time-level performance optimization and unification.

3 Performance Analysis of AFTWF-nets

3.1 Time Calculation of AFTWF-nets

Murata. T has given the algorithm of FTN [5], and based on this, AFTWF-nets model redefined and remodeled the time constraint of tokens and transitions, so the new definitions and detailed calculations of time algorithm are shown as follows. In AFTWF-nets, I p (t) represents input places set of t, O p (t) represents output places set of t. p i is the initial place, and p o is the ending place. In order to facilitate the description and discussion, the workflow net is assumed to be reasonable.

Definition 3

Fuzzy enabled time \( e_{t} (\tau ) \): fuzzy enabled time of t denotes the possibility distribution of that t is enabled at time point \( \tau \), and \( e_{t} (\tau ) \)is decided by the possibility distribution of the latest arrival time of the tokens in I p (t).

If there is only one token in I p (t), and it arrives at \( \pi (\tau ) \), so \( e_{t} (\tau ) = \pi (\tau ) \oplus {\text{FTPC}}(p) \)

$$ =\,\hbox{min} \{ h,\;1\} [\pi_{1} ,\;\pi_{2} ,\;\pi_{3} ,\;\pi_{4} ] \oplus [a_{1} ,\;a_{2} ,\;a_{3} ,\;a_{4} ] =\, h[\pi_{1} + a_{1} ,\pi_{2} + a_{2} ,\pi_{3} + a_{3} ,\;\pi_{4} + a_{4} ]. $$

where: \( \oplus \) is extended additive operator [6].

If there are n tokens in I p (t)(p 1, p 2p n), token in p i arrives at \( \pi_{i} (\tau ) = h_{i} [\pi_{i1} ,\pi_{i2} ,\pi_{i3} ,\pi_{i4} ] \) and \( {\text{FTPC}}(p_{i} ) = 1[a_{i1} ,\;a_{i2} ,\;a_{i3} ,\;a_{i4} ] \). Then, \( \begin{aligned} e_{t} (\tau ) = & {\text{latest}}\{ \pi_{i} (\tau ) \oplus 1[a_{i1} ,\;a_{i2} ,\;a_{i3} ,\;a_{i4} ]\} \\ = & \mathop {\hbox{min} }\limits_{i} \{ h_{i} \} [\mathop {\hbox{max} }\limits_{i} \{ \pi_{i1} + a_{i1} \} ,\mathop {\hbox{max} }\limits_{i} \{ \pi_{i2} + a_{i2} \} ,\mathop {\hbox{max} }\limits_{i} \{ \pi_{i3} + a_{i3} \} ,\mathop {\hbox{max} }\limits_{i} \{ \pi_{i4} + a_{i4} \} ],i = 1,\;2, \cdots n. \\ \end{aligned} \) where: \( {\text{latest}} \) operator is the trapezoidal function approximation algorithm.

Definition 4

Fuzzy occurrence time \( o_{t} (\tau ) \): fuzzy occurrence time of transition t denotes the possibility distribution of that t is fired at time point \( \tau \).

If there is no structural conflict, and \( {\text{FTTC}}\;(t) = 1[b_{1} ,\;b_{2} ,\;b_{3} ,\;b_{4} ], \) then \( o_{t} (\tau ) = e_{t} (\tau ) \oplus 1[b_{1} ,\;b_{2} ,\;b_{3} ,\;b_{4} ], \) else there is structural conflicts between m enabled transitions (t 1, t 2t m), t i is enabled at \( e_{\text{ti}} (\tau ) = e_{i} [e_{i1} ,\;e_{i2} ,\;e_{i3} ,\;e_{i4} ],\,{\text{FTTC}}(t_{i} ) = 1[b_{i1} ,\;b_{i2} ,\;b_{i3} ,\;b_{i4} ]. \) In order to facilitate discussion, the situation where there is structural conflict between enabled transitions follows “first come first serve” strategy, which means the earlier enabled transition has higher priority. So for \( t_{j} ,\;e_{{t{\text{j}}}} (\tau ) = e_{j} [e_{j1} ,e_{j2} ,e_{j3} ,e_{j4} ], \) then

$$ \begin{aligned} o_{\text{tj}} (\tau ) & = \, {\text{MIN}}\{ e_{\text{tj}} (\tau ) \oplus 1[b_{j1} ,\;b_{j2} ,\;b_{j3} ,\;b_{j4} ],\;{\text{earliest}}\{ e_{\text{ti}} (\tau ) \oplus 1[b_{i1} ,\;b_{i2} ,\;b_{i3} ,\;b_{i4} ]\} \} \\ &=\, {\text{MIN}}\{ e_{j} [e_{j1} ,\;e_{j2} ,\;e_{j3} ,\;e_{j4} ] \oplus 1[b_{j1} ,\;b_{j2} ,\;b_{j3} ,\;b_{j4} ],\;{\text{earliest}}\{ e_{i} [e_{i1} ,\;e_{i2} ,\;e_{i3} ,\;e_{i4} ] \oplus 1[b_{i1} ,\;b_{i2} ,\;b_{i3} ,\;b_{i4} ]\} \} \\ &= \, {\text{MIN}}\{ e_{j} [e_{j1} + b_{j1} ,\;e_{j2} + b_{j2} ,e_{j3} + b_{j3} ,\;e_{j4} + b_{j4} ],\; \\ &\quad\; \mathop {\hbox{max} }\limits_{i} \{ e_{i} \} [\mathop {\hbox{min} }\limits_{i} \{ e_{i1} + b_{i1} \} ,\mathop {\hbox{min} }\limits_{i} \{ e_{i2} + b_{i2} \} \\ &\quad\; \mathop {\hbox{min} }\limits_{i} \{ e_{i3} + b_{i3} \} ,\;\mathop {\hbox{min} }\limits_{i} \{ e_{i4} + b_{i4} \} ],\} ,\;i = 1,2, \cdots m. \\ \end{aligned} $$

where: \( {\text{the earliest}} \) operator means to pick up

the earliest enable time from m enable time points and is the trapezoidal function approximation algorithm. MIN is the operator to seek the intersection of possibility distributions.

Definition 5

Fuzzy execution delay \( d_{t} (\tau ) \): fuzzy execution delay of transition t is attached on the output arc of t, which denotes the possibility distribution of that it costs \( \tau \) to finish t. If \( o_{t} (\tau ) = o[o_{1} ,o_{2} ,o_{3} ,o_{4} ] \), and \( d_{t} (\tau ) = d[d_{1} ,d_{2} ,d_{3} ,d{}_{4}], \) then token arrive at O p (t) at \( \pi (\tau ) = o_{t} (\tau ) \oplus d_{t} (\tau ) = \hbox{min} \{ o,\;d\} [o_{1} + d_{1} ,\;o_{2} + d_{2} ,\;o_{3} + d_{3} ,\;o_{4} + d{}_{4}]. \)

3.2 Time Performance Analysis of AFTWF-nets

In AFTWF-nets, possibility theory is applied to describe time information and analyze time performance. Possibility operator and performance index are defined as follows.

Definition 6

Possibility function [6]: Suppose a and b are fuzzy time points, their possibility distributions are represented by trapezoidal function \( \pi_{a} (\tau ) = 1[a_{1} ,\;a_{2} ,\;a_{3} ,\;a_{4} ], \) which is signed as ABCD, and \( \pi_{b} (\tau ) = 1[b_{1} ,\;b_{2} ,\;b_{3} ,\;b_{4} ], \) which is signed as EFGH, as shown in Fig. 2. Then, the possibility that fuzzy time b is before a (signed as \( b \le a \)) can be: \( {\text{Possibility}}\;(b \le a) = \frac{{{\text{Area}}([a,\;b] \cap b)}}{{{\text{Area}}(b)}} = \frac{{{\text{Area}}({\text{EBCH}})}}{{{\text{Area}}({\text{EFGH}})}}. \) Especially, if b is a certain time, as shown in Fig. 3, \( \pi_{b} (\tau ) = 1[t,\;t,\;t,\;t], \) then \( {\text{Possibility}}(a \le b) = \frac{{{\text{Area}}({\text{AEFD}})}}{{{\text{Area}}({\text{ABCD}})}}. \)

Fig. 2
figure 2

\( a \le b \)(b is a fuzzy time point)

Fig. 3
figure 3

\( a \le b \)(b is a certain time point)

Definition 7

Activities execution time constraint satisfaction is the possibility that an activity’s execution time meets the expected time, which means the activity ends within the expected time. In AFTWF-nets, assume a token arrives at p i at \( \pi_{i} (\tau ) \) and expect the transition t finishes at \( \pi (\tau ) \). The token begins from p i, goes through a series of transitions and finally arrives at O p (t) at \( \pi_{a} (\tau ) \), which can be worked out using the timing algorithm in Sect. 3.1. So the activities execution time constraint satisfaction is \( {\text{Possibility}}\;(\pi_{a} (\tau ) \le \pi (\tau )) \).

Definition 8

Time distance between activities constraints satisfaction is the possibility that the time distance between two activities is no less than or no more than the expected time distance. In this paper, it is represented by the difference of activities’ fuzzy occurrence time. Assume transition t 1 fires before transition t 2, and the expected time distance is \( D(\tau ) \). After calculation, we get \( o_{A} (\tau ) \) and \( o_{B} (\tau ) \), then the possibility that the time distance between t 1 and t 2 is no less than \( D(\tau ) \) is \( {\text{Possibility}}\;(\pi_{a} (\tau ) \le \pi (\tau )) \) and the possibility that the time distance between t 1 and t 2 is no more than \( D(\tau ) \) is \( {\text{Possibility}}(o_{B} (\tau ) \le o_{A} (\tau ) \oplus D(\tau )). \)

Definition 9

Temporal reachable probability of process is the possibility that a workflow process finishes within expected time distance. Assume a token arrives at p i at \( \pi_{i} (\tau ) \), and the expected time distance is \( D(\tau ) \), which means the token is expected to arrive at p o at \( \pi_{i} (\tau ) \oplus D(\tau ). \) The token begins from p i, goes through a series of transitions and finally arrives at p o , then we can work out \( \pi_{o} (\tau ) \). So the temporal reachable probability of process is \( {\text{Possibility}}(\pi_{\text{po}} (\tau ) \le \pi_{\text{pi}} (\tau ) \oplus D(\tau )). \)

3.3 A Stratification Algorithm of Temporal Reachable Probability

In this paper, a stratification algorithm of temporal reachable probability analysis in AFTWF-nets is proposed, which stratifies and extracts AFTWF-nets into hierarchical advanced fuzzy timing workflow nets (HAFTWF-nets) based on the four control route structures of workflow, which are sequence, selecting, parallel, and circle route. Here are the rules of transforming AFTWF-nets to HAFTWF-nets as follow.

  1. 1.

    For sequence route, merge the sequence route without any branch or loop node, represent it in the form of a group of subnets, and represent it by a “place->transition->place” structure named “sequence” in the original net.

  2. 2.

    For parallel route, represent all concurrent branches between “And split” and “And join” in the form of a group of subnets and represent it by a “place->transition->place” structure named “parallel” in the original net.

  3. 3.

    For selecting route, represent all conditional branches between “Or split” and “Or join” in the form of a group of subnets and represent it by a “place->transition->place” structure named “select” in the original net.

  4. 4.

    For circle route, represent the loop in the form of a group of subnets, and represent it by a “place->transition->place” structure named “circle” in the original net.

  5. 5.

    Each route structure can be nested within each other.

Based on the above transforming rules, the concrete steps of stratification algorithm are shown as follows (Fig. 4):

Fig. 4
figure 4

AFTWF-nets to HAFTWF-nets

  1. Step 1:

    Visit p i .

  2. Step 2:

    Visit the following nodes successively. When there is parallel, selecting or circle structure, extract the sequence structure before them, then visit their join nodes, do step 3; when visiting p o , do step 4.

  3. Step 3:

    Extract parallel, selecting and circle structure in subnet form and return to step 2.

  4. Step 4:

    End visiting. Use the above algorithm in dealing with every subnet successively until there is only sequence structure after simplification.

AFTWF-nets model is called original net, and after transforming, it is called level 0 subnet. Assume the bottom is level k subnet, which contains four basic routes, so when calculating temporal reachable probability, it is needed to calculate level 0 subnet. The simplification and calculation of the basic route structures are shown as follows:

Sequence route: Assume there are n transitions t 1, t 2,…t n in sequence pattern. So when representing this subnet shown in Fig. 5a as b with p s , t s , p s+1, the token in p s+1 arrives at: \( \pi_{{{\text{ps}} + 1}} (\tau ) = \pi_{\text{ps}} (\tau ) \oplus \sum\limits_{i = 1}^{n} {^{ \oplus } ({\text{FTPC}}(p_{i} ) \oplus {\text{FTTC}}(t_{i} ) \oplus d_{ti} (\tau ))} \).

Fig. 5
figure 5

Simplification of sequence route

where \( \sum\limits_{i = 1}^{n} {^{ \oplus } } \)denotes continuous extended plus, \( \pi_{ps} (\tau ) = \pi_{p1} (\tau ), i = 1,2, \cdots n. \)

Parallel route: Assume there are n transitions t 1, t 2,…t n in parallel pattern. t as is “And split”, t aj is “And join”, p i1I p (t i ,) and p i2O p (t i ,). So when representing this subnet shown in Fig. 6a as b with p p , t p , p p+1 , the token in p p+1 arrives at:

$$ \begin{aligned} \pi_{{{\text{pp}} + 1}} (\tau ) = & \pi_{\text{pp}} (\tau ) \oplus {\text{FTPC}}(p_{p} ) \oplus {\text{FTTC}}(t_{\text{as}} ) \oplus d_{\text{tas}} (\tau ) \oplus {\text{latest}}\{ \sum\limits_{i = 1}^{n} {^{ \oplus } } ({\text{FTPC}}(p_{i1} ) \oplus \\ & {\text{FTTC}}(t_{i} ) \oplus d_{\text{ti}} (\tau ) \oplus {\text{FTPC}}(p_{i2} ))\} \oplus {\text{FTTC}}(t_{\text{aj}} ) \oplus d_{\text{taj}} (\tau ). \\ \end{aligned} $$
Fig. 6
figure 6

Simplification of parallel route

Where \( \pi_{\text{pp}} (\tau ) = \pi_{p1} (\tau ),\;{\text{FTPC}}(p_{p} ) = {\text{FTPC}}(p_{1} ),i = 1,2, \cdots n. \)

Selecting route: Assume there are n transitions t 1, t 2,…t n in selecting pattern. p os is “Or split”, p oj is “Or join”. And the possibility of selecting branch i, which contains t i , is P i , where \( \sum {P_{i} } = 1 \). So when representing this subnet shown in Fig. 7a as b with

$$ p_{e} ,t_{e} ,p_{e + 1} ,{\text{ the}}\;{\text{token}}\;{\text{in}}\;p_{e + 1} {\text{arrives}}\;{\text{at}}:\pi_{{{\text{pe}} + 1}} (\tau ) = \sum\limits_{i = 1}^{n} {(P_{i} } \times ({\text{FTPC}}(p_{e} ) \oplus {\text{FTTC}}(t_{i} ) \oplus d_{\text{ti}} (\tau ))) $$

where \( \pi_{pe} (\tau ) = \pi_{pos} (\tau ),FTPC(p_{e} ) = FTPC(p_{os} ),i = 1,2, \cdots n. \)

Fig. 7
figure 7

Simplification of selecting route

Circle route: Assume there are two transitions t 1, t 2, in circle pattern it is P 1 to continue executing other transitions and it is P 2 to return to execute t 2, and P 1 + P 2 = 1. The loop which contains t 2 has been executed s times, so when representing this subnet shown in Fig. 8a as b with subnet as p c , t c , p c+1, the token in p c+1 arrives at:

$$ \pi_{{{\text{pc}} + 1}} (\tau ) = (1 + \sum\limits_{i = 1}^{s} {p_{2}^{s} } ) \times ({\text{FTPC}}(p_{c} ) \oplus {\text{FTTC}}(t_{1} ) \oplus d_{t1} (\tau )) \oplus \sum\limits_{i = 1}^{s} {p_{2}^{s} } \times ({\text{FTPC}}(p_{2} ) \oplus {\text{FTTC}}(t_{2} ) \oplus d_{t2} (\tau )) $$
Fig. 8
figure 8

Simplification of circle route

After Simplification, we can calculate the fuzzy time of each route in level k and then drag it to upper level k − 1 to calculate. After k times iteration until working out the fuzzy time level 0, it is temporal reachable probability of the whole workflow process. Through the stratification, calculation process is simplified, as well as the probability of state explosion is reduced.

4 Case Study and Analysis

A company receives an order and arranges for the procurement and production. Now, the concrete steps are shown as follows. (Fig. 9 shows its AFTWF-nets model of the business process, and Table 1 shows the significances and time information of transitions and places):

Fig. 9
figure 9

AFTWF-nets model of business process

Table 1 Significances and time information of the transtions and places

The order arrives at p i at \( \pi_{\text{pi}} (\tau ) = 1[0,\;0,\;0,\;0] \), time calculation is shown as follows:

  1. Step 1:

    t 1. As we known\( e_{t1} (\tau ) = 1[0,\;0,\;0,\;0],\;{\text{FTTC}}(t_{1} ) = 1[0,\;0,\;0,\;0] \) so \( o_{t1} (\tau ) = 1[0,\;0,\;0,\;0] \).

  2. Step 2:

    p 1, p 2 and p 12. p 1, p 2, p 12I p (t 1) so \( \pi_{p1} (\tau ) = \pi_{p2} (\tau ) = \pi_{p12} (\tau ) = o_{t1} (\tau ) \oplus d_{t1} (\tau ) = 1[2,3,5,6]. \)

  3. Step 3:

    t 2, p 3, t 4, p 5,t 6 and p 7. \( {\text{FTPC}}(p_{1} ) = 1[0,\;0,\;0,\;0],\;{\text{FTTC}}(t_{2} ) = 1[0,\;0,\;0,\;0],e_{t2} (\tau ) = 1[2,\;3,\,5,\;6], \) so \( o_{t2} (\tau ) = 1[2,\;3,\;5,\;6],\pi_{p3} (\tau ) = o_{t2} (\tau ) \oplus d_{t2} (\tau ) = 1[3,\;5,\;8,\;10],e_{t4} (\tau ) = \pi_{p3} (\tau ) \oplus {\text{FTPC}}(p_{3} ) = 1[3,\;5,\;8,\;10], \) \( o_{t4} (\tau ) = e_{t4} (\tau ) \oplus {\text{FTTC}}(t_{4} ) = 1[3,\;5.5,\;9,\;11.5], \) and we get \( \pi_{p5} (\tau ) = 1[4,\;7.5,\;12,\;15.5], \) successively \( e_{t6} (\tau ) = 1[4,\;7.5,\;12,\;15.5],o_{t6} (\tau ) = 1[4,\;7.5,\;12,\;15.5],\pi_{p7} (\tau ) = 1[12,\;17,\;23,\;28]. \)

  4. Step 4:

    p 2, t 3, p 4, t 5 and p 6. \( e_{t3} (\tau ) = \pi_{p2} (\tau ) \oplus {\text{FTPC}}(p_{2} ) = 1[2,\;3,\;5,\,6] \), so we get \( o_{t3} (\tau ) = e_{t3} (\tau ) \oplus {\text{FTTC}}(t_{3} ) = 1[2,\;3,\;5,\,6] \) and \( \pi_{p4} (\tau ) = o_{t3} (\tau ) \oplus d_{t3} (\tau ) = 1[2,\;4,\,7,\;9], \) and \( e_{t5} (\tau ) = 1[2,\;4,\;7,\;9],o_{t5} (\tau ) = 1[2,\;4,\;7,\;9],\;\pi_{p6} (\tau ) = 1[3,\;6,\;10,\;13]. \)

  5. Step 5:

    t 7, p 8, t 8, p 9 and t 9. Before loop \( \pi_{p6} (\tau ) = 1[3,\;6,\;10,\;13],e_{t7} (\tau ) = 1[3,\;6,\;10,\;13] \) \( o_{t7} (\tau ) = 1[3,\;6,\;10,\;13],e_{t8} (\tau ) = 1[10,\;14,\;19,\;23],o_{t8} (\tau ) = 1[10,\;14,\;19,\;23]\;{\text{and}}\;\pi_{p9} (\tau ) = 1[11,\;16,\;22,\;27]. \) Assume possibility that raw materials do not meet the standard, is 10 %, and when they are unqualified, t 9 is enabled, and then \( e_{t9} (\tau ) = 1[11,\;16,\;22,\;27],o_{t9} (\tau ) = 1[11,\;16,\;22,\;27], \) \( d_{t9} (\tau ) = 1[0,0,1,1], \) so \( \pi_{p8} (\tau )' = 1[11,\;16,\;23,\;28],o_{t8} (\tau )' = 1[11,\;16,\;23,\;28], \) and \( \pi_{p9} (\tau )' \) \( = 1[12,\;18,\;26,\;32]. \) If circling once, \( \pi_{p9} (\tau )'' = 90\;\% \times \pi_{p9} (\tau ) + 10\;\% \times \pi_{p9} (\tau )' = 1[11.1,\;16.2,\;22.4,\;27.5]. \)

  6. Step 6:

    t 10.\( e_{t10} (\tau ) = {\text{latest(}}\pi_{p7} (\tau ),\;\pi_{p9} (\tau )'',\;\pi_{p12} (\tau )) = \hbox{min} (1,\;1,\;1)[\hbox{max} (12,\;11.1,\;0),\;\hbox{max} (17,\;16.2,\,5), \) \( \hbox{max} (23,\;22.4,\;25),\;\hbox{max} (28,\;27.4,\;30)] = 1[12,\;17,\;25,\;30],\;{\text{so}}\;o_{t10} (\tau ) = 1[12,\;17,\;25,\;30],\;\pi_{p10} (\tau ) = 1[12,\;18,\;26,\;32]. \)

  7. Step 7:

    t 11and t 12.\( e_{t11} (\tau ) = e_{t12} (\tau ) = 1[12,\;18,\;26,\;32], \) so \( o_{t11} (\tau ) = {\text{MIN}}\{ 1[12,\;18,\;26,\;32] \oplus 1[1,\;2,\;2,\;3], \) \( \begin{array}{*{20}c} {{\text{earliest}}(1[12,\;18,\;26,\;32] \oplus 1[1,\;2,\;2,\;3],\;1[12,\,18,\;26,\,32] \oplus 1[2,\;3,\;3,\;4])\} = \hbox{min} \{ 1[13,\;20,\;28,\;35],\;1[13,\;20,\;28,\;35]\} } \hfill \\ { = 1[13,\;20,\;28,\;35],\;o_{t12} (\tau ) = {\text{MIN}}\{ 1[12,\;18,\;26,\;32] \oplus 1[2,\;3,\;3,\;4],\;{\text{earliest}}(1[12,\;18,\;26,\;32] \oplus } \hfill \\ {1[1,\;2,\;2,\;3],\;1[12,\;18,\;26,\;32] \oplus 1[2,\;3,\;3,\;4])\} = \hbox{min} \{ 1[14,\;21,\;29,\;36],\;1[13,\,20,\;28,3\,5]\} = 1[14,\;21,\,28,\;35],} \hfill \\ \end{array} \) so if execute t 11, \( \pi_{p11} (\tau ) = o_{t11} (\tau ) \oplus d_{t11} (\tau ) = 1[21,\;30,\;40,\;49], \) and if execute t 12, \( \pi_{p11} (\tau )' = o_{t12} (\tau ) \oplus d_{t12} (\tau ) = 1[18,\;26,\;35,\;43], \) and assume possibility that execute t 11 is 60 %, that execute t 12 is 40 %, so \( \pi_{p11} (\tau )'' = 60\;\% \times \pi_{p11} (\tau ) + 40\;\% \times \pi_{p11} (\tau )' = 1[19.8,\;28.4,\;38,\;46.6]. \)

  8. Step 8:

    t 13 and p o .\( e_{t13} (\tau ) = 1[19.8,\;28.4,\;38,\;46.6],\;o_{t13} (\tau ) = 1[19.8,\;28.4,\;38,\,46.6] \) and \( \pi_{po} (\tau ) = 1[19.8,\;29.4,\;40,\,49.6]. \) It means that the total time cost is \( 1[19.8,\;29.4,\;40,\;49.6]. \)

After calculation, time performance of the workflow is shown as follows:

  1. 1.

    Activities execution time constraint satisfaction. For example, it is expected that local purchasing Dept should finish purchasing within 22 days, which means the token arrives at p 7 at \( \pi_{p7} (\tau ) = 1[22,\;22,\;22,\;22]. \) As shown in Fig. 10, the area of the left part of the trapezoidal is [(22 − 17) + (22 − 13)] × 1/2 = 7, and the whole area is [(23 − 17) + (28 − 13)] × 1/2 = 10.5, so the possibility that t 6 finishes within 22 days is \( {\text{Possibility}}(\pi_{p7} (\tau ) \le \pi (\tau )) = 7/10.5 = 0.667. \)

    Fig. 10
    figure 10

    \( \pi_{p7} (\tau ) \le \pi (\tau ) \)

  2. 2.

    Time distance activities constraints satisfiability. There are some time constraints between production Dept receiving raw materials and delivering product to users. If time distance between t 10 and t 13 needs to be less than 5 days, it means to solve \( {\text{Possibility}}(o_{t13} (\tau ) \le o_{t10} (\tau ) \oplus 1[5,\;5,\;5,\,5]). \) As shown in Fig. 11,

    Fig. 11
    figure 11

    \( o_{t13} (\tau ) \le o_{t10} (\tau ) \oplus 1[5,\;5,\;5,\;5] \)

  3. Step 1:
    $$ {\text{Possibility}}(o_{t13} (\tau ) \le o_{t10} (\tau ) \oplus 1[5,\;5,\;5,\;5]) = {\text{Possibility}}(1[19.8,\;28.4,\;38,\;46.6] \le 1[17,\;22,\;30,\;35]). $$
  4. Step 2:

    The overlap area is [(30 − 28.4) + (35 − 19.8)] × 1/2 = 8.4, the area of right half part is [(38 − 28.4) + (46.6 − 19.8)] × 1/2 = 18.2,so \( {\text{Possibility}}(o_{t13} (\tau ) \le o_{t10} (\tau ) \oplus 1[5,\;5,\;5,\;5]) = 8.4/18.2 = 0.462, \)

  5. Step 3:

    That is the possibility that time distance is no more than 5 days.

  6. 3.

    Temporal reachable probability of the process. Firstly, calculate it using general method. From the above result, the total fuzzy time cost is \( \pi_{\text{po}} (\tau ) - \pi_{\text{pi}} (\tau ) = 1[19.8,\;29.4,\;40,\;49.6]. \)

If the whole process finishes within 38 days, the expected fuzzy timestamp is \( \pi_{f} (\tau ) = 1[38,\;38,\;38,\;38]. \) As shown in Fig. 12, the area of the whole trapezoidal is [(40 − 29.4) + (49.6 − 19.8)] × 1/2 = 20.2, the left part is [(38 − 29.4) + (38 − 19.8)] × 1/2 = 13.4, so \( {\text{Possibility}}(\pi_{po} (\tau ) \le \pi_{f} (\tau )) = 13.4/20.2 = 0.663. \) Secondly, calculate it using stratification algorithm. HAFTWF-nets is shown in Fig. 13 and the time information of each node is given above; therefore, we can obtain the time information of each basic route in level 3, substitute the result into the next upper level until finally substitute the result into level 0 and work out \( \pi_{\text{po}} (\tau ) = 1[19.8,\;29.4,\;40,\;49.6], \) which is the same as the above answer.

Fig. 12
figure 12

\( \pi_{\text{po}} (\tau ) \le \pi_{f} (\tau ) \)

Fig. 13
figure 13

HAFWF-nets model of business process

5 Conclusion

This paper proposed AFTWF-nets based on the existing research achievements on TCPN and FTHN and then gave its formal definition as well as corresponding reasoning and analysis algorithm. Firstly, AFTWF-nets has been used to describe the temporal information within workflows, and then model time constraints, and analyze its time performance. Secondly, based on the above analysis, a reduction algorithm for fuzzy time workflow model was put forward. Finally, through a practical interprovincial company application, the effectiveness of our method has been verified.

AFTWF-nets can be used to model those workflows which involved uncertain time information, and it will increase the flexibility of the workflow management systems, and also enrich workflow modeling theory and, promote the application of workflow management software.