## 3 Proposed Method
### Satisfying Separation-of-Duty Constraints  
Separation-of-duty constraints can be effectively enforced by mutually exclusive constraints. In order to satisfy these constraints, we constructed different variants of mutually exclusive roles to implement RSSOD based on any unconstrained role-mining algorithm for basic RMP, including algorithm design and description, computational complexity, and correctness analysis. First, we present the following definitions.  
**Definition 1**.: _(static and soft mutually exclusive roles, t-m SMER) Given m roles \(r_{1}\),\(r_{2}\),... \(r_{m}\), a t-m SMER states that no user is allowed to have t or more of these m roles. It is expressed as smer<\(\{r_{1}\),\(r_{2}\),... \(r_{m}\)},t>, where each r\({}_{i}\) is a role, and m and t are integers, such that 2\(\leq\) k\(\leq\) n. A t-m SMER can be formalized as follows:_  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Symbol** & **Meaning** \\ \hline \(<\)\(s\), \(P_{lb}\), \(P_{ub}\), \(\textit{match}\)\(>\) & The four tuple of permissions request \\ SSDD & Role-static separation-of-duty constraint \\ SMER & Static mutually exclusive roles \\ \(\textit{rssod}\)\(<\)\(\{r_{1}\),\(r_{2}\),... \(r_{n}\)\(\}\),\(k\)\(>\) & The \(k\)-\(n\) SSDD constraint \\ \(\textit{smer}\)\(<\)\(\{r_{1}\),\(r_{2}\),... \(r_{m}\)\(\}\),\(t\)\(>\) & The \(t\)-\(m\) SMER constraint \\ \(\textit{smer}\)\(<\)\(\{r_{1}\),\(r_{2}\),... \(r_{t}\)\(\}\),\(t\)\(>\) & The \(t\)-\(t\) SMER constraint \\ \(E\) & The set of SSOD constraints \\ \(C\) & The set of SMER constraints \\ \(\bar{p}\), \(\
eg\bar{p}\) & The literal and its negation with respect to permission \(p\) \\ \(\overline{r}\), \(\
eg\overline{r}\) & The literal and its negation with respect to role \(r\) \\ \hline \hline \end{tabular}
\end{table}
Table 1: Main symbols and their meanings.  
\[\forall u\in U:\left|\{r_{1},r_{2},\ldots,r_{m}\}\cap\ Roles(u)\right|<t \tag{4}\]  
It has been shown that any \(t\)-\(m\) SMER can be equivalently represented using a set of \(t\)-\(t\) SMER [24].  
**Definition 2**.: _(static and hard mutually exclusive roles, \(t\)-\(t\) SMER) Given \(t\) roles \(r_{1}\),\(r_{2}\),...,\(r_{t}\), a \(t\)-\(t\) SMER states that no user is allowed to have these \(t\) roles. It is expressed as smer\(<\){\(r_{1}\),\(r_{2}\),...,\(r_{t}\)},\(t\)\(>\), where each \(r_{i}\) is a role, and \(t\) is an integer, such that \(t\)\(\geq\) 2. A \(t\)-\(t\) SMER can be formalized as follows:_  
\[\forall u\in U:\{r_{1},r_{2},\ldots,r_{t}\} Roles(u) \tag{5}\]  
**Definition 3**.: _(role-mining problem with RSSOD constraints) Given a set of users \(U\), a set of permissions \(P\), a user-permission assignments matrix UPA, and a set of RSSOD constraints E={\(e_{1}\),\(e_{2}\),... \(\}\), find a set of roles \(R\), a user-role assignments matrix UA, a role-permission assignments matrix PA, and a set of SMER constraints C, such that the UA and PA are consistent with the UPA, C enforces E, and the number of mining roles \(|R|\) is minimized. It can be formalized as follows:_  
\[\left\{\begin{array}{c}\min\lvert R\rvert\\ \mathit{UA}\otimes PA=\mathit{UPA}\\ \mathit{C}\ enforces\ E\end{array}\right. \tag{6}\]