# Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-Physical Collectives +
## 2 Digital Twins and Virtual Devices for CPS Engineering: A Review and Taxonomy
### Logical and Physical Devices: A Taxonomy
#### 2.2.2 Taxonomy  
As per the above discussion, it makes sense to distinguish between _identity correspondence_ and _execution relationship_ to characterise the relation (mediated by software components) between logical devices and physical devices. The result of such a characterisation is summarised in Tables 2 and 3. In the following, we focus on the former, whereas the latter is discussed in Section 4. Let \(\mathcal{L}\) be a set of unique logical identities (which allow us to distinguish between different software components--for example, one Java object from another) and \(\mathcal{P}\) be a set of unique physical identities (which allow us to distinguish between different physical components--for example, one robot from another). Moreover, let \(\mathcal{N}\) be a label used to distinguish different associations. Then, we can define digital twin, virtual device, and other notions based on a labelled binary symmetric relation \(\mathcal{I}\subseteq\mathcal{L}\times\mathcal{N}\times\mathcal{P}\) that exists between logical and physical identities (and corresponding roles) and that we call _identity correspondence_. Accordingly, we call a _virtual node (VN)_ an entity whose logical identity \(l\in\mathcal{L}\) has no corresponding physical identity, that is, \((l,\models,p)\
otin\mathcal{I},\forall p\in\mathcal{P}\) for a given label \(\models\in\mathcal{N}\). With abuse of language, we denote entities by their identities and vice versa, and so we also say that the virtual device has no corresponding physical device. Similarly, we call an _infrastructural physical node (IPN)_ a physical device \(p\in\mathcal{P}\) which has no corresponding logical device, that is, \((l,\models,p)\
otin\mathcal{I},\forall l\in\mathcal{L}\); we can think of such a device as providing \"infrastructural services\" in terms of execution support or environmental functionality. Instead, a _digital twin (DT)_ is a logical device \(l\in\mathcal{L}\) which has _one_ corresponding physical device \(p\in\mathcal{P}\), known as its _physical twin (PT)_, that is,Then, we define a _collective digital twin (CDT)_ as a (possibly dynamic) collection of DTs. Similarly, we define a _collective physical twin (CPT)_ as a (possibly dynamic) collection of PTs. The relevance of such conceptual constructs is fostered by emerging paradigms like _aggregate computing_[21; 22] that address collectives as whole computational machines, namely by a global perspective. Indeed, a CDT could also be reified as a single, logical device corresponding to a group of physical devices--what has been called a _virtual aggregate_ in Table 2. Finally, we consider _augmentations_ as systems involving also entities not appearing in \(\mathcal{I}\). So, an _augmented CDT_ is a CDT including virtual devices, whereas an _augmented CPT_ is a CPT including infrastructural devices. Notice that logical augmentations indirectly affect physical devices through their DTs and, vice versa, physical augmentations indirectly affect logical devices through their PTs. So, we can also say that a CPT (resp. CDT) is augmented if so is the corresponding CDT (resp. CPT). Refer to Figure 1 for a pictorial representation of this idea. Figure 1: Augmented collectives of digital and physical twins.