TY - JOUR
T1 - Many-objective cooperative co-evolutionary linear genetic programming applied to the automatic microcontroller program generation
AU - Ferrel Serruto, Wildor
AU - Alfaro Casas, Luis Alberto
N1 - Publisher Copyright:
© 2018 The Science and Information (SAI) Organization Limited.
PY - 2019
Y1 - 2019
N2 - In this article, a methodology for the generation of programs in assembly language for microcontroller-based systems is proposed, applying a many-objective cooperative co-evolutionary linear genetic programming based on the decomposition of a program into segments, which evolve simultaneously, collaborating with each other in the process. The starting point for the program generation is a table of input/output examples. Two methods of fitness evaluation are also proposed. When the objective is to find a binary combination, the authors propose fitness evaluation with an exhaustive search for the output of each bit of the binary combination in the genetic program. On the other hand, when the objective is to generate specific variations of the logical values in the pins of the microcontroller's port, the authors propose calculating the fitness, comparing the timing diagrams generated by the genetic program with the desired timing diagrams. The methodology was tested in the generation of drivers for the 4x4 matrix keyboard and character LCD module devices. The experimental results demonstrate that for certain tasks, the use of the proposed method allows for the generation of programs capable of competing with programs written by human programmers.
AB - In this article, a methodology for the generation of programs in assembly language for microcontroller-based systems is proposed, applying a many-objective cooperative co-evolutionary linear genetic programming based on the decomposition of a program into segments, which evolve simultaneously, collaborating with each other in the process. The starting point for the program generation is a table of input/output examples. Two methods of fitness evaluation are also proposed. When the objective is to find a binary combination, the authors propose fitness evaluation with an exhaustive search for the output of each bit of the binary combination in the genetic program. On the other hand, when the objective is to generate specific variations of the logical values in the pins of the microcontroller's port, the authors propose calculating the fitness, comparing the timing diagrams generated by the genetic program with the desired timing diagrams. The methodology was tested in the generation of drivers for the 4x4 matrix keyboard and character LCD module devices. The experimental results demonstrate that for certain tasks, the use of the proposed method allows for the generation of programs capable of competing with programs written by human programmers.
KW - Cooperative coevolution
KW - Linear genetic programming
KW - Many-objective optimization
KW - Microcontroller-based systems
KW - Program synthesis
UR - http://www.scopus.com/inward/record.url?scp=85063000412&partnerID=8YFLogxK
U2 - 10.14569/IJACSA.2019.0100103
DO - 10.14569/IJACSA.2019.0100103
M3 - Artículo
AN - SCOPUS:85063000412
SN - 2158-107X
VL - 10
SP - 21
EP - 31
JO - International Journal of Advanced Computer Science and Applications
JF - International Journal of Advanced Computer Science and Applications
IS - 1
ER -