System Metamodeling of Open-Ended Evolution
Implemented with Self-Modifying Code
Patrik Christen
FHNW, Institute for Information Systems, Switzerland
ETH Zurich, Chair for Philosophy, Switzerland
Abstract
Having a model and being able to implement open-ended evolutionary systems is important for advancing our understanding of open-endedness. Complex systems science and the newest generation high-level programming languages provide intriguing possibilities to do so. Here, some recent advances in modeling and implementing open-ended evolutionary systems are reviewed (an earlier and shorter version was presented at [1]). Then, the so-called allagmatic method is introduced as a computational framework that describes, models, implements and allows interpreting complex systems using system metamodeling. Based on recent advances, the model building blocks evolving entities, entity lifetime parameter, co-evolutionary operations of entities and environment and combinatorial interactions are identified to characterize open-ended evolutionary systems. They are formalized within the system metamodel, providing a formal description of an open-ended evolutionary system. The study further provides a self-modifying code prototype in C# and guidance to create code blocks for an intrinsic implementation of open-ended evolutionary systems. This is achieved by controlling the self-modification of program code within the abstractly defined building blocks of the system metamodel. It is concluded that the identified model building blocks and the proposed self-modifying code provide a promising starting point to model and implement open-endedness in a computational system that potentially allows us to interpret novelties at runtime.
Keywords: Open-Ended Evolutionary Systems; Metamodeling; Self-Modifying Code; Combinatorial Evolution; Allagmatic Method
Cite this publication as:
P. Christen, “System Metamodeling of Open-Ended Evolution Implemented with Self-Modifying Code,” Complex Systems, 32(4), 2024 pp. 353–380.
https://doi.org/10.25088/ComplexSystems.32.4.353