## 2 Basic Concepts  
Basic concepts and definitions concerning \(PNs\) and \(IPN\) are recalled in this section (for more details see, for instance [3,33]). **Definition 1**. : _A Petri net (PN) structure, \(\mathcal{N}\), is a bipartite digraph represented by the 4-tuple \(\mathcal{N}=\langle P,T,I,O\rangle\), where \(P=\{p_{1},p_{2},...,p_{n}\}\) is the finite set of places, \(T=\{t_{1},t_{2},...,t_{m}\}\) is the finite set of transitions, \(I\): \(P\times T\rightarrow\mathbb{N}_{0}\) is a function representing weighted arcs connecting places to transitions, and \(O\): \(P\times T\rightarrow\mathbb{N}_{0}\) is a function representing weighted arcs connecting transitions to places._The _incidence matrix_ of \(\mathcal{N}\) is defined as a \(|P|\times|T|\) matrix \(\mathbf{C}\), such that \(\mathbf{C}[i,j]=O(p_{i},t_{j})-I(p_{i},t_{j})\), \(\forall p_{i}\in P\), \(\forall t_{j}\in T\). Graphically, places are represented by circles, transitions by rectangles, and arcs by arrows. Given a node \(v\in P\cup T\), \({}^{\bullet}v\) (resp. \(v^{\bullet}\)) denotes the set of nodes directly connected to \(v\) (resp. nodes directly connected from \(v\)). A \(PN\) is said to be a _state machine_ if each transition has only one input and one output place (i.e., \(\forall t\in T\)\(|^{\bullet}t|=|t^{\bullet}|=1\)) and the Petri net graph is strongly connected. Definition 2: An Interpreted Petri net (1 PN) system is a 8-tuple \(Q=\langle\mathcal{N},M_{0},\Sigma_{I}\,,\Sigma_{Id},\Sigma_{O},\lambda_{I},\)\(\lambda_{Id},\varphi\rangle\), where:  
* \(\mathcal{N}\) is a PN;
* \(M_{0}\) is the initial marking, defined as a function, \(M_{0}\colon P\to\mathbb{N}_{0}\), describing the number of tokens (dots) initially residing inside each place;
* \(\Sigma_{I}\) is the input alphabet--each element of \(\Sigma_{I}\) is an input symbol;
* \(\Sigma_{Id}\) is the identity alphabet--each element of \(\Sigma_{Id}\) is an identity symbol;
* \(\Sigma_{O}\) is the output alphabet--each element of \(\Sigma_{O}\) is an output symbol;
* \(\lambda_{I}\colon T\to 2^{\Sigma_{I}}\) is the input labeling function that associates transitions to input symbols. A transition can be associated with several input symbols. If \(\lambda_{I}(t_{j})\
eq\emptyset\), then the transition \(t_{j}\) is said to be controllable, otherwise it is uncontrollable;
* \(\lambda_{Id}\colon T\to\Sigma_{Id}\cup\{\epsilon\}\) is the identity labeling function, where two transitions cannot have the same identity label and each transition can have one identity label at most; \(\epsilon\) represents that the transition has not identity label;
* \(\varphi:P\to 2^{\Sigma_{O}}\) is the output labeling function that associates places to output symbols. A place can be associated with several output symbols. The marking distribution of an \(1 PN\) describes the state of the represented dynamical system; the marking changes according to the following rules:  
* Given a current marking distribution, \(M_{k}\colon P\to\mathbb{N}_{0}\), an external observer reads the symbols associated with the marked places, whose set is denoted as \(\varphi(M_{k})=\{o\in\Sigma_{O}|o\in\varphi(p),\ M_{k}(p)>0\}\). \(\varphi(M_{k})\) is said to be the current _output_ of the \(1 PN\) and the symbols of \(\varphi(M_{k})\) are said to be _indicated_ at \(M_{k}\). * A transition \(t_{j}\) is said to be _marking-enabled_ at marking \(M_{k}\) if \(\forall p_{i}\in{}^{\bullet}t_{j}\), \(M_{k}(p_{i})\geq I(p_{i},t_{j})\). * A transition \(t_{j}\) is said to be _label-enabled_ at marking \(M_{k}\) if every symbol \(a\in\lambda_{I}(t_{j})\) is indicated by either the current marking \(M_{k}\) or an external agent. If \(\lambda(t_{j})=\emptyset\), then \(t_{j}\) is always label-enabled. * If \(t_{j}\) is marking-enabled and label-enabled at \(M_{k}\), then it is said to be _enabled_, and it can be fired (denoted as \(M_{k}[t_{j}>)\). Otherwise, it is said to be _disabled_.