Mazo Peña, Raul2020-08-192020http://hdl.handle.net/10784/17499Cada vez es más común que los sistemas se puedan adaptar dinámicamente a contextos cambiantes en tiempo de ejecución. Dichos sistemas exhiben grados de variabilidad que dependen de las fluctuaciones del tiempo de ejecución en sus contextos. Aunque la variabilidad dinámica ha sido abordada por conceptos establecidos desde hace mucho tiempo en el campo de las familias de sistemas, se considera que este enfoque es insuficiente para satisfacer las necesidades de los sistemas distribuidos y dinámicamente adaptativos como los sistemas para la agricultura inteligente basados en IoT (Internet de las Cosas) considerados sistemas ciber-físicos. Estos sistemas son requeridos para mejorar la productividad y competitividad de la producción agrícola colombiana. En el caso de los sistemas que se adaptan dinámicamente, los enfoques para apoyar la variabilidad de sistemas ciber-físicos no pueden ser solo las especializaciones de componentes o las restricciones sobre las variables del sistema puesto que muchas veces las condiciones de funcionamiento de estos sistemas no son predecibles. En este estudio que busca establecer cuáles son las técnicas más apropiadas para la gestión de la variabilidad dinámica en sistemas adaptativos, ha sido necesario abordar el modelamiento de la arquitectura como una práctica clave en la ingeniería de software. Se considera que un lenguaje de modelamiento que permita representar este tipo de sistemas será definitivo para la producción de sistemas con el nivel de calidad y confiabilidad que se requiere. Todos los resultados de esta investigación están enfocados en propiciar a las compañías de desarrollo, las herramientas que les permitan aumentar la productividad, la flexibilidad y la calidad que requieren los sistemas ciber-físicos para el agro. Para el estudio será necesario analizar la literatura para crear un lenguaje que mejore el estado del arte y para evaluar y realizar por lo menos un caso de prueba de un sistema real, esto permitirá validar el lenguaje propuesto. Este trabajo parte de la premisa de que ese lenguaje debe permitir especificar componentes de software, de hardware, de monitoreo y acción sobre el entorno físico de cada sistema y representar objetos físicos que hagan parte del sistema a implementar. Con el fin de probar el carácter novedoso del lenguaje propuesto, este estudio incluye una comparación con otros lenguajes de modelado propuestos por la comunidad académica e industrial del mundo. Finalmente, el estudio dejará como resultado un lenguaje de modelamiento de la arquitectura de sistemas adaptativos, vistos como una familia o de manera individual. El lenguaje es implementado en la plataforma VariaMos (http://variamos.dis.eafit.edu.co/#/) buscando mostrar que puede ser usado para representar, a la vez, arquitecturas de referencia y arquitecturas de sistemas individuales, esto gracias a los mecanismos que ofrece la herramienta para representar y manipular la variabilidad. La justificación de la validez del uso del lenguaje propuesto se hizo realizando un caso de prueba para modelar un invernadero inteligente y las conclusiones a las que se llegó pueden ser resumidas de la siguiente manera: (i) El lenguaje de modelado tiene características que dan la posibilidad de representar elementos como objetos físicos y de entorno que otros lenguajes no permiten y extiende las posibilidades de diseño de sistemas ciber-físicos (ii) El lenguaje tiene elementos que amplían la posibilidad de especificar en los modelos, los componentes de variabilidad que una arquitectura para un sistema ciber-físico autoadaptable requiere en su representación. (iii) El lenguaje de modelado de arquitectura para sistemas ciber-físicos adaptativos si bien se diseñó teniendo como punto de referencia el diseño de sistemas de IoT en un dominio de líneas de producto de software, este lenguaje se puede extender para diseñar otros sistemas ciber-físicos.It is becoming increasingly common for systems to be dynamically adapted to changing contexts at run time. Such systems exhibit degrees of variability that depend on the fluctuations of the runtime in their contexts. Although dynamic variability has been addressed by long-established concepts in the field of system families, this approach is considered insufficient to meet the needs of distributed and dynamically adaptive systems such as IoT (Internet of Things)-based intelligent agriculture systems considered cyber-physical systems. These systems are required to improve the productivity and competitiveness of Colombian agricultural production. For dynamically adapted systems, approaches to support the variability of cyber-physical systems may not be just component specializations or restrictions on system variables since often the operating conditions of these systems are not predictable. In this study that seeks to establish the most appropriate techniques for managing dynamic variability in self-adapting systems, it has been necessary to address architecture modeling as a key practice in software engineering. It is considered that a modeling language that allows to represent such systems will be definitive for the production of systems with the level of quality and reliability that is required. All the results of this research are focused on enabling development companies, the tools that allow them to increase the productivity, flexibility and quality that cyber-physical systems require for agriculture. For the study it will be necessary to analyze the literature to create a language that improves the state of the art and to evaluate and perform at least one test case of a real system, this will allow to validate the proposed language. This work starts from the premise that that language should allow you to specify software, hardware, monitoring, and action components on the physical environment of each system and represent physical objects that are part of the system to be deployed. In order to test the novel nature of the proposed language, this study includes a comparison with other modeling languages proposed by the world's academic and industrial community. Finally, the study will result in a language of modeling the architecture of self-adapting systems, seen as a family or individually. The language is implemented in the VariaMos platform (http://variamos.dis.eafit.edu.co/#/) seeking to show that it can be used to represent, at the same time, reference architectures and individual system architectures, thanks to the mechanisms offered by the tool to represent and manipulate variability. The justification for the validity of the use of the proposed language is made from the presentation of a real case of a smart greenhouse. It is intended to be able to demonstrate that: (i) The modeling language has characteristics that give the possibility to represent elements such as physical and environment objects that other languages do not allow and extends the possibilities of designing cyber-physical systems (ii) The language has elements that expand the possibility of specifying in models, the components of variability that an architecture for a self-adapting cyber-physical system requires in its representation. (iii) The architecture modeling language for self-adapting cyber-physical systems while designed with IoT system design as a benchmark in a software product line domain, this language can be extended to design other cyber-physical systems.application/pdfspaVariabilidad dinámicaLíneas de productos de softwareInternet de las cosasSistemas adaptativosArquitectura de softwareSistemas ciber-físicos.Cyber-physical systemsLenguaje de modelado de arquitectura para sistemas ciber-físicos adaptativosmasterThesisinfo:eu-repo/semantics/closedAccessTECNOLOGÍA DE LA INFORMACIÓNSISTEMAS DE INFORMACIÓNPRODUCTIVIDAD AGRÍCOLAARQUITECTURA DE REDES DE COMPUTADORESSISTEMAS DE CONTROL INTELIGENTEDynamic variabilitySoftware Product LinesInternet of thingsAdaptive systemsSoftware architectureAcceso cerrado2020-08-19Londoño Londoño, Luis Fernando621.392 L847