# Performability Evaluation and Sensitivity Analysis of a Video Streaming on Demand Architecture
## 4 SPN Models  
### Preliminaries  
_A stochastic Petri net (SPN)_ is a mathematical modeling tool that is used to represent and to analyze the behaviors of systems that exhibit randomness or uncertainty. It is a type of Petri net, which is a graphical notation for representing the behaviors of distributed systems. An SPN consists of a directed graph with two types of nodes: places and transitions. Places represent states or conditions in the system, and transitions represent events or actions that can occur. Edges between the places and transitions represent the flow of control, or the dependencies between the states and events. In an SPN, the behavior of the system is represented by the flow of tokens through the graph. Tokens are represented by dots and are placed in the places. When a transition is enabled, it can consume a certain number of tokens from its input places and produce a certain number of tokens in its output places, according to a set of rules that are defined by the user. The number of tokens consumed and produced by a transition is determined by the transition's firing rate, which can be either deterministic or stochastic. One of the main advantages of using an SPN is that it allows the user to model systems with complex, dynamic behavior, and to analyze the behavior of the system under different scenarios. SPNs can be used to model systems in a variety of domains, including computer science, engineering, biology, and economics. To create an SPN, the user must first define the places and transitions of the system, and the rules that govern the flow of tokens between them. The user can then simulate the behavior of the system by executing the SPN and observing the flow of tokens through the graph. This can be achieved using specialized software tools, such as the Stochastic Petri Net Editor (SPNEd) or the GreatSPN tool. There are several types of analysis that can be performed on an SPN, including steady-state analysis, which determines the long-term behavior of the system, and transient analysis, which determines the behavior of the system over a shorter time period. Other types of analysis include probabilistic analysis, which determines the likelihood of different events occurring in the system, and performance analysis, which determines the efficiency and effectiveness of the system. An SPN is a powerful modeling tool that can be used to represent and analyze the behaviors of systems that exhibit randomness or uncertainty. _Pertormability modeling_ is a technique that is used to analyze the reliability, availability, and maintainability of a system. It is used to evaluate the system's ability to perform its intended function under different operating conditions, and to identify potential bottlenecks or vulnerabilities that could affect its performance. One way to perform perform performability modeling is by using a stochastic Petri net (SPN). An SPN is a graphical modeling tool that can be used to represent the behavior of a system and to analyze its performance under different scenarios. To use an SPN for performability modeling, the user must first define the places and transitions of the system, and the rules that govern the flow of tokens between them. The places represent the states or conditions of the system, and the transitions represent the events or actions that can occur. Next, the user must define the performance measures of interest, such as the reliability, availability, and maintainability of the system. These measures can be represented by the number of tokens in certain places or the rate at which tokens flow through the SPN. The user can then simulate the behavior of the system by executing the SPN and by observing the flow of tokens through the graph. This allows the user to identify potential bottlenecks or vulnerabilities that could affect the system's performance, and to evaluate the system's performance under different operating conditions.