Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador
Descripción del Articulo
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 met...
| Autor: | |
|---|---|
| Formato: | tesis doctoral |
| Fecha de Publicación: | 2021 |
| Institución: | Universidad Nacional de San Agustín |
| Repositorio: | UNSA-Institucional |
| Lenguaje: | español |
| OAI Identifier: | oai:repositorio.unsa.edu.pe:20.500.12773/12775 |
| Enlace del recurso: | http://hdl.handle.net/20.500.12773/12775 |
| Nivel de acceso: | acceso abierto |
| Materia: | Síntesis de programas Programación genética lineal Generación automática de código Optimización multi-objetivo Coevolución cooperativa Sistema basado en microcontrolador https://purl.org/pe-repo/ocde/ford#1.02.01 |
| Sumario: | 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. |
|---|
Nota importante:
La información contenida en este registro es de entera responsabilidad de la institución que gestiona el repositorio institucional donde esta contenido este documento o set de datos. El CONCYTEC no se hace responsable por los contenidos (publicaciones y/o datos) accesibles a través del Repositorio Nacional Digital de Ciencia, Tecnología e Innovación de Acceso Abierto (ALICIA).
La información contenida en este registro es de entera responsabilidad de la institución que gestiona el repositorio institucional donde esta contenido este documento o set de datos. El CONCYTEC no se hace responsable por los contenidos (publicaciones y/o datos) accesibles a través del Repositorio Nacional Digital de Ciencia, Tecnología e Innovación de Acceso Abierto (ALICIA).