dc.description.abstract | The information industry has made great strides and is gaining recognition with the integration of the Internet of Things (IoT). However, the effective use of IoT is much more than just connecting things, it covers as a main concern the management and use of the generated data into business opportunities. The widespread adoption of IoT has led to the production of complex systems, which produce a large amount of data that interacts with other systems and/or services. Thus, there is a need for a strong and flexible environment to support these applications. Cloud Computing provides a solid foundation for resource sharing in a flexible way, and when used in conjunction with IoT applications for data integration, a new paradigm called the Cloud of Things (CoT) emerges. However, the development of CoT systems presents a number of challenges, including the complexity of IoT devices and the management of heterogeneous data, as well as the scalability of the system. In addition, it requires developers to have a diverse set of skills and knowledge that encompasses problem mastery, sensor signal processing, algorithms, deployment infrastructures, and more. In this context, Model Driven Development (MDD) approaches present a relevant potential to deal adequately with these problems by offering a high level of abstraction which reduces the complexity of software artifacts and efforts necessary to produce them. Such a feature provides reusability, portability and interoperability, increasing process productivity and software quality. Therefore, this work proposes MoT, an MDD development approach for CoT applications. Through model transformations for models and models for code, the approach automates the generation of an application to connect IoT devices to a cloud computing infrastructure. The MoT was validated through a case study with real IoT scenarios, and later the prototype was evaluated by users through the technology acceptance model (TAM). These evaluations have shown that MoT is a promising approach by enabling the creation of CoT applications by abstracting the technical details of technologies and the heterogeneity of cloud computing providers. | |