Abstract
The amoebot model abstracts active programmable matter as a collection of simple computational elements called amoebots that interact locally to collectively achieve tasks of coordination and movement. Since its introduction at SPAA 2014, a growing body of literature has adapted its assumptions for a variety of problems; however, without a standardized hierarchy of assumptions, precise systematic comparison of results under the amoebot model is difficult. We propose the canonical amoebot model, an updated formalization that distinguishes between core model features and families of assumption variants. A key improvement addressed by the canonical amoebot model is concurrency. Much of the existing literature implicitly assumes amoebot actions are isolated and reliable, reducing analysis to the sequential setting where at most one amoebot is active at a time. However, real programmable matter systems are concurrent. The canonical amoebot model formalizes all amoebot communication as message passing, leveraging adversarial activation models of concurrent executions. Under this granular treatment of time, we take two complementary approaches to concurrent algorithm design. We first establish a set of sufficient conditions for algorithm correctness under any concurrent execution, embedding concurrency control directly in algorithm design. We then present a concurrency control framework that uses locks to convert amoebot algorithms that terminate in the sequential setting and satisfy certain conventions into algorithms that exhibit equivalent behavior in the concurrent setting. As a case study, we demonstrate both approaches using a simple algorithm for hexagon formation. Together, the canonical amoebot model and these complementary approaches to concurrent algorithm design open new directions for distributed computing research on programmable matter.






