## 2 State of the Art
Even though this framework is focused only on AR assembly planning, it is also applicable to VR environments. The following works take a step further in modeling complex processes by defining more elaborate data structures and relationships. Hierarchical structures for modeling assembly tasks are presented in [32; 33], but these structures only consider assembly/disassembly tasks and do not take into consideration the modeling of other general tasks such as the movement of an automated guided vehicle (AGV). [PERSON] et al. [34] have developed a language to model general activities in a VR simulator. The language was intended to model common household activities in a 3D simulator. Other works such as [35; 36] present other more general languages to describe complex scenarios. A simplified version of the languages to describe actions presented in these works is considered to be background for action modeling. After reviewing research related to modeling Industry 4.0 processes for VR and AR simulations, the most relevant features were extracted:  
* Flexibility: the possibility of adapting the framework/model/tool to different domains, purposes, or configurations. * Presence of framework: if the research presented a framework. * Task modeling: if the work presented task modeling. If present, two levels of task modeling were identified: specific if the task modeling was specific to a certain domain or purpose (for instance only assembly/disassembly tasks) and general if the task modeling could be applied to a variety of tasks other than assembly/disassembly. * HRC: if the work considered human-robot collaboration. * Multi-actor: if the work considered various (not-human) actors in the simulations. * Modularity: if the work presented logically separated components. * Monitoring: if the work is or could be used for monitoring processes. * Multi-domain: if the research could be adapted to model processes for different domains, such as aeronautics, the automotive domain, and logistics, among others. * Multi-purpose: if the work could be used for different purposes, such as design, prototyping, training, and monitoring, among others. * Real-time: if the work considered real-time simulations. * Reusability: if the work could be used as a base from which to develop other simulations. * Simulation engine/manager independence: if the framework/tool depends on the usage of a certain simulation engine or manager. This feature is important as it allows task modeling and simulations to be independent of certain technologies, and thus a defined process can be reused for different simulators. * User feedback: if the work considered giving user feedback. * Technology: if the work was developed for a certain technology. The technologies presented in the works were categorized as none, if there was no relation to any simulation technology; non-immersive, if the work was related to simulation on a non-immersive device such as a PC or tablet; VR, if the work was related to VR simulation; and AR if the work was related to AR simulation. Based on these features, a comparison among the different works is presented in Table 1.  
As can be observed, none of the works presented considered all features at the same time or could be adapted to VR and AR simulations. Another important factor found while analyzing research in this area was that most of the works presented simulations or tools specific to a certain domain and only a few presented general frameworks. Most of the simulations are not flexible enough to be used as a base for adapting to a new process in a different domain. Most works are modular, run in real-time, and present user feedback. They can also be applied to multiple industrial domains for different purposes while providing user feedback. On the other hand, 33% of the works do not consider task modeling and 50% of them model specific tasks, mostly focusing on assembly/disassembly tasks.