## 5 Analysis
The authors use metamodels, UML Profiles, and UML activity diagrams to model the application's functionality. However, this work exhibits a contradiction because the authors use an MDA process, which begins with the computational-independent model (CIM), in which the requirements of the software to be developed are specified, but do not use this first level of the MDA. Instead, they begin with the platform-independent model (PIM) level, and they use an Eclipse MARS plugin called Papyrus ([[https://www.eclipse.org/papyrus/](https://www.eclipse.org/papyrus/)]([https://www.eclipse.org/papyrus/](https://www.eclipse.org/papyrus/)) accessed on 15 May 2022), which is used to generate UML diagrams. In the work of [51], the author describes a systematic approach to starting the requirements elicitation process for an IoT system. This approach is only designed to support the activities in an emergency room in a hospital. For requirements specifications, they use UML use case diagrams. The proposal is not a complete development methodology; it is only designed for the software system requirements elicitation phase and subsequent architectural design. It focuses only on an emergency room software system but also shows how this proposal can be used for the identification of system and stakeholder boundaries in order for its implementation to be extended to IoT solutions for the full management of a hospital. In [53], the author presents some guidelines for a methodology for designing and developing IoT systems. Regrettably, the proposal is unfinished and only describes guidelines for two phases. These phases are analysis and design. The first includes the activities for actors, infrastructure, and functionality requirements analysis. RE is considered in this study, including identifying goals, policies, and functions, and defining whether the goals and policies are local or global. This requirements elicitation activity may primarily involve global managers, who have the right to decide what services to provide to end-users, and local managers can set local goals and policies. The proposal does not specify tools or techniques for this phase in the development process. It simply offers a conceptualization. In another primary study [37], a RE method used for the analysis of ubiquitous systems, called REUBI, is presented. Ubiquitous systems are also known as pervasive computing. For several years, this has also been referred to as ambient intelligence. From the actor's elements perspective, it is also known as IoT elements. REUBI is a goal-based approach, used to represent the influence of context and adverse situations. It provides an evaluation procedure to help in decision-making regarding goal satisfaction. According to the authors, this hybrid method (goal-centered and scenario-assisted) provides mechanisms for the decomposition of goals into subgoals, employing different scenarios. A set of UML stereotypes are defined to enable the representation of requirements, eventually leading to complex architectural and design decisions. The RE phases covered are elicitation and analysis. The techniques used are metamodels, UML use-cases, UML profiles, and scenarios, and the study considers NFRs such as usability. In another study, the authors present an MDD methodology for developing IoT applications called the IDEA-IoT DevProcess & AppFramework [38]. This is focused on the design phase for the development of IoT applications. IDEA-IoT consists of a method and a tool. The authors define a UML profile based on the SysML profile named SysML4 IoT. The requirements phase is focused on satisfying the goals of stakeholders. This task is performed as part of the \"analyze system requirements\" activity. In this stage, the IoT requirements engineer specifies the requirements for the IoT application as a \"black box\", as well the device requirements. This is carried out in order to define which devices are truly needed, considering required characteristics such as data formats and protocols.