Skip to main content
Log in

Programmable and parallel water computing

  • Regular Paper
  • Published:
Journal of Membrane Computing Aims and scope Submit manuscript

Abstract

We further the work on a recently proposed membrane computing model which utilises decentralised water tanks interconnected by pipes with water flow controlled by valves. Although the system was shown to be universal, the system is complex and does not map to practical devices easily. We demonstrate that these water computing systems can ‘efficiently’ construct: (1) A programmable sequential, random-access machine (RAM), (2) a programmable exclusive read exclusive write (EREW) parallel random-access machine (PRAM). The resulting RAM and PRAM model presented in this paper is able to run different programs one after the other, with only needing to change the initial volume stored in the input tanks.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

References

  1. Mahatantila, K., Chandrajith, R., Jayasena, H., & Ranawana, K. (2008). Spatial and temporal changes of hydrogeochemistry in ancient tank cascade systems in Sri Lanka: evidence for a constructed wetland. Water and Environment Journal, 22(1), 17–24.

    Article  Google Scholar 

  2. Trogemann, G., Nitussov, A. Y., & Ernst, W. (2001). Computing in Russia: the history of computer devices and information technology revealed. Vieweg Braunschweig.

  3. Phillips, A. W. (1950). Mechanical models in economic dynamics. London School of Economics and Political Science.

    Book  Google Scholar 

  4. Adamatzky, A. (2019). A brief history of liquid computers. Philosophical Transactions of the Royal Society B, 374, 1774.

    Article  Google Scholar 

  5. Ishdorj, T.-O., Ochirbat, O., & Naimannaran, C. (2020). A \(\mu \)-fluidic biochip design for spiking neural P systems. International Journal of Unconventional Computing, 15, 1.

    Google Scholar 

  6. Arulanandham, J. J., Calude, C. S., & Dinneen, M. J. (2003). Solving SAT with bilateral computing. Romanian Journal of Information Science and Technology, 6(1–2), 9–18.

    Google Scholar 

  7. Păun, Gh. (2000). Computing with membranes. Journal of Computer and System Sciences, 61(1), 108–143.

    Article  MathSciNet  MATH  Google Scholar 

  8. Păun, G. (2001). P systems with active membranes: Attacking NP-Complete problems. Journal of Automata, Languages and Combinatorics, 6(1), 75–90.

    MathSciNet  MATH  Google Scholar 

  9. Ionescu, M., Păun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta informaticae, 71(2, 3), 279–308.

    MathSciNet  MATH  Google Scholar 

  10. Martín-Vide, C., Păun, G., Pazos, J., & Rodríguez-Patón, A. (2003). Tissue P systems. Theoretical Computer Science, 296(2), 295–326.

    Article  MathSciNet  MATH  Google Scholar 

  11. Nicolescu, R., Dinneen, M., & Kim, Y.-B. (2010). Towards structured modelling with hyperdag p systems.

  12. Nicolescu, R., & Henderson, A. (2018). “An introduction to cP Systems,” in Enjoying Natural Computing: Essays Dedicated to Mario de Jesús Pérez-Jiménez on the Occasion of His 70th Birthday (C. Graciani, A. Riscos-Núñez, G. Păun, G. Rozenberg, and A. Salomaa, eds.), vol. 11270 of Lecture Notes in Computer Science, pp. 204–227, Springer.

  13. Zhang, G., Pérez-Jiménez, M. J., Riscos-Núñez, A., Verlan, S., Konur, S., Hinze, T., & Gheorghe, M. (2021). Membrane computing models: implementations (Vol. 10). Springer.

    Book  Google Scholar 

  14. Valencia-Cabrera, L., Pérez-Hurtado, I., & Martínez-del Amor, M. Á. (2020). Simulation challenges in membrane computing. Journal of Membrane Computing, 2, 1–11.

    Article  MathSciNet  MATH  Google Scholar 

  15. Ballesteros, K. J., Cailipan, D. P. P., de la Cruz, R. T. A., Cabarle, F. G. C., & Adorna, H. N. (2022). Matrix representation and simulation algorithm of numerical spiking neural p systems. Journal of Membrane Computing, 4(1), 41–55.

    Article  MathSciNet  Google Scholar 

  16. Dupaya, A. G. S., Galano, A. C. A. P., Cabarle, F. G. C., De La Cruz, R. T., Ballesteros, K. J., & Lazo, P. P. L. (2022). A web-based visual simulator for spiking neural p systems. Journal of Membrane Computing, 4(1), 21–40.

    Article  MathSciNet  Google Scholar 

  17. Gheorghe, M., Ipate, F., Lefticaru, R., & Dragomir, C. (2010). An integrated approach to P systems formal verification. In International Conference on Membrane Computing, pp. 226–239, Springer.

  18. Liu, Y., Nicolescu, R., & Sun, J. (2020). Formal verification of cP systems using PAT3 and ProB. Journal of Membrane Computing, 2(2), 80–94.

    Article  MathSciNet  MATH  Google Scholar 

  19. Liu, Y., Nicolescu, R., & Sun, J. (2021). Formal verification of cP systems using Coq. Journal of Membrane Computing, 3(3), 205–220.

    Article  MathSciNet  MATH  Google Scholar 

  20. Mahasinghe, A., Hua, R., Dinneen, M. J., & Goyal, R. (2019). Solving the hamiltonian cycle problem using a quantum computer. In Proceedings of the Australasian Computer Science Week Multiconference, pp. 1–9.

  21. Chan, T. (2013). Heterogeneous Parallel Computing with Kepler and CUDA5. Multicore World.

    Google Scholar 

  22. Hinze, T., Happe, H., Henderson, A., & Nicolescu, R. (2020). Membrane computing with water. Journal of Membrane Computing, 2(2), 121–136.

    Article  MathSciNet  MATH  Google Scholar 

  23. Henderson, A., Nicolescu, R., Dinneen, M. J., Chan, T., Happe, H., & Hinze, T. (2021). Turing completeness of water computing. Journal of Membrane Computing, 3(3), 182–193.

    Article  MathSciNet  MATH  Google Scholar 

  24. Zappa, F., & Esculapio, S. (2017). Microcontrollers. Hardware and Firmware for 8-bit and 32-bit devices. LIGHTNING SOURCE Incorporated.

  25. Parberry, I. (1986). Parallel speedup of sequential machines: A defense of parallel computation thesis. SIGACT News, 18, 54–67.

    Article  MATH  Google Scholar 

  26. Cook, S. A., & Reckhow, R. A. (1973). Time bounded random access machines. Journal of Computer and System Sciences, 7(4), 354–375.

    Article  MathSciNet  MATH  Google Scholar 

  27. Gafni, E., Naor, J., & Ragde, P. (1989). On separating the EREW and CREW PRAM models. Theoretical Computer Science, 68(3), 343–346.

    Article  MathSciNet  MATH  Google Scholar 

  28. Gibbons, P. B. (1989). A more practical PRAM model. In Proceedings of the first annual ACM symposium on Parallel algorithms and architectures, pp. 158–168.

  29. Fich, F. E., Ragde, P., & Wigderson, A. (1988). Relations between concurrent-write models of parallel computation. SIAM Journal on Computing, 17(3), 606–627.

    Article  MathSciNet  MATH  Google Scholar 

  30. Henderson, A. S. (2021). Membrane computing: The computational power of cP and water systems. PhD thesis, ResearchSpace@ Auckland.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alec Henderson.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A High level view of execution of RAM steps

