Abstract
Via examining the evolutionary phenomena in biology, it is known that the evolution of life is based on the fact the variation of species is caused by the alteration of the DNA code sequence. If we assume the DNA molecular chain is a program code sequence, similar to the modern computer program code sequence, then the evolutionary phenomenon in biology can be simulated and it will be bring out an Evolutionary Programming Model (EPM). The main idea of this model lies in the two key conception: First is that two copies of the program code sequence in memory were loaded, then put one in the running status and the other in non-running status. Second step, use the reflection calculation to perceive the environment and adjust its functions in the running one. Then use Bytecode Engineering Technology to locate and modify the corresponding code segment of the non-running one, and consequently generate the next version program. This process can be repeated as needed, similar to the evolution of the DNA sequence in Nature. EPM enables the program to "sense" the running environment, to make corresponding adjustments in order to accommodate the running environment, and to generate the new version program at the same time. The EPM model will have widely application prospects in the field of artificial intelligence and is extremely important in guiding the future automatic program design and robotic evolution design.
Publisher
Trans Tech Publications, Ltd.
Reference9 articles.
1. Smith B. C (1982) Reflection and semantics in a procedural language. MIT Laboratory of Computer Science, USA: Technical Report 272.
2. Smith B. C (1984). Reflection and semantics in Lisp. In: Proceedings of the 14th Annual ACM Symposium on Principles of Programming Languages, Salt Lake City.
3. Pattie M (1987) Concepts and experiments in computational reflection. ACM SIGPLAN Notices.
4. LiciaCapra, Gordon S. Blair, Cecilia Mascolo, Wolfgang Emmerieh,Paul Grace. (2002) Exploiting reflection in mobile computing middleware[J],ACM SIGMOBILE Mobile ComPuting and Cormmunications Review 6(4): 34-44.
5. SH IGERU CH IBA (2000) Load Time Structural Reflection in Java [A]. Proceedings of ECOOPÄ2000 [C]. France, Cannes: Springer, LNCS 1850.