Propagator-Oriented Programming Model Using Java

dc.citation.epage16
dc.citation.issue1
dc.citation.spage9
dc.contributor.affiliationLviv Polytechnic National University
dc.contributor.authorBilyk, Vladyslav
dc.contributor.authorSachenko, Anatoliy
dc.coverage.placenameЛьвів
dc.coverage.placenameLviv
dc.date.accessioned2024-02-13T09:56:53Z
dc.date.available2024-02-13T09:56:53Z
dc.date.created2023-02-28
dc.date.issued2023-02-28
dc.description.abstractThe 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.
dc.format.extent9-16
dc.format.pages8
dc.identifier.citationBilyk V. Propagator-Oriented Programming Model Using Java / Vladyslav Bilyk, Anatoliy Sachenko // Advances in Cyber-Physical Systems. — Lviv : Lviv Politechnic Publishing House, 2023. — Vol 8. — No 1. — P. 9–16.
dc.identifier.citationenBilyk V. Propagator-Oriented Programming Model Using Java / Vladyslav Bilyk, Anatoliy Sachenko // Advances in Cyber-Physical Systems. — Lviv : Lviv Politechnic Publishing House, 2023. — Vol 8. — No 1. — P. 9–16.
dc.identifier.doidoi.org/10.23939/acps2023.01.009
dc.identifier.urihttps://ena.lpnu.ua/handle/ntb/61323
dc.language.isoen
dc.publisherВидавництво Львівської політехніки
dc.publisherLviv Politechnic Publishing House
dc.relation.ispartofAdvances in Cyber-Physical Systems, 1 (8), 2023
dc.relation.referencesA. Kulkarni, M. Lang, A. Lumsdaine, (2011). GoDEL: A Multidirectional Dataflow Execution Model for Large- Scale Computing. First Workshop on Data-Flow Execution Models for Extreme Scale Computing. Pp. 10– 18. [Online]. DOI: https://doi.org/10.1109/DFM.2011.12
dc.relation.referencesBelaid, M.-B., Bessiere, C., Lazaar, N., (2019). Constraint Programming for Association Rules. Proceedings of the 2019 SIAM International Conference on Data Mining.Society for Industrial and Applied Mathematics. [Online]. Pp. 112–125. DOI:https://doi.org/10.1137/1.9781611975673.15
dc.relation.referencesPrud'homme C., Fages J., (2022). Choco-solver: A Java library for constraint programming. Journal of Open Source Software. Pp. 1–5. [Online]. Available: https://joss.theoj.org/papers/10.21105/joss.04708.pdf (Accessed 02/21/2023)
dc.relation.referencesBaumgartner, P., (2021). The Fusemate Logic Programming System (System Description). ArXiv. Pp. 85–107. [Online]. DOI:https://doi.org/10.48550/ARXIV.2103.01395
dc.relation.referencesPerez, I., Goodloe, A.E., (2020). Fault-tolerant functional reactive programming (extended version), Journal of Functional Programming. Cambridge University Press (CUP). Pp. 57–72. [Online]. DOI:https://doi.org/10.1017/s0956796820000118
dc.relation.referencesRadul A., Sussman G. J., (2009). The art of the propagator. Proceedings of the 2009 international lisp conference. Pp. 15–31. [Online]. DOI:https://dspace.mit.edu/handle/1721.1/44215
dc.relation.referencesRadul A., (2009). Propagation Networks: A Flexible and Expressive Substrate for Computation. Computer Science and Artificial Intelligence Laboratory Technical Report. Massachusetts Institute of Technology. Pp. 75–98. [Online]. DOI: https://dspace.mit.edu/handle/1721.1/49525
dc.relation.referencesLilis, Y., Savidis, A., (2019). A Survey of Metaprogramming Languages, ACM Computing Surveys, 52(6). Pp. 1–39. [Online]. DOI:https://doi.org/10.1145/3354584
dc.relation.referencesBissyandé, T.F. et al., (2013). Popularity, Interoperability, and Impact of Programming Languages in 100,000 Open Source Projects, Computer Software and Applications Conference. Pp. 303–312. [Online]. DOI: https://doi.org/10.1109/compsac.2013.55
dc.relation.referencesTaboada, G.L. et al., (2013). Java in the High Performance Computing arena: Research, practice and experience.Science of Computer Programming, 78(5). Pp. 425–444. [Online]. DOI: https://doi.org/10.1016/j.scico.2011.06.002
dc.relation.referencesMarii, B., Zholubak, I., (2022). Features of Development and Analysis of REST Systems. Advances in Cyber- Physical Systems, vol. 7, no. 2. Pp. 121–129. DOI: https://doi.org/10.23939/acps2022.02.121
dc.relation.referencesenA. Kulkarni, M. Lang, A. Lumsdaine, (2011). GoDEL: A Multidirectional Dataflow Execution Model for Large- Scale Computing. First Workshop on Data-Flow Execution Models for Extreme Scale Computing. Pp. 10– 18. [Online]. DOI: https://doi.org/10.1109/DFM.2011.12
dc.relation.referencesenBelaid, M.-B., Bessiere, C., Lazaar, N., (2019). Constraint Programming for Association Rules. Proceedings of the 2019 SIAM International Conference on Data Mining.Society for Industrial and Applied Mathematics. [Online]. Pp. 112–125. DOI:https://doi.org/10.1137/1.9781611975673.15
dc.relation.referencesenPrud'homme C., Fages J., (2022). Choco-solver: A Java library for constraint programming. Journal of Open Source Software. Pp. 1–5. [Online]. Available: https://joss.theoj.org/papers/10.21105/joss.04708.pdf (Accessed 02/21/2023)
dc.relation.referencesenBaumgartner, P., (2021). The Fusemate Logic Programming System (System Description). ArXiv. Pp. 85–107. [Online]. DOI:https://doi.org/10.48550/ARXIV.2103.01395
dc.relation.referencesenPerez, I., Goodloe, A.E., (2020). Fault-tolerant functional reactive programming (extended version), Journal of Functional Programming. Cambridge University Press (CUP). Pp. 57–72. [Online]. DOI:https://doi.org/10.1017/s0956796820000118
dc.relation.referencesenRadul A., Sussman G. J., (2009). The art of the propagator. Proceedings of the 2009 international lisp conference. Pp. 15–31. [Online]. DOI:https://dspace.mit.edu/handle/1721.1/44215
dc.relation.referencesenRadul A., (2009). Propagation Networks: A Flexible and Expressive Substrate for Computation. Computer Science and Artificial Intelligence Laboratory Technical Report. Massachusetts Institute of Technology. Pp. 75–98. [Online]. DOI: https://dspace.mit.edu/handle/1721.1/49525
dc.relation.referencesenLilis, Y., Savidis, A., (2019). A Survey of Metaprogramming Languages, ACM Computing Surveys, 52(6). Pp. 1–39. [Online]. DOI:https://doi.org/10.1145/3354584
dc.relation.referencesenBissyandé, T.F. et al., (2013). Popularity, Interoperability, and Impact of Programming Languages in 100,000 Open Source Projects, Computer Software and Applications Conference. Pp. 303–312. [Online]. DOI: https://doi.org/10.1109/compsac.2013.55
dc.relation.referencesenTaboada, G.L. et al., (2013). Java in the High Performance Computing arena: Research, practice and experience.Science of Computer Programming, 78(5). Pp. 425–444. [Online]. DOI: https://doi.org/10.1016/j.scico.2011.06.002
dc.relation.referencesenMarii, B., Zholubak, I., (2022). Features of Development and Analysis of REST Systems. Advances in Cyber- Physical Systems, vol. 7, no. 2. Pp. 121–129. DOI: https://doi.org/10.23939/acps2022.02.121
dc.relation.urihttps://doi.org/10.1109/DFM.2011.12
dc.relation.urihttps://doi.org/10.1137/1.9781611975673.15
dc.relation.urihttps://joss.theoj.org/papers/10.21105/joss.04708.pdf
dc.relation.urihttps://doi.org/10.48550/ARXIV.2103.01395
dc.relation.urihttps://doi.org/10.1017/s0956796820000118
dc.relation.urihttps://dspace.mit.edu/handle/1721.1/44215
dc.relation.urihttps://dspace.mit.edu/handle/1721.1/49525
dc.relation.urihttps://doi.org/10.1145/3354584
dc.relation.urihttps://doi.org/10.1109/compsac.2013.55
dc.relation.urihttps://doi.org/10.1016/j.scico.2011.06.002
dc.relation.urihttps://doi.org/10.23939/acps2022.02.121
dc.rights.holder© Національний університет “Львівська політехніка”, 2023
dc.rights.holder© Bilyk V., Sachenko A., 2023
dc.subjectpropagators
dc.subjectconstraint programming
dc.subjectmultidirectional computation
dc.subjectJava
dc.titlePropagator-Oriented Programming Model Using Java
dc.typeArticle

Files

Original bundle

Now showing 1 - 2 of 2
Thumbnail Image
Name:
2023v8n1_Bilyk_V-Propagator_Oriented_Programming_9-16.pdf
Size:
304.11 KB
Format:
Adobe Portable Document Format
Thumbnail Image
Name:
2023v8n1_Bilyk_V-Propagator_Oriented_Programming_9-16__COVER.png
Size:
562.42 KB
Format:
Portable Network Graphics

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.76 KB
Format:
Plain Text
Description: