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 |
| id |
UNSA_b4f8658bcb849117429d7b5c287023d2 |
|---|---|
| oai_identifier_str |
oai:repositorio.unsa.edu.pe:20.500.12773/12775 |
| network_acronym_str |
UNSA |
| network_name_str |
UNSA-Institucional |
| repository_id_str |
4847 |
| dc.title.es_PE.fl_str_mv |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| title |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| spellingShingle |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador Ferrel Serruto, Wildor 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 |
| title_short |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| title_full |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| title_fullStr |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| title_full_unstemmed |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| title_sort |
Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontrolador |
| author |
Ferrel Serruto, Wildor |
| author_facet |
Ferrel Serruto, Wildor |
| author_role |
author |
| dc.contributor.advisor.fl_str_mv |
Alfaro Casas, Luis Alberto |
| dc.contributor.author.fl_str_mv |
Ferrel Serruto, Wildor |
| dc.subject.es_PE.fl_str_mv |
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 |
| topic |
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 |
| dc.subject.ocde.es_PE.fl_str_mv |
https://purl.org/pe-repo/ocde/ford#1.02.01 |
| description |
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. |
| publishDate |
2021 |
| dc.date.accessioned.none.fl_str_mv |
2021-08-24T02:05:43Z |
| dc.date.available.none.fl_str_mv |
2021-08-24T02:05:43Z |
| dc.date.issued.fl_str_mv |
2021 |
| dc.type.es_PE.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/20.500.12773/12775 |
| url |
http://hdl.handle.net/20.500.12773/12775 |
| dc.language.iso.es_PE.fl_str_mv |
spa |
| language |
spa |
| dc.relation.ispartof.fl_str_mv |
SUNEDU |
| dc.rights.es_PE.fl_str_mv |
info:eu-repo/semantics/openAccess |
| dc.rights.uri.es_PE.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
| eu_rights_str_mv |
openAccess |
| rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
| dc.format.es_PE.fl_str_mv |
application/pdf |
| dc.publisher.es_PE.fl_str_mv |
Universidad Nacional de San Agustín de Arequipa |
| dc.publisher.country.es_PE.fl_str_mv |
PE |
| dc.source.es_PE.fl_str_mv |
Universidad Nacional de San Agustín de Arequipa Repositorio Institucional - UNSA |
| dc.source.none.fl_str_mv |
reponame:UNSA-Institucional instname:Universidad Nacional de San Agustín instacron:UNSA |
| instname_str |
Universidad Nacional de San Agustín |
| instacron_str |
UNSA |
| institution |
UNSA |
| reponame_str |
UNSA-Institucional |
| collection |
UNSA-Institucional |
| bitstream.url.fl_str_mv |
https://repositorio.unsa.edu.pe/bitstreams/e627f4fa-d9c2-428f-b726-8bdd7e42e4e7/download https://repositorio.unsa.edu.pe/bitstreams/aecbf631-635b-4d86-a81e-fcdac3022031/download https://repositorio.unsa.edu.pe/bitstreams/f1d74c74-db24-4e2b-88f8-f1a127ce451c/download |
| bitstream.checksum.fl_str_mv |
e9642a6fb752169c053c49ec30b7f462 c52066b9c50a8f86be96c82978636682 4fa48d43bf8da9bdf158b1ae85385462 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositorio Institucional UNSA |
| repository.mail.fl_str_mv |
repositorio@unsa.edu.pe |
| _version_ |
1850324931984752640 |
| spelling |
Alfaro Casas, Luis AlbertoFerrel Serruto, Wildor2021-08-24T02:05:43Z2021-08-24T02:05:43Z2021En 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.application/pdfhttp://hdl.handle.net/20.500.12773/12775spaUniversidad Nacional de San Agustín de ArequipaPEinfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-nd/4.0/Universidad Nacional de San Agustín de ArequipaRepositorio Institucional - UNSAreponame:UNSA-Institucionalinstname:Universidad Nacional de San Agustíninstacron:UNSASíntesis de programasProgramación genética linealGeneración automática de códigoOptimización multi-objetivoCoevolución cooperativaSistema basado en microcontroladorhttps://purl.org/pe-repo/ocde/ford#1.02.01Programación genética lineal aplicada a la síntesis automática de programas para sistemas basados en microcontroladorinfo:eu-repo/semantics/doctoralThesisSUNEDU29223587https://orcid.org/0000-0002-0733-312929327751611028Hinojosa Cárdenas, EdwardAlfaro Casas, Luis AlbertoCutipa Luque, Juan Carloshttp://purl.org/pe-repo/renati/level#doctorhttp://purl.org/pe-repo/renati/type#tesisDoctorado en Ciencias de la ComputaciónUniversidad Nacional de San Agustín de Arequipa.Unidad de Posgrado.Facultad de Ingeniería de Producción y ServiciosDoctor en Ciencias de la ComputaciónORIGINALUPfesew.pdfUPfesew.pdfapplication/pdf6664300https://repositorio.unsa.edu.pe/bitstreams/e627f4fa-d9c2-428f-b726-8bdd7e42e4e7/downloade9642a6fb752169c053c49ec30b7f462MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81327https://repositorio.unsa.edu.pe/bitstreams/aecbf631-635b-4d86-a81e-fcdac3022031/downloadc52066b9c50a8f86be96c82978636682MD52TEXTUPfesew.pdf.txtUPfesew.pdf.txtExtracted texttext/plain269646https://repositorio.unsa.edu.pe/bitstreams/f1d74c74-db24-4e2b-88f8-f1a127ce451c/download4fa48d43bf8da9bdf158b1ae85385462MD5320.500.12773/12775oai:repositorio.unsa.edu.pe:20.500.12773/127752022-05-29 11:32:49.336http://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttps://repositorio.unsa.edu.peRepositorio Institucional UNSArepositorio@unsa.edu.pe77u/TGljZW5jaWEgZGUgVXNvCiAKRWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCwgZGlmdW5kZSBtZWRpYW50ZSBsb3MgdHJhYmFqb3MgZGUgaW52ZXN0aWdhY2nDs24gcHJvZHVjaWRvcyBwb3IgbG9zIG1pZW1icm9zIGRlIGxhIHVuaXZlcnNpZGFkLiBFbCBjb250ZW5pZG8gZGUgbG9zIGRvY3VtZW50b3MgZGlnaXRhbGVzIGVzIGRlIGFjY2VzbyBhYmllcnRvIHBhcmEgdG9kYSBwZXJzb25hIGludGVyZXNhZGEuCgpTZSBhY2VwdGEgbGEgZGlmdXNpw7NuIHDDumJsaWNhIGRlIGxhIG9icmEsIHN1IGNvcGlhIHkgZGlzdHJpYnVjacOzbi4gUGFyYSBlc3RvIGVzIG5lY2VzYXJpbyBxdWUgc2UgY3VtcGxhIGNvbiBsYXMgc2lndWllbnRlcyBjb25kaWNpb25lczoKCkVsIG5lY2VzYXJpbyByZWNvbm9jaW1pZW50byBkZSBsYSBhdXRvcsOtYSBkZSBsYSBvYnJhLCBpZGVudGlmaWNhbmRvIG9wb3J0dW5hIHkgY29ycmVjdGFtZW50ZSBhIGxhIHBlcnNvbmEgcXVlIHBvc2VhIGxvcyBkZXJlY2hvcyBkZSBhdXRvci4KCk5vIGVzdMOhIHBlcm1pdGlkbyBlbCB1c28gaW5kZWJpZG8gZGVsIHRyYWJham8gZGUgaW52ZXN0aWdhY2nDs24gY29uIGZpbmVzIGRlIGx1Y3JvIG8gY3VhbHF1aWVyIHRpcG8gZGUgYWN0aXZpZGFkIHF1ZSBwcm9kdXpjYSBnYW5hbmNpYXMgYSBsYXMgcGVyc29uYXMgcXVlIGxvIGRpZnVuZGVuIHNpbiBlbCBjb25zZW50aW1pZW50byBkZWwgYXV0b3IgKGF1dG9yIGxlZ2FsKS4KCkxvcyBkZXJlY2hvcyBtb3JhbGVzIGRlbCBhdXRvciBubyBzb24gYWZlY3RhZG9zIHBvciBsYSBwcmVzZW50ZSBsaWNlbmNpYSBkZSB1c28uCgpEZXJlY2hvcyBkZSBhdXRvcgoKTGEgdW5pdmVyc2lkYWQgbm8gcG9zZWUgbG9zIGRlcmVjaG9zIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbC4gTG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNlIGVuY3VlbnRyYW4gcHJvdGVnaWRvcyBwb3IgbGEgbGVnaXNsYWNpw7NuIHBlcnVhbmE6IExleSBzb2JyZSBlbCBEZXJlY2hvIGRlIEF1dG9yIHByb211bGdhZG8gZW4gMTk5NiAoRC5MLiBOwrA4MjIpLCBMZXkgcXVlIG1vZGlmaWNhIGxvcyBhcnTDrWN1bG9zIDE4OMKwIHkgMTg5wrAgZGVsIGRlY3JldG8gbGVnaXNsYXRpdm8gTsKwODIyLCBMZXkgc29icmUgZGVyZWNob3MgZGUgYXV0b3IgcHJvbXVsZ2FkbyBlbiAyMDA1IChMZXkgTsKwMjg1MTcpLCBEZWNyZXRvIExlZ2lzbGF0aXZvIHF1ZSBhcHJ1ZWJhIGxhIG1vZGlmaWNhY2nDs24gZGVsIERlY3JldG8gTGVnaXNsYXRpdm8gTsKwODIyLCBMZXkgc29icmUgZWwgRGVyZWNobyBkZSBBdXRvciBwcm9tdWxnYWRvIGVuIDIwMDggKEQuTC4gTsKwMTA3NikuCg== |
| score |
13.8090515 |
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).