Submit your research to the International Journal "Notes on Intuitionistic Fuzzy Sets". Contact us at

Call for Papers for the 25th Jubilee Edition of the International Conference on Intuitionistic Fuzzy Sets is now open!
Conference: 9–10 September 2022 • Deadline for submission: 30 May 2022.

Algorithm for generalized net functioning

From Ifigenia, the wiki for intuitionistic fuzzy sets and generalized nets
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Below we will describe the most general algorithm for the generalized net functioning.

For this purpose, we will introduce the concept of Abstract Transition (AT). This is a GN transition represented as the union of all active GN-transitions at a given time-moment. For its construction the operation "union" of transitions is used (see Operations and relations over generalized nets).

The algorithm

Step B01 Put all tokens α, for which θK(α) ≤ T, into the corresponding input places of the net.
Step B02 Construct the GN's Abstract Transition (initially it is empty).
Step B03 Check whether the value of the current time is less than T + t*.
Step B04 If the answer to the question on Step B03 is "no", terminate the process of GN functioning.
Step B05 Check all transitions for which the first time-component is exactly equal to the current time-moment.
Step B06 Check the transition's types of all transitions determined by B05. The method of checking is as follows:
  • Change the names of all places which participate in the Boolean expression of the transition type as variables with values:
    • 0, if the corresponding place has no tokens at the current moment;
    • 1, otherwise;
  • Calculate the truth value of the so obtained Boolean expression.
Step B07 Add all transitions from Step B06, for which the transition types are satisfied by the Abstract Transition.
Step B08 Apply the algorithm for transition functioning over the Abstract Transition.
Step B09 Remove from the Abstract Transition all transitions, which are inactive at the current time-moment.
Step B10 Increase the current time with t0.
Step B11 Go to Step B03.

This algorithm helps us to realize the different subprocesses (which exist in the frames of the most global modelled process) on the level of places, while analogous processes in other nets are modelled on the level of transitions. Moreover, the places are sorted by their priorities while in other nets this is not the case. Therefore, the sequence of the process realization by generalized nets is performed on the level of places (from different active transitions). Furthermore, when some places have equal priority, the tokens' transfer is related to the tokens' priorities, which is difficult to achieve in other nets.

This algorithm was described in the "Generalized Nets" from 1991 year [1] and "On Generalized Nets Theory" from 2007 year [2].


The algorithm guarantees that no conflict situations may occur during the functioning of the generalized net, due to the preliminary prioritization of the transitions and the places, and the predicates.

However, a condition may be formulated for which a given GN will not have the possibility to continue functioning, but will have to wait. This condition is represented as a double sum of products.

The process of GN functioning will temporarily stop, if

[math]\displaystyle{ \sum_{i=1}^m \sum_{j=1}^n f(r_{i,j}) . m_{i,j}(TIME) . \overline{c}(l_i, TIME) . (c(l_j) - \overline{c}(l_j, TIME)) = 0 }[/math]


  • [math]\displaystyle{ f(r_{i,j})= \begin{cases}1 \text{ if the predicate } r_{i,j} \text{ is ``true'' } \\ 0 \text{ otherwise } \end{cases} }[/math]
  • [math]\displaystyle{ m_{i,j} }[/math] is the capacity of this arc, which decrements with 1 for each token that passes during the transfer at the current moment [math]\displaystyle{ TIME }[/math]. When it reaches zero, the arc capacity will be fully utilized and no more tokens may pass at this time.
  • [math]\displaystyle{ \overline{c}(l_i, TIME) }[/math] is the number of tokens, which at moment TIME stay in the input place [math]\displaystyle{ l_i }[/math]. When there are no tokens in the input place, no transfer may occur and the process will stop.
  • [math]\displaystyle{ (c(l_j) - \overline{c}(l_j, TIME)) }[/math] is the number of vacancies in the output place [math]\displaystyle{ l_j }[/math] at current moment [math]\displaystyle{ TIME }[/math], formed as a difference between the standard maximal number of tokens [math]\displaystyle{ c(l_j) }[/math] and the current number of tokens there [math]\displaystyle{ \overline{c}(l_j, TIME) }[/math]. If there are no vacancies in the output place, no tokens from the input place may transfer.


  1. Atanassov K., "Generalized Nets", World Scientific, Singapore, 1991, ISBN 978-981-02-0598-0
  2. Atanassov K., On Generalized Nets Theory, "Professor Marin Drinov" Academic Publishing House, 2007, ISBN 978-954-322-237-7