# A Petri Net Approach for Business Process Modeling and Simulation
## 5 Basic Structures of Petri Nets Applied to Business Process
### Applications  
Petri nets have been proposed for a wide variety of applications due to their generality and permissiveness. They can be applied to almost any area of engineering or system that can be represented graphically, for example, flowcharts to show sequential, parallel, or concurrent activities. In this type of representation it is important to take into account that a model represented in a very general way can lose analytical capacity. As the model becomes more general, there are fewer elements available for analysis; in fact, one of the disadvantages of Petri nets is that as the systems or processes to be modeled grow more complex the PNs likewise become more complex and difficult to understand, which can make analysis difficult even for a system of modest size. As an example, a graphic model of fouling and scoring in basketball is provided later in this section [38]. The application areas of Petri nets according to [PERSON] are: modeling and analysis of distributed software systems, distributed database systems, concurrent and parallel  
Figure 5: Attribution, showing independent execution of an activity triggered by a different activity. Figure 6: Conjunction, showing synchronization of activities in parallel. programs, flexible manufacturing/industrial control systems, discrete event systems, multi-processor memory, data flow computer systems, fault tolerant systems, programmable logic, asynchronous circuits and structures, compilers and operating systems, office information systems, formal languages, and logic programs. Other interesting applications considered in the literature are local area networks, legal systems, human factors, neural networks, digital filters, and decision models. The use of computer-aided tools is a necessity for practical applications of Petri nets. Most Petri net research groups have their own software packages and tools to assist in drawing, analysis, and/or simulation of various applications; in the case of the present investigation, a system for the simulation of Petri net processes is included [38]. As already mentioned, a Petri net is a directed graph that includes an initial state called the initial mark or M0. The underlying graph is a bipartite, weighted, and directed graph consisting of two types of nodes, called places and transitions, with the arcs joining from a place to a transition or from a transition to a place. In the graphic representation, places are drawn as circles, while transitions are drawn as bars or boxes. In modeling, using the concept of conditions and events, places represent conditions and transitions represent events. A transition (event) has a number of entry and exit locations that represent the pre- and post-event conditions, respectively. The presence of a token in a place is interpreted as holding the truth of the condition associated with the place. In another interpretation, k tokens in one place indicate that k data items or resources are available. Typical interpretations of transitions and their entry and exit places are provided here as an example. Table 1 shows typical input and output connotations applied to transitions. In general, the behavior of systems can be described in terms of the states of the system and their changes. To simulate the dynamic behavior of a system, a state or token in a Petri net is changed according to the following transition (trigger) rule:  
1. A transition t is enabled if each input location p of t is marked with at least w(p, t) tokens, where w(p, t) is the weight of the arc from p to t.
2. A transition may or may not enabled the firing of a token, depending on the event that is to be fired. 3. A trigger on an enabled transition t moves w(p, t) tokens from each input location p of t, where w(t, p) is the weight of the arc from t to p.  
A transition with no place of entry is called a source transition, while one with no place of exit is called a well transition. A source transition is unconditionally enabled, while activating a pool transition consumes tokens without producing any.