# TransformingBPMN Processes toSBVR Process Rules with
## 3 Transformation of BPMN Processes to SBVR Process Rules
### Transformation Rules  
In general, a model transformation (\(T\)) represents a mapping between the input model and the output (target) models. For a specific model transformation rule (\(T_{i}\)) defined in our approach, the input is represented by a specific BPMN process model structure pattern (\(PP_{i}\)) and the output is represented by a specific SBVR process rule structure pattern (\(RP_{i}\)):  
\[T_{i}:\,PP_{i}\to RP_{i},\,\text{where}\,\,i=1,\,\ldots,9\]  
Further, in Table 1, we present model transformation rules for the automatic transformation of BPMN processes to SBVR process rules with deontic modalities. We state that the presented set of transformation rules is sufficient for the formation of a ruleset of SBVR process rules expressing the core flow concepts of a modeled BPMN process. Furthermore, experimenting with the acquired sets of process rules showed that those rulesets provide enough business knowledge to reverse engineer the flows of the initial processes; however, this is a subject for another research and will not be elaborated on further in this paper. Figure 1: The overall architecture supporting the developed model transformation solution. \begin{table}
\begin{tabular}{c c} \hline \(T_{i}\) & \multicolumn{2}{c}{**Transformation Rule Definition**} \\ \hline \multicolumn{3}{c}{Pattern with a sequence flow:} \\ \cline{3-3}  & \(PP_{1}\)\({}^{1}\) & start \(\mathrm{ev}(\mathrm{m})\) \\  & \(\mathrm{intermed\_ev}(\mathrm{m})\) \\  & \(\mathrm{activity}(\mathrm{m})\) \\ \hline \multirow{3}{*}{\(T_{1}\)} & \multirow{3}{*}{\(RP_{1}\)} & (* RP1 *) \\  & & \(\mathrm{\textit{``}}\)It is obligatory that \(\textit{``}\), (\(\textit{xc}(\textit{end}_{\textit{ev}}(\mathrm{n})\)) \(|\) \(\textit{vc}(\textit{intermed\_ev}(\mathrm{n}))\) \(|\) \(\textit{vc}(\textit{participant}(\mathrm{2})\), \(\textit{activity}(\mathrm{n}))\)), \(\textit{``}\)after\(\textit{``}\), \\  & \(\mathrm{\textit{(vc}(\textit{start\_ev}(\mathrm{m}))\) \(|\) \(\textit{vc}(\textit{intermed\_ev}(\mathrm{m}))\) \(|\) \(\textit{vc}(\textit{participant}(\mathrm{2})\), \(\textit{activity}(\mathrm{m}))\), \(\textit{``}\)and if\(\textit{``}\), \(\textit{vc}(\textit{end}(\mathrm{i}))\), \(\textit{``}\)\(\cdot\cdot\); \\  & (* / RP1 *) \\ \hline \multirow{3}{*}{E.g.,} & (* Next are examples of process rules acquired from the basic process pattern consisting of two sub-sequential flow objects) \\  & \(\mathrm{\textit{``}}\)It is obligatory that manager _registers_ orderafter order _is received_. \\  & \(\mathrm{\textit{It is obligatory that order is completed after ordered production is delivered. }}\) \\  & \(\mathrm{\textit{It is obligatory that order calculates order estimate after manager _receives_ registered order and if order information _is correct_. }}\) \\ \hline \multicolumn{3}{c}{Pattern with diverging and \(1\) or converging exclusive gateway(s):} \\ \cline{3-3}  & \(PP_{2}\) & (* RP2.div *) \\ \hline \multicolumn{3}{c}{(* RULE PATTERN PART FOR A DIVERGING EX \begin{table}
\begin{tabular}{c c} \hline \hline \(T_{i}\) & \multicolumn{2}{c}{**Transformation Rule Definition**} \\ \hline E.g., & (* Next is an example with two process rules acquired from two diverging branches of an exclusive gateway*) \\  & It is obligatory that manager assigns platinum order status after order is registeredland if customer is_a platinum customer. \\  & It is obligatory that manager assigns normal order status after order is registeredland if customer is_a first-comer customer. \\  & (* Next is an example with a converging exclusive gateway*) \\  & It is obligatory that orderis rejected after manager rejects orderland if customer is_a first-comer customeror order confirmation is _past due_. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Cont.