Similar content being viewed by others
Notes
As we discuss in Sect. 5, designing fault tolerant algorithms is an important research direction for programmable matter. We leave the formalization of different fault models under the canonical amoebot model for future work.
Observe that any amoebot algorithm could directly implement this assumption by replacing each guard \(g_i\) of action \(\alpha _i\) with the guard \(g_i \wedge \bigwedge _{j=1}^{i-1} (\lnot g_j)\).
For the sake of clarity and brevity, we abuse \(\textsc {Connected}\), \(\textsc {Read}\), and \(\textsc {Write}\) notation slightly by referring directly to the neighboring amoebots and not to the ports which they are connected to.
An event occurs with high probability (w.h.p.) if it occurs with probability at least \(1 - 1/n^c\), where n is the number of amoebots in the system and \(c > 0\) is a constant.
References
Altisen, K., Devismes, S., Dubois, S., Petit, F.: Introduction to Distributed Self-Stabilizing Algorithms, volume 8 of Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool Publishers (2019). https://doi.org/10.2200/S00908ED1V01Y201903DCT015
Andrés Arroyo, M., Cannon, S., Daymude, J.J., Randall, D., Richa, A.W.: A stochastic approach to shortcut bridging in programmable matter. Nat. Comput. 17(4), 723–741 (2018). https://doi.org/10.1007/s11047-018-9714-x
Angluin, D., Aspnes, J., Diamadi, Z., Fischer, M.J., Peralta, R.: Computation in networks of passively mobile finite-state sensors. Distrib. Comput. 18(4), 235–253 (2006). https://doi.org/10.1007/s00446-005-0138-3
Barrameda, E.M., Das, S., Santoro, N.: Deployment of asynchronous robotic sensors in unknown orthogonal environments. In: Algorithmic Aspects of Wireless Sensor Networks, volume 5389 of Lecture Notes in Computer Science, pp 125–140 (2008). https://doi.org/10.1007/978-3-540-92862-1_11
Bazzi, R.A., Briones, J.L.: Stationary and deterministic leader election in self-organizing particle systems. In: Stabilization, Safety, and Security of Distributed Systems, volume 11914 of Lecture Notes in Computer Science, pp 22–37 (2019). https://doi.org/10.1007/978-3-030-34992-9_3
Bender, M.A., Farach-Colton, M., He, S., Kuszmaul, B.C., Leiserson, C.E.: Adversarial contention resolution for simple channels. In: Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, pp 325–332 (2005). https://doi.org/10.1145/1073970.1074023
Blackiston, D., Lederer, E., Kriegman, S., Garnier, S., Bongard, J., Levin, M.: A cellular platform for the development of synthetic living machines. Sci. Robot. 6(52), eabf1571 (2021). https://doi.org/10.1126/scirobotics.abf1571
Cali, F., Conti, M., Gregori, E.: IEEE 802.11 protocol: design and performance evaluation of an adaptive backoff mechanism. IEEE J. Sel. Areas Commun. 18(9), 1774–1786 (2000). https://doi.org/10.1109/49.872963
Cannon, S., Daymude, J.J., Gökmen, C., Randall, D., Richa, A.W.: A Local stochastic algorithm for separation in heterogeneous self-organizing particle systems. In: Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2019), volume 145 of Leibniz International Proceedings in Informatics (LIPIcs), pp 54:1–54:22 (2019). https://doi.org/10.4230/LIPIcs.APPROX-RANDOM.2019.54
Cannon, S., Daymude, J.J., Randall, D., Richa, A.W.: A Markov chain algorithm for compression in self-organizing particle systems. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, pp 279–288 (2016). https://doi.org/10.1145/2933057.2933107
Capetanakis, J.: Tree algorithms for packet broadcast channels. IEEE Trans. Inform. Theory 25(5), 505–515 (1979). https://doi.org/10.1109/TIT.1979.1056093
Chalk, C., Luchsinger, A., Martinez, E., Schweller, R., Winslow, A., Wylie, T.: Freezing simulates non-freezing tile automata. DNA Comput. Mol. Programm. 11145, 155–172 (2018). https://doi.org/10.1007/978-3-030-00030-1_10
Chirikjian, G.S.: Kinematics of a metamorphic robotic system. In: Proceedings of the 1994 IEEE International Conference on Robotics and Automation, pp 449–455 (1994). https://doi.org/10.1109/ROBOT.1994.351256
D’Angelo, G., D’Emidio, M., Das, S., Navarra, A., Prencipe, G.: Asynchronous silent programmable matter achieves leader election and compaction. IEEE Access 8, 207619–207634 (2020). https://doi.org/10.1109/ACCESS.2020.3038174
Das, S., Flocchini, P., Prencipe, G., Santoro, N., Yamashita, M.: The power of lights: synchronizing asynchronous robots using visible bits. In: 2012 IEEE 32nd International Conference on Distributed Computing Systems, pages 506–515, (2012). https://doi.org/10.1109/ICDCS.2012.71
Das, S., Flocchini, P., Prencipe, G., Santoro, N., Yamashita, M.: Autonomous Mobile Robots with Lights. Theoret. Comput. Sci. 609(1), 171–184 (2016). https://doi.org/10.1016/j.tcs.2015.09.018
Daymude, J.J., Derakhshandeh, Z., Gmyr, R., Porter, A., Richa, A.W., Scheideler, C., Strothmann, T.: On the runtime of universal coating for programmable matter. Nat. Comput. 17(1), 81–96 (2018). https://doi.org/10.1007/s11047-017-9658-6
Daymude, J.J., Gmyr, R., Hinnenthal, K., Kostitsyna, I., Scheideler, C., Richa, A.W.: Convex Hull Formation for Programmable Matter. In: Proceedings of the 21st International Conference on Distributed Computing and Networking, pp 2:1–2:10 (2020). https://doi.org/10.1145/3369740.3372916
Daymude, J.J., Gmyr, R., Richa, A.W., Scheideler, C., Strothmann, T.: Improved leader election for self-organizing programmable matter. In: Algorithms for Sensor Systems, volume 10718 of Lecture Notes in Computer Science, pp 127–140 (2017). https://doi.org/10.1007/978-3-319-72751-6_10
Daymude, J.J., Hinnenthal, K., Richa, A.W., Scheideler, C.: Computing by Programmable Particles. In: Flocchini, P., Prencipe, G., Santoro, N., (eds.) Distributed computing by mobile entities, volume 11340 of Lecture Notes in Computer Science, pp 615–681. Springer International Publishing, Cham (2019). https://doi.org/10.1007/978-3-030-11072-7_22
Daymude, J.J., Richa, A.W., Scheideler, C.: The canonical amoebot model: algorithms and concurrency control. In: 35th International Symposium on Distributed Computing (DISC 2021), volume 209 of Leibniz International Proceedings in Informatics (LIPIcs), pages 20:1–20:19. Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021). https://doi.org/10.4230/LIPIcs.DISC.2021.20
Daymude, J.J., Richa, A.W., Scheideler, C.: Local mutual exclusion for dynamic, anonymous, bounded memory message passing systems. In: 1st Symposium on Algorithmic Foundations of Dynamic Networks (SAND 2022), volume 221 of Leibniz International Proceedings in Informatics (LIPIcs), pages 12:1–12:19. Schloss Dagstuhl—Leibniz-Zentrum für Informatik (2022). https://doi.org/10.4230/LIPIcs.SAND.2022.12
Daymude, J.J., Richa, A.W., Weber, J.W.: Bio-inspired energy distribution for programmable matter. In: International Conference on Distributed Computing and Networking 2021, pages 86–95 (2021). https://doi.org/10.1145/3427796.3427835
Derakhshandeh, Z., Dolev, S., Gmyr, R., Richa, A.W., Scheideler, C., Strothmann, T.: Amoebot: a new model for programmable matter. In: Proceedings of the 26th ACM Symposium on Parallelism in Algorithms and Architectures, pp 220–222, (2014). https://doi.org/10.1145/2612669.2612712
Derakhshandeh, Z., Gmyr, R., Richa, A.W., Scheideler, C., Strothmann, T.: An algorithmic framework for shape formation problems in self-organizing particle systems. In: Proceedings of the Second Annual International Conference on Nanoscale Computing and Communication, pages 21:1–21:2 (2015). https://doi.org/10.1145/2800795.2800829
Derakhshandeh, Z., Gmyr, R., Richa, A.W., Scheideler, C., Strothmann, T.: Universal shape formation for programmable matter. In: Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures, pp 289–299 (2016). https://doi.org/10.1145/2935764.2935784
Derakhshandeh, Z., Gmyr, R., Richa, A.W., Scheideler, C., Strothmann, T.: Universal coating for programmable matter. Theoret. Comput. Sci. 671, 56–68 (2017). https://doi.org/10.1016/j.tcs.2016.02.039
Derakhshandeh, Z., Gmyr, R., Strothmann, T., Bazzi, R., Richa, A.W., Scheideler, C.: Leader election and shape formation with self-organizing programmable matter. In: DNA Computing and Molecular Programming, volume 9211 of Lecture Notes in Computer Science, pp 117–132 (2015). https://doi.org/10.1007/978-3-319-21999-8_8
Di Luna, G.A., Flocchini, P., Gan Chaudhuri, S., Poloni, F., Santoro, N., Viglietta, G.: Mutual visibility by luminous robots without collisions. Inf. Comput. 254(3), 392–418 (2017). https://doi.org/10.1016/j.ic.2016.09.005
Di Luna, G.A., Flocchini, P., Prencipe, G., Santoro, N., Viglietta, G.: Line recovery by programmable particles. In: Proceedings of the 19th International Conference on Distributed Computing and Networking, pp 4:1–4:10 (2018). https://doi.org/10.1145/3154273.3154309
Di Luna, G.A., Flocchini, P., Santoro, N., Viglietta, G., Yamauchi, Y.: Mobile RAM and shape formation by programmable particles. In: Euro-Par 2020: Parallel Processing, volume 12247 of Lecture Notes in Computer Science, pp 343–358 (2020). https://doi.org/10.1007/978-3-030-57675-2_22
Di Luna, G.A., Flocchini, P., Santoro, N., Viglietta, G., Yamauchi, Y.: Shape formation by programmable particles. Distrib. Comput. 33(1), 69–101 (2020). https://doi.org/10.1007/s00446-019-00350-6
Dufoulon, F., Kutten, S., Moses Jr., W.K.: Efficient deterministic leader election for programmable matter. In: Proceedings of the 2021 ACM Symposium on Principles of Distributed Computing, pp 103–113 (2021). https://doi.org/10.1145/3465084.3467900
Emek, Y., Kutten, S., Lavi, R., Moses Jr, W.K.: Deterministic leader election in programmable matter. In: 46th International Colloquium on Automata, Languages, and Programming (ICALP 2019), Leibniz International Proceedings in Informatics (LIPIcs), pp 140:1–140:14 (2019). https://doi.org/10.4230/LIPICS.ICALP.2019.140
Flocchini, P., Prencipe, G., Santoro, N., (eds.): Distributed Computing by Mobile Entities: Current Research in Moving and Computing, volume 11340 of Lecture Notes in Computer Science. Springer, Cham, (2019). https://doi.org/10.1007/978-3-030-11072-7
Flocchini, P., Santoro, N., Viglietta, G., Yamashita, M.: Rendezvous with constant memory. Theor. Comput. Sci. 621, 57–72 (2016). https://doi.org/10.1016/j.tcs.2016.01.025
Gastineau, N., Abdou, W., Mbarek, N., Togni, O.: Distributed leader election and computation of local identifiers for programmable matter. In: Algorithms for Sensor Systems, volume 11410 of Lecture Notes in Computer Science, pp 159–179 (2019). https://doi.org/10.1007/978-3-030-14094-6_11
Gastineau, N., Abdou, W., Mbarek, N., Togni, O.: Leader election and local identifiers for three-dimensional programmable matter. Concurr. Comput. Pract. Exp. (2020). https://doi.org/10.1002/cpe.6067
Hines, L., Petersen, K., Lum, G.Z., Sitti, M.: Soft actuators for small-scale robotics. Adv. Mater. 29(13), 1603483 (2017). https://doi.org/10.1002/adma.201603483
Kriegman, S., Blackiston, D., Levin, M., Bongard, J.: A scalable pipeline for designing reconfigurable organisms. Proc. Natl. Acad. Sci. 117(4), 1853–1859 (2020). https://doi.org/10.1073/pnas.1910837117
Liu, A.T., Yang, J.F., LeMar, L.N., Zhang, G., Pervan, A., Murphey, T.D., Strano, M.S.: Autoperforation of two-dimensional materials to generate colloidal state machines capable of locomotion. Faraday Discuss. 227, 213–232 (2021). https://doi.org/10.1039/D0FD00030B
Michail, O., Spirakis, P.G.: Simple and efficient local codes for distributed stable network construction. Distrib. Comput. 29(3), 207–237 (2016). https://doi.org/10.1007/s00446-015-0257-4
Nokhanji, N., Santoro, N.: Line Reconfiguration by programmable particles maintaining connectivity. In: Theory and Practice of Natural Computing, volume 12494 of Lecture Notes in Computer Science, pp 157–169 (2020). https://doi.org/10.1007/978-3-030-63000-3_13
Patitz, M.J.: An introduction to tile-based self-assembly and a survey of recent results. Nat. Comput. 13(2), 195–224 (2014). https://doi.org/10.1007/s11047-013-9379-4
Piranda, B., Bourgeois, J.: Designing a quasi-spherical module for a huge modular robot to create programmable matter. Auton. Robot. 42, 1619–1633 (2018). https://doi.org/10.1007/s10514-018-9710-0
Toffoli, T., Margolus, N.: Programmable matter: concepts and realization. Phys. D 47(1–2), 263–272 (1991). https://doi.org/10.1016/0167-2789(91)90296-L
Woods, D., Chen, H.-L., Goodfriend, S., Dabby, N., Winfree, E., Yin, P.: Active self-assembly of algorithmic shapes and patterns in polylogarithmic time. In: Proceedings of the 4th Conference on Innovations in Theoretical Computer Science, pp 353–354, (2013). https://doi.org/10.1145/2422436.2422476
Xie, H., Sun, M., Fan, X., Lin, Z., Chen, W., Wang, L., Dong, L., He, Q.: Reconfigurable magnetic microrobot swarm: multimode transformation, locomotion, and manipulation. Sci. Robot. 4(28), eaav8006 (2019). https://doi.org/10.1126/scirobotics.aav8006
Yang, J.F., Liu, P., Koman, V.B., Liu, A.T., Strano, M.S.: Synthetic cells: colloidal-sized state machines. In: Walsh, S.M., Strano, M.S. (eds.) Robotic Systems and Autonomous Platforms, Woodhead Publishing in Materials, pp. 361–386. Woodhead Publishing (2019). https://doi.org/10.1016/B978-0-08-102260-3.00015-9
Funding
Funding was provided by National Science Foundation under grand number CCF-1733680, Army Research Office under grand number MURI W911NF-19-1-0233, ASU Biodesign Institute, Momental Foundation under grand number Mistletoe Research Fellowship, Deutsche Forschungsgemeinschaft under grand number SCHE 1592/6-1.
Author information
Authors and Affiliations
Contributions
All authors contributed equally to the model design and formulation, algorithm design and analysis, and manuscript writing and review.
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no competing interests.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A: Amoebot operation pseudocode
In this appendix, we give formal distributed pseudocode for the amoebot operations. Algorithm 5 details the communication operations (Sect. 2.2.1) and Algorithms 6 and 7 detail the movement operations (Sect. 2.2.2). One possible implementation of the concurrency control operations (Sect. 2.2.3) is given in [22].



