Look-up in Google Scholar
Full metadata record
Alfaro Casas, Luis Alberto
Ferrel Serruto, Wildor
2021-08-24T02:05:43Z
2021-08-24T02:05:43Z
2021
http://hdl.handle.net/20.500.12773/12775
En la presente tesis se investiga la generación automática de programas de sistemas basados en microcontrolador empleando una metodología poco explorada como es la programación inductiva en la cual el punto de partida para la síntesis de un programa es una tabla de ejemplos de entrada-salida. La metodología propuesta se fundamenta en la aplicación de algoritmos de programación genética lineal. Un sistema basado en microcontrolador, dependiendo de su aplicación, incluye además del microcontrolador otros dispositivos periféricos como pulsadores, teclado matricial, display de indicadores de siete segmentos, pantalla LCD de texto, sensores, actuadores, etc. Estos dispositivos se conectan al microcontrolador a través de las líneas de entrada/salida y cada dispositivo tiene una forma particular de interacción y en algunos casos un protocolo complejo de comunicación con el microcontrolador. Se propone la aplicación de la programación genética lineal en la generación automática de rutinas de gestión de los dispositivos periféricos y de rutinas frecuentes, en la programación de microcontroladores, como rutinas de conversión de código o rutinas de implementación de máquinas de estados. La metodología propuesta se describe principalmente aplicada a la arquitectura 8051, pero se puede aplicar a otras arquitecturas, como se muestra en un ejemplo final ilustrativo, en el cual se generan automáticamente rutinas para la tarjeta Arduino Mega de arquitectura AVR. Para resolver el problema complejo de síntesis de los programas se han aplicado dos estrategias. En primer lugar, según el programa a sintetizar, en la evaluación de la aptiiii tud de un programa genético, se ha asignado una función, a maximizarse, a cada bit de resultado binario o al diagrama de tiempo de cada pin de un puerto del microcontrolador donde está conectado el dispositivo periférico, lo que ha permitido realizar una optimización multi-objetivo. En segundo lugar, se ha dividido un programa en lenguaje máquina en segmentos que evolucionan paralelamente colaborando entre sí, lo que significó la aplicación de un algoritmo de coevolución cooperativa. La metodología propuesta, en base a estas estrategias, ha permitido generar automáticamente programas, en algunos casos, con un tamaño de código más pequeño o un tiempo de ejecución más corto que los programas escritos por un programador humano. (es_PE)
application/pdf (es_PE)
spa (es_PE)
Universidad Nacional de San Agustín de Arequipa (es_PE)
info:eu-repo/semantics/openAccess (es_PE)
http://creativecommons.org/licenses/by-nc-nd/4.0/ (es_PE)
Universidad Nacional de San Agustín de Arequipa (es_PE)
Repositorio Institucional - UNSA (es_PE)
Síntesis de programas (es_PE)
Programación genética lineal (es_PE)
Generación automática de código (es_PE)
Optimización multi-objetivo (es_PE)
Coevolución cooperativa (es_PE)
Sistema basado en microcontrolador (es_PE)
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador (es_PE)
info:eu-repo/semantics/doctoralThesis (es_PE)
Universidad Nacional de San Agustín de Arequipa.Unidad de Posgrado.Facultad de Ingeniería de Producción y Servicios (es_PE)
Doctorado en Ciencias de la Computación (es_PE)
Doctor en Ciencias de la Computación (es_PE)
PE (es_PE)
https://purl.org/pe-repo/ocde/ford#1.02.01 (es_PE)
http://purl.org/pe-repo/renati/level#doctor (es_PE)
29223587
https://orcid.org/0000-0002-0733-3129 (es_PE)
29327751
611028 (es_PE)
Hinojosa Cárdenas, Edward
Alfaro Casas, Luis Alberto
Cutipa Luque, Juan Carlos
http://purl.org/pe-repo/renati/type#tesis (es_PE)
Pública



This item is licensed under a Creative Commons License Creative Commons