Abstract
We argue that compositional specification based on formal languages can facilitate the modelling of, and reasoning about, sophisticated collective behaviour in many natural systems. One defines a system in terms of individual components and local rules, so that collective behaviours emerge naturally from the combined effect of the different actions of the individual components. With appropriate linguistic constructs, this can yield compact and intuitive models that are easy to refine and extend in small incremental steps. In addition, automated workflows implemented on top of this methodology can provide quick feedback, thereby allowing rapid design iterations. To support our argument, we consider flocking, a well-known example of emergent behaviour in collective adaptive systems. We build a minimalistic bottom-up model of a flock of birds incrementally, discussing specific language constructs as we go along. We then describe a prototype simulator, and use it to validate our model in a controlled experiment, where a flock is attacked by a bird of prey. The flock effectively reacts to the attack by splitting into smaller groups and regathering once the threat subsides, consistently with both natural observations and previous models from the literature.
Work partially funded by MIUR project PRIN 2017FTXR7S IT MATTERS (Methods and Tools for Trustworthy Smart Systems).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In this paper, we present condensed, human-readable versions of the full, machine-readable specifications. These are available at https://github.com/labs-lang/labs-examples/tree/isola2022/isola2022.
- 2.
References
Antuña, L., Araiza-Illan, D., Campos, S., Eder, K.: Symmetry reduction enables model checking of more complex emergent behaviours of swarm navigation algorithms. In: Dixon, C., Tuyls, K. (eds.) TAROS 2015. LNCS (LNAI), vol. 9287, pp. 26–37. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22416-9_4
Ballerini, M., et al.: Interaction ruling animal collective behavior depends on topological rather than metric distance: evidence from a field study. Proc. Natl. Acad. Sci. 105(4), 1232–1237 (2008). https://doi.org/10.1073/pnas.0711437105
Bialek, W., et al.: Statistical mechanics for natural flocks of birds. Proc. Natl. Acad. Sci. 109(13), 4786–4791 (2012)
Brambilla, M., Ferrante, E., Birattari, M., Dorigo, M.: Swarm robotics: a review from the swarm engineering perspective. Swarm Intell. 7(1), 1–41 (2013). https://doi.org/10.1007/s11721-012-0075-2
Cederman, L.E.: Endogenizing geopolitical boundaries with agent-based modeling. Proc. Natl. Acad. Sci. 99(Suppl 3), 7296–7303 (2002). https://doi.org/10.1073/pnas.082081099
Cimatti, A., et al.: NuSMV 2: an OpenSource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45657-0_29
De Nicola, R., Di Stefano, L., Inverso, O.: Multi-agent systems with virtual stigmergy. Sci. Comput. Program. 187, 102345 (2020). https://doi.org/10.1016/j.scico.2019.102345
Demsar, J., Lebar Bajec, I.: Simulated predator attacks on flocks: a comparison of tactics. Artif. Life 20(3), 343–359 (2014). https://doi.org/10.1162/ARTL_a_00135
Desai, A., Saha, I., Yang, J., Qadeer, S., Seshia, S.A.: DRONA: a framework for safe distributed mobile robotics. In: ICCPS (2017). https://doi.org/10.1145/3055004.3055022
Di Stefano, L., De Nicola, R., Inverso, O.: Verification of distributed systems via sequential emulation. ACM Trans. Softw. Eng. Methodol. 31(3), 1–41 (2022). https://doi.org/10.1145/3490387
Di Stefano, L., Lang, F.: Verifying temporal properties of stigmergic collective systems using CADP. In: Margaria, T., Steffen, B. (eds.) ISoLA 2021. LNCS, vol. 13036, pp. 473–489. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-89159-6_29
Di Stefano, L., Lang, F., Serwe, W.: Combining SLiVER with CADP to analyze multi-agent systems. In: Bliudze, S., Bocchi, L. (eds.) COORDINATION 2020. LNCS, vol. 12134, pp. 370–385. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-50029-0_23
Emlen, J.T.: Flocking behavior in birds. Auk 69(2), 160–170 (1952)
Finkelshtein, D., Kondratiev, Y., Kutoviy, O.: Individual based model with competition in spatial ecology. SIAM J. Math. Anal. 41(1), 297–317 (2009). https://doi.org/10.1137/080719376
Francalanza, A., Aceto, L., Ingolfsdottir, A.: On verifying Hennessy-Milner logic with recursion at runtime. In: Bartocci, E., Majumdar, R. (eds.) RV 2015. LNCS, vol. 9333, pp. 71–86. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23820-3_5
Inverso, O., Trubiani, C.: Parallel and distributed bounded model checking of multi-threaded programs. In: 25th Symposium on Principles and Practice of Parallel Programming (PPoPP), pp. 202–216. ACM (2020). https://doi.org/10.1145/3332466.3374529
Koenig, N., Howard, A.: Design and use paradigms for Gazebo, an open-source multi-robot simulator. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), vol. 3, pp. 2149–2154. IEEE (2004). https://doi.org/10.1109/IROS.2004.1389727
Kouvaros, P., Lomuscio, A.: A counter abstraction technique for the verification of robot swarms. In: 29th Conference on Artificial Intelligence (AAAI), pp. 2081–2088. AAAI (2015)
Kuylen, E., Liesenborgs, J., Broeckhove, J., Hens, N.: Using individual-based models to look beyond the horizon: the changing effects of household-based clustering of susceptibility to measles in the next 20 years. In: Krzhizhanovskaya, V.V., et al. (eds.) ICCS 2020. LNCS, vol. 12137, pp. 385–398. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-50371-0_28
Lebar Bajec, I., Zimic, N., Mraz, M.: Simulating flocks on the wing: the fuzzy approach. J. Theor. Biol. 233, 199–220 (2005). https://doi.org/10.1016/j.jtbi.2004.10.003
Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebraic Program. 78(5), 293–303 (2009). https://doi.org/10.1016/j.jlap.2008.08.004
Lomuscio, A., Qu, H., Raimondi, F.: MCMAS: an open-source model checker for the verification of multi-agent systems. Int. J. Softw. Tools Technol. Transf. 19(1), 9–30 (2015). https://doi.org/10.1007/s10009-015-0378-x
Mehmood, U., Roy, S., Grosu, R., Smolka, S.A., Stoller, S.D., Tiwari, A.: Neural flocking: MPC-based supervised learning of flocking controllers. In: Goubault-Larrecq, J., König, B. (eds.) FoSSaCS 2020. LNCS, vol. 12077, pp. 1–16. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45231-5_1
Olfati-Saber, R.: Flocking for multi-agent dynamic systems: algorithms and theory. IEEE Trans. Autom. Control 51(3), 401–420 (2006). https://doi.org/10.1109/TAC.2005.864190
Pinciroli, C., Beltrame, G.: Buzz: an extensible programming language for heterogeneous swarm robotics. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3794–3800. IEEE (2016). https://doi.org/10.1109/IROS.2016.7759558
Pinciroli, C., et al.: ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intell. 6(4), 271–295 (2012). https://doi.org/10.1007/S11721-012-0072-5
Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science (FOCS), pp. 46–57. IEEE (1977). https://doi.org/10.1109/SFCS.1977.32
Quigley, M., et al.: ROS: an open-source robot operating system. In: ICRA Workshop on Open Source Software (2009)
Reynolds, C.W.: Flocks, herds and schools: a distributed behavioral model. In: Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH 1987, Anaheim, California, USA, 27–31 July 1987, pp. 25–34. ACM (1987). https://doi.org/10.1145/37401.37406
Rohmer, E., Singh, S.P.N., Freese, M.: V-REP: a versatile and scalable robot simulation framework. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1321–1326. IEEE (2013). https://doi.org/10.1109/IROS.2013.6696520
Sen, K., Viswanathan, M., Agha, G.: Statistical model checking of black-box probabilistic systems. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 202–215. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-27813-9_16
Shi, H., Wang, L., Chu, T.: Flocking of multi-agent systems with a dynamic virtual leader. Int. J. Control 82(1), 43–58 (2009). https://doi.org/10.1080/00207170801983091
Stiglitz, J.E., Gallegati, M.: Heterogeneous interacting agent models for understanding monetary economies. East. Econ. J. 37(1), 6–12 (2011). https://doi.org/10.1057/eej.2010.33
Toner, J., Tu, Y.: Flocks, herds, and schools: a quantitative theory of flocking. Phys. Rev. E 58(4), 4828–4858 (1998). https://doi.org/10.1103/PhysRevE.58.4828
Vásárhelyi, G., et al.: Outdoor flocking and formation flight with autonomous aerial robots. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3866–3873. IEEE (2014). https://doi.org/10.1109/IROS.2014.6943105
Winfield, A.F.T., Liu, W., Nembrini, J., Martinoli, A.: Modelling a wireless connected swarm of mobile robots. Swarm Intell. 2(2–4), 241–266 (2008). https://doi.org/10.1007/s11721-008-0018-0
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
De Nicola, R., Di Stefano, L., Inverso, O., Valiani, S. (2022). Modelling Flocks of Birds from the Bottom Up. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Adaptation and Learning. ISoLA 2022. Lecture Notes in Computer Science, vol 13703. Springer, Cham. https://doi.org/10.1007/978-3-031-19759-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-19759-8_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-19758-1
Online ISBN: 978-3-031-19759-8
eBook Packages: Computer ScienceComputer Science (R0)