Propagator-Oriented Programming Model Using Java - Bilyk, Vladyslav; Sachenko, Anatoliy (Видавництво Львівської політехніки, 2023)
The aim of this work is to explore and analyze an unconventional style of programming based on a pro- pagator-oriented model of computation. The paradigm of propagation is characterized by networks of local, independent, stateless machines interconnected with stateful storage cells. This model allows for a highly modular design and multidirectional computation, enabling the creation of complex systems that can respond to changes and update their state accordingly. This work provides an overview of the propagator- oriented programming model, its motivations, and its advantages over other well-known alternative styles, using unsophisticated examples written in the Java programming language. We illustrate how propagator networks can be used to build flexible and efficient systems and present a basic framework for building such networks. The foun- dational components of the propagation model are imple- mented in Java as groundwork for the general-purpose framework. We demonstrate the power of propagator-oriented prog- ramming through an example of a Pythagorean Theorem implementation. The example shows how the model can be used to build complex systems of an arbitrary number of constraints and cells. We highlight the importance of information propagation over limited linear computation and the benefits of the multidirectional computation enabled by propagator networks.
Keywords: propagators; constraint programming; multidirectional computation; Java