Appendix B: Expansion contention resolution
Recall that when an amoebot’s expansion collides with another movement, it must perform contention resolution such that exactly one contending amoebot succeeds in its expansion while all others fail. In this appendix, we detail and analyze one possible implementation of such a contention resolution scheme inspired by randomized backoff mechanisms for contention resolution in wireless networks [6, 8, 11]. We need one additional assumption: all amoebots know an upper bound T on the time required for an amoebot to complete any movement. For simplicity, we will assume geometric space (i.e., the triangular lattice \(G_{\Delta }\)), though this mechanism would generalize to any bounded degree graph.

The execution flow of our contention resolution mechanism is shown in Fig. 7 and its pseudocode is given in Algorithm 8. When A detects a collision, it retracts to its original node and retries its expansion after waiting for a delay chosen uniformly at random from [5T, 10T], where T is an upper bound on the time required for an amoebot to complete an expansion or retraction. In the remainder of this section, we verify the following claim.
Lemma 23
Suppose a set of amoebots are contending to expand into the same node of \(G_{\Delta }\). If each amoebot waits for a delay chosen uniformly at random from [5T, 10T] before its expansion attempt, then exactly one contender succeeds in \({\mathcal {O}}({\log n})\) attempts w.h.p.Footnote 4
Proof
We first bound the probability that two amoebots \(A_1\) and \(A_2\) collide in their respective expansion attempts into the same node. For each amoebot \(A_i \in \{A_1, A_2\}\), let \(t_i\) denote the start of its expansion attempt, \(d_i\) denote its random delay, and \(e_i\) denote the duration of its expansion if it were to succeed. The start time \(t_i\) and expansion duration \(e_i\) are fixed a priori by the adversary while the delay \(d_i\) is chosen uniformly at random from the interval [5T, cT], where \(c > 5\) is a constant. So, in summary, amoebot \(A_i \in \{A_1, A_2\}\) is waiting in the time interval \([t_i, t_i + d_i)\) and is expanding in the interval \([t_i + d_i, t_i + d_i + e_i]\). Thus, the expansions of amoebots \(A_1\) and \(A_2\) collide if and only if:
This implies:
Delays \(d_1\) and \(d_2\) are both uniform random variables over the interval [5T, cT], so the difference \(d_1 - d_2\) follows the symmetric triangular distribution with lower bound \((5 - c)T\), upper bound \((c - 5)T\), and mode 0. W.l.o.g., suppose \(t_1 < t_2\). There are two cases: when \(t_2 - t_1 - e_1 \le 0\) and when \(t_2 - t_1 - e_1 > 0\). If we have \(t_2 - t_1 - e_1 \le 0\), then:
which is a constant probability whenever \(c > \frac{13 + \sqrt{33}}{2} \approx 9.373\). The upper bound follows from:
-
Since T is the upper bound on the time required for an expansion, \(e_1 + e_2 \le 2T\).
-
We assumed that \(t_1 < t_2\), but we also have that if \(t_2 > t_1 + d_1 + e_1\), then there cannot be a collision. Thus, \(t_2 - t_1 \le d_1 + e_1 \le cT + T\) is a necessary condition for a collision. We also have that \(-T \le e_2 - e_1 \le T\), so we conclude that \(-2(t_2 - t_1)(e_2 - e_1) \le 2(c + 1)T^2\).
-
The last three numerator terms are all nonpositive, and thus can be upper bounded by 0.
In the second case, if we have \(t_2 - t_1 - e_1 > 0\), then:
which is a constant probability whenever \(c > 6 + \sqrt{15/2} \approx 8.739\). Therefore, in any case, the probability that the expansions of \(A_1\) and \(A_2\) collide when their delays are drawn uniformly at random from the interval [5T, cT] is at most a constant \(p \in (0, 1)\) when \(c > 9.373\).
Due to the structure of the triangular lattice \(G_{\Delta }\), at most six amoebots may be concurrently expanding into the same node. We now establish that pairwise collisions of any of these amoebots’ expansions are independent. Given each expansion attempt’s starting time and expansion duration—which are fixed by the asynchronous execution—the interval of expansion is entirely determined by the delay. Since each delay is drawn independently and uniformly from [5T, cT], each pair of expansions’ time intervals and thus also their collision is independent. So, fixing an amoebot \(A_1\),
which is a constant probability since p is a constant probability.
In order to amplify this success probability for the desired w.h.p. result, we must establish independence of expansion attempts. We have already shown that pairwise collisions of amoebots’ expansions are independent, but this is insufficient to establish the independence of subsequent expansion attempts. In particular, \(A_1\) and \(A_2\) may collide while concurrently attempting to expand, causing them both to retract before reattempting their expansions. A third amoebot \(A_3\) could then expand and collide with \(A_1\) or \(A_2\) while they are retracting, causing \(A_3\) to also retract; a fourth amoebot \(A_4\) could then expand and collide with \(A_3\) while it retracts, and so on. In the worst case, if the expansions of \(A_1\) and \(A_2\) collide at time t, these cascading expansion-retraction collisions can continue until time \(t + 5T\); this occurs if all retractions take the maximum time T and each amoebot \(A_i\) (for \(i = 3, \ldots , 6\), since there are at most six competing amoebots) collides with retracting amoebot \(A_{i-1}\) at the last possible moment. However, it is impossible for these cascading collisions to continue after \(t + 5T\): the earliest an amoebot could reattempt its expansion is after time \(t + 5T\) if \(A_1\) or \(A_2\) immediately retracted after colliding at time t and then sampled the minimum possible delay, 5T. Therefore, the expansion attempt of an amoebot \(A_i\) is independent of any of its previous attempts. So we have:
Setting \(k = \ln n / (1 - p)^5\), we have the probability that no amoebot successfully expands after k attempts is at most
Once an amoebot’s expansion succeeds, it connects to all its new neighbors causing any contending expansions to immediately fail. Therefore, we conclude that exactly one amoebot will successfully expand in at most \(\ln n = {\mathcal {O}}({\log n})\) attempts with high probability. \(\square \)
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.
About this article
Cite this article
Daymude, J.J., Richa, A.W. & Scheideler, C. The canonical amoebot model: algorithms and concurrency control. Distrib. Comput. 36, 159–192 (2023). https://doi.org/10.1007/s00446-023-00443-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-023-00443-3