Composition Machines: Programming Self-Organising Software Models for the Emergence of Sequential Program Spaces
This addresses the problem of software composition for developers and researchers in complex systems, though it appears incremental as it builds on existing self-organising models.
The paper tackles the challenge of manually composing increasingly complex software systems by proposing a composition machine that enables the emergence of multiple programs from simple rules, demonstrated with examples from Boolean logic and cellular automata.
We are entering a new era in which software systems are becoming more and more complex and larger. So, the composition of such systems is becoming infeasible by manual means. To address this challenge, self-organising software models represent a promising direction since they allow the (bottom-up) emergence of complex computational structures from simple rules. In this paper, we propose an abstract machine, called the composition machine, which allows the definition and the execution of such models. Unlike typical abstract machines, our proposal does not compute individual programs but enables the emergence of multiple programs at once. We particularly present the machine's semantics and provide examples to demonstrate its operation with well-known rules from the realm of Boolean logic and elementary cellular automata.