# Building Topic-Driven Virtual IoTs in a Multiple IoTs Scenario
## 3 The MIoT Paradigm  
In this section, we provide an overview of the MIoT paradigm, described in detail in [14], because it is the reference one for our definitions of virtual IoTs in a MIoT.  
A MIoT \(\mathcal{M}\) consists of a set of \(m\) Internets of Things. Formally speaking:  
\[\mathcal{M}=\{\mathcal{I}_{1},\mathcal{I}_{2},\cdots,\mathcal{I}_{m}\} \tag{1}\]where \(\mathcal{I}_{k}\) is an IoT.  
Let \(o_{j}\) be an object of \(\mathcal{M}\). We assume that, if \(o_{j}\) belongs to \(\mathcal{I}_{k}\), it has an instance \(t_{j_{k}}\), representing it in \(\mathcal{I}_{k}\). The instance \(t_{j_{k}}\) consists of a virtual view (or, better, a virtual agent) representing \(o_{j}\) in \(\mathcal{I}_{k}\). For example, it provides all the other instances of \(\mathcal{I}_{k}\), and the users who interact with \(\mathcal{I}_{k}\), with all the necessary information about \(o_{j}\). Information stored in \(t_{j_{k}}\) is represented according to the format and the conventions adopted in \(\mathcal{I}_{k}\).  
A MIoT \(\mathcal{M}\) can be represented by means of a graph-based notation. In particular, each IoT \(\mathcal{I}_{k}\in\mathcal{M}\) can be modeled by means of a graph \(G_{k}=\langle N_{k},A_{k}\rangle\). In this case:  
* \(N_{k}\) is the set of the nodes of \(G_{k}\); there is a node \(n_{j_{k}}\) for each instance \(t_{j_{k}}\in\mathcal{I}_{k}\), and vice versa.
* \(A_{k}\) is the set of the arcs of \(G_{k}\); there is an arc \(a_{j_{k}}=(n_{j_{k}},n_{q_{k}})\) if there exists a physical link from \(n_{j_{k}}\) to \(n_{q_{k}}\).  
Finally:  
\[\mathcal{M}=\langle N,A\rangle \tag{2}\]  
Here:  
\[N=\bigcup_{k=1}^{m}N_{k}; \tag{3}\]  
\[A=A_{I}\cup A_{C}, \tag{4}\]  
where  
\[A_{I}=\bigcup_{k=1}^{m}A_{k} \tag{5}\]  
and  
\[A_{C}=\{(n_{j_{k}},n_{j_{q}})|n_{j_{k}}\in N_{k},n_{j_{q}}\in N_{q},k\
eq q\}. \tag{6}\]  
\(A_{I}\) is the set of the inner arcs (hereafter, _i-arcs_) of \(\mathcal{M}\); they relate instances (of different objects) belonging to the same IoT. \(A_{C}\) is the set of the cross arcs (hereafter, _c-arcs_) of \(\mathcal{M}\); they relate instances of the same object belonging to different IoTs.  
The description of the MIoT paradigm presented above highlights that it is possible to model a MIoT at two abstraction levels. The former represents a MIoT as a network and exploits concepts typical of this environment (such as nodes, arcs and so on). The latter models a MIoT as a set of IoTs and makes use of concepts closer to this scenario (such as instances, objects and so forth). Clearly, these two representations are simply two viewpoints of the same environment, and the concepts adopted by them can be used interchangeably. For example, there is a biuniversal correspondence between a node and an instance. However, in the reality, there are some cases in which it is better to use the concept of a node (for example, when we discuss about paths in a network--see below), whereas there are other situations in which it is better the use of the concept of instance (for example, when we discuss about the transactions carried out by two smart objects).  
Furthermore, in a MIoT context, _a set_\(\mathit{MD}_{j}\)_of metadata_ can be associated with an object \(o_{j}\). Our metadata model refers to the one of the IPSO (Internet Protocol for Smart Objects) Alliance [56]. Specifically \(\mathit{MD}_{j}\) consists of three subsets, namely: _(i)_\(\mathit{MD}_{j}^{D}\), i.e., the set of _descriptive metadata_; _(ii)_\(\mathit{MD}_{j}^{T}\), i.e., the set of _technical metadata_; _(iii)_\(\mathit{MD}_{j}^{B}\), i.e., the set of _behavioral metadata_. All details about these metadata can be found in [14].