Appendix A High level view of execution of RAM steps

Here we present a high level view of the evaluation of the RAM. Due to the size of implementing a real algorithm (the euclidean algorithm presented earlier would contain over 70 inputs) we show at a high level the evaluation of the separate parts (Fig. 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40).

Fig. 21
figure 21

Step 1: Outer loop initial state the inputs are all full

Fig. 22
figure 22

Step 2: The inputs are placed in the repeatable fetch to be passed to the operation

Fig. 23
figure 23

Step 3: The operation will be executed as its inputs are full. Note the values are still kept in the repeatable fetch

Fig. 24
figure 24

Step 4: The operation has completed. Note now the outer program will either go to step 5(i) if the program will end or step 5(ii) if it will run the next line

Fig. 25
figure 25

Step 5(i) the process to fill the output control is started

Fig. 26
figure 26

Step 6(i)

Fig. 27
figure 27

Step 7(i)

Fig. 28
figure 28

Step 8(i): The program has now ended

Fig. 29
figure 29

Step 5(ii) The program will now cause the L tank to take the value from the s tank to loop again

Fig. 30
figure 30

Step 6(ii)

Fig. 31
figure 31

Step 7(ii) The program is ready to run line L

Fig. 32
figure 32

Step 1: The inputs are full to select the operation

Fig. 33
figure 33

Step 2: The operations inputs are filled/

Fig. 34
figure 34

Step 3: The results are returned (available for the outer loop)

Fig. 35
figure 35

Step 1: The first step of the increment operator. All of the inputs are filled

Fig. 36
figure 36

Step 2: The operation has written to the register

Fig. 37
figure 37

Step 3: The increment operator has now completed and the result is placed in the output tank

Fig. 38
figure 38

Step 4: \(q_{1}'\) is filled. This tank ensures a synchronising step with both the write and increment needing to be completed

Fig. 39
figure 39

Step 5: The write and increments output controls are drained

Fig. 40
figure 40

Step 6: The operation completes filling its output control

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Henderson, A., Nicolescu, R., Dinneen, M.J. et al. Programmable and parallel water computing. J Membr Comput 5, 25–54 (2023). https://doi.org/10.1007/s41965-022-00114-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s41965-022-00114-5

Keywords

Navigation