# Digital Twins in Software Engineering--A Systematic Literature Review and Vision
## 4 Results  
### RQ1: Which Assets Can DTs Cover in Software Development?  
Returning to the definition of DTs, are there impediments to having DTs integrated into the software industry? According to [PERSON] et al. [15], most definitions consider DTs a digital representation of a physical entity, as in [PERSON] original definition. However, [PERSON] et al. [7] extend the DT counterpart to physical entities and biological beings, individual beings, processes, products, a system of systems (SoS), and others, all coming from the real world. Even in the manufacturing domain, some artifacts can be potentially virtualizable entities.  
[PERSON] et al. [141] state that the \"physical context\" restricts the capacity for DTs, being necessary to expand it to a more general concept as a digital asset. For instance, they tackle the benefits that cyber-cyber and cyber-physical DTs can deliver on Facebook. However, does it make sense to have DTs modeling synthetic or digital assets?  
In the referred literature, some examples are commented on by [PERSON] et al. [141] for Facebook cyber-cyber DTs. [PERSON] et al. [16] also address virtual models of synthetic physical entities with DTs, such as linked behaviors between entities that are part of the same system. This information is a valuable source for DT technology to detect anomalies.  
According to the Industrial Internet Consortium (IIC), a DT is defined as a digital replica of an asset that captures the attributes and behaviors of that asset. From an information security perspective, the term asset under ISO/IEC 27001 [111] is defined as \"anything that has value for the organization\".  
From [PERSON] [139], we observe the replacement of the physical entity into something more generic called an SuS (system under study). [PERSON] also includes the context (environment) as part of the SuS. This context may include humans or agents. Our premise is that this provides a good starting point to build a realistic model for the first stage for DTs in the software industry. So, we propose to use a modified version of that of [PERSON] et al. [15]: \"A set of adaptive models that emulate the behavior of a System under Study (SuS) in a virtual system getting real-time data to update itself along its life cycle. The DT replicates the SuS to predict failures and opportunities for change, to prescribe real-time actions for optimizing and mitigating unexpected events observing and evaluating the operating system profile.\"  
DTs help to acquire comprehension of the SuS and exert control over it. Furthermore, DTs are rather adaptive in the sense that they can achieve the following:  
* Join efforts into a network of DTs to have an SuS DT, as with [PERSON] et al. [144];
* Cooperate with multi-agent systems to achieve a broader capacity, as with [PERSON] et al. [17];
* A capacity to add AI and machine learning to DTs, as with [PERSON] et al. [206].  
In this context, the DT will help with the governance and siloed data ([PERSON] [143]) from different elements to be combined and used effectively. Then, aspects such as IT governance, application lifecycle management, or product lifecycle management can be covered more effectively by DTs. [PERSON] [133] establishes a research agenda using a three-dimensional framework to investigate DTs' ecosystem context.  
An example could be that proposed by [PERSON] et al. [152], using DTs in agile real-time testing to achieve the DevTestOps approach, in which test plans are created in real time and automized to evaluate working software from the beginning. Therefore, this approach extends TDD (Test Drive Development) principles.