Self-Modifying Code in Open-Ended Evolutionary Systems

01/18/2022
by   Patrik Christen, et al.
0

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 newest generation high-level programming languages provide intriguing possibilities to do so. First, some recent advances in modelling and implementing open-ended evolutionary systems are reviewed. Then, the so-called allagmatic method is introduced that describes, models, implements, and allows interpretation of complex systems. After highlighting some current modelling and implementation challenges, model building blocks of open-ended evolutionary systems are identified, a system metamodel of open-ended evolution is formalised in the allagmatic method, an implementation self-modifying code prototype with a high-level programming language is provided, and guidance from the allagmatic method to create code blocks is described. The proposed prototype allows modifying code at runtime in a controlled way within a system metamodel. Since the allagmatic method has been built based on metaphysical concepts borrowed from Gilbert Simondon and Alfred N. Whitehead, the proposed prototype provides a promising starting point to interpret novelty generated at runtime with the help of a metaphysical framework.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2022

Curb Your Self-Modifying Code

Self-modifying code has many intriguing applications in a broad range of...
research
06/05/2018

Routes to Open-Endedness in Evolutionary Systems

This paper presents a high-level conceptual framework to help orient the...
research
09/27/2019

LTL Model Checking of Self Modifying Code

Self modifying code is code that can modify its own instructions during ...
research
03/25/2021

The Resh Programming Language for Multirobot Orchestration

This paper describes Resh, a new, statically typed, interpreted programm...
research
10/18/2018

Pyro: Deep Universal Probabilistic Programming

Pyro is a probabilistic programming language built on Python as a platfo...
research
05/03/2021

EBIC.JL – an Efficient Implementation of Evolutionary Biclustering Algorithm in Julia

Biclustering is a data mining technique which searches for local pattern...
research
02/20/2021

Automatic Programming Through Combinatorial Evolution

It has been already shown that combinatorial evolution - the creation of...

Please sign up or login with your details

Forgot password? Click here to reset