{"title":"用自修改代码实现开放式进化的系统元建模","authors":"Patrik Christen","doi":"10.25088/complexsystems.32.4.353","DOIUrl":null,"url":null,"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.","PeriodicalId":46935,"journal":{"name":"Complex Systems","volume":null,"pages":null},"PeriodicalIF":0.5000,"publicationDate":"2024-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"System Metamodeling of Open-Ended Evolution Implemented with Self-Modifying Code\",\"authors\":\"Patrik Christen\",\"doi\":\"10.25088/complexsystems.32.4.353\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":46935,\"journal\":{\"name\":\"Complex Systems\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.5000,\"publicationDate\":\"2024-03-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Complex Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.25088/complexsystems.32.4.353\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"MATHEMATICS, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Complex Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.25088/complexsystems.32.4.353","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"MATHEMATICS, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
System Metamodeling of Open-Ended Evolution Implemented with Self-Modifying Code
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.