Abstract
Scalable distributed systems are typically parametric in design. The key parameter is the number of isomorphic components, K. A second important parameter is the number of neighbors, k, of each component process. In this work, we describe a methodology that uses an automated synthesis procedure to construct parametric system instances where both K and k can vary arbitrarily, extending prior work on synthesis for a fixed k. The methodology relies crucially on locality, symmetry, and abstraction. The first step is to eliminate K by refining a general, system-wide specification to a local temporal specification for a generic process in its parameterized neighborhood. Next, the local process specification is abstracted to remove its dependence on k. These steps are done by hand. The given synthesis procedure then automatically constructs an abstract process from the abstract local specification with a worst-case cost exponential in the length of the abstract local specification. We show that, for any k, the concretized abstract process meets the local specification. We then show that instantiating the abstract process with different k and K forms system instances that satisfy the system-level specification. The worst-case cost of instantiation is linear in K. We use this method to synthesize an atomic snapshots protocol on fully connected networks and a dining philosophers protocol on hypercubes.
R. Trefler and R. Zhang were supported, in part, by an Individual Discovery Grant from the Natural Sciences and Engineering Research Council of Canada. Kedar Namjoshi was supported in part by DARPA under contract HR001120C0159. The views, opinions, and/or findings expressed are those of the author(s) and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
An extended version of this paper is available at https://github.com/rzhang378/LocalSynth.git.
References
Afek, Y., Dolev, D., Attiya, H., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. In: Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing. PODC ’90, New York, NY, USA, p. 1–13. Association for Computing Machinery (1990). https://doi.org/10.1145/93385.93394
Alford, M.W., et al.: Distributed systems: methods and tools for specification. An advanced course. Springer, Heidelberg (1985)
Apt, K.R., Kozen, D.: Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22(6), 307–309 (1986)
Attie, P.C., Arora, A., Emerson, E.A.: Synthesis of fault-tolerant concurrent programs. ACM Trans. Program. Lang. Syst. 26(1), 125–185 (2004). https://doi.org/10.1145/963778.963782
Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems with many similar processes. ACM Trans. Program. Lang. Syst. 20(1), 51–115 (1998). https://doi.org/10.1145/271510.271519
Baier, C., Katoen, J.P.: Principles of Model Checking. The MIT Press (2008)
Bollig, B., Lehaut, M., Sznajder, N.: Round-bounded control of parameterized systems. In: Lahiri, S.K., Wang, C. (eds.) ATVA 2018. LNCS, vol. 11138, pp. 370–386. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-01090-4_22
Chandy, K.M., Misra, J.: The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6(4), 632-646 (1984). https://doi.org/10.1145/1780.1804
Chandy, K., Misra, J.: Parallel Program Design: A Foundation, Computer Science Series. Addison-Wesley Publishing Company (1988)
Ehlers, R.: Symbolic bounded synthesis. Formal Meth. Syst. Des. 40(2), 232–262 (2012). https://doi.org/10.1007/s10703-011-0137-x
Ehlers, R., Finkbeiner, B.: Symmetric synthesis. In: FSTTCS. LIPIcs, vol. 93, pp. 26:1–26:13. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2017)
Emerson, A., Srinivasan, J.: A decidable temporal logic to reason about many processes. In: Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing. PODC ’90, New York, NY, USA, pp. 233–246. Association for Computing Machinery (1990). https://doi.org/10.1145/93385.93425
Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2(3), 241–266 (1982). https://doi.org/10.1016/0167-6423(83)90017-5
Allen Emerson, E., Lei, C.-L.: Temporal reasoning under generalized fairness constraints. In: Monien, B., Vidal-Naquet, G. (eds.) STACS 1986. LNCS, vol. 210, pp. 21–36. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-16078-7_62
Finkbeiner, B., Schewe, S.: Uniform distributed synthesis. In: 20th Annual IEEE Symposium on Logic in Computer Science (LICS’ 05), pp. 321–330 (2005). https://doi.org/10.1109/LICS.2005.53
Finkbeiner, B., Schewe, S.: Bounded synthesis. Int. J. Software Tools Technol. Transf. 15(5–6), 519–539 (2013). https://doi.org/10.1007/s10009-012-0228-z
Fischer, M.J., Ladner, R.E.: Propositional dynamic logic of regular programs. J. Comput. Syst. Sci. 18(2), 194–211 (1979). https://doi.org/10.1016/0022-0000(79)90046-1
Jacobs, S., Bloem, R.: Parameterized synthesis. Log. Methods Comput. Sci. 10(1) (2014). https://doi.org/10.2168/LMCS-10(1:12)2014
Klinkhamer, A.P., Ebnenasir, A.: Synthesizing parameterized self-stabilizing rings with constant-space processes. In: Dastani, M., Sirjani, M. (eds.) Fundamentals of Software Engineering, pp. 100–115. Springer, Cham (2017)
Kupferman, O., Vardi, M.: Synthesizing distributed systems. In: Proceedings 16th Annual IEEE Symposium on Logic in Computer Science, pp. 389–398 (2001). https://doi.org/10.1109/LICS.2001.932514
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc, USA (2002)
Manna, Z., Wolper, P.: Synthesis of communicating processes from temporal logic specifications. ACM Trans. Program. Lang. Syst. 6(1), 68-93 (1984). https://doi.org/10.1145/357233.357237
Mohalik, S., Walukiewicz, I.: Distributed games. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS, pp. 338–351. Springer, Heidelberg (2003)
Namjoshi, K.S., Trefler, R.J.: Symmetry reduction for the local mu-calculus. In: Beyer, D., Huisman, M. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, pp. 379–395. Springer, Cham (2018)
Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL ’89, New York, NY, USA, pp. 179–190. Association for Computing Machinery (1989). https://doi.org/10.1145/75277.75293
Pnueli, A., Rosner, R.: Distributed reactive systems are hard to synthesize. In: Proceedings 31st Annual Symposium on Foundations of Computer Science, vol. 2, pp. 746–757 (1990). https://doi.org/10.1109/FSCS.1990.89597
Pnueli, A., Rosner, R.: On the synthesis of an asynchronous reactive module. In: Proceedings of the 16th International Colloquium on Automata, Languages and Programming. ICALP ’89, Berlin, Heidelberg, pp. 652–671. Springer (1989)
Schewe, S., Finkbeiner, B.: Bounded synthesis. In: Namjoshi, K.S., Yoneda, T., Higashino, T., Okamura, Y. (eds.) Automated Technology for Verification and Analysis, pp. 474–488. Springer, Heidelberg (2007)
Zhang, R., Trefler, R.J., Namjoshi, K.S.: Synthesizing locally symmetric parameterized protocols from temporal specifications. In: Griggio, A., Rungta, N. (eds.) 22nd Formal Methods in Computer-Aided Design, FMCAD 2022, Trento, Italy, October 17–21, 2022, pp. 235–244. IEEE (2022). https://doi.org/10.34727/2022/ISBN.978-3-85448-053-2_30
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Zhang, R., Trefler, R., Namjoshi, K.S. (2025). Synthesis of Parametric Locally Symmetric Protocols from Abstract Temporal Specifications. In: Shankaranarayanan, K., Sankaranarayanan, S., Trivedi, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2025. Lecture Notes in Computer Science, vol 15530. Springer, Cham. https://doi.org/10.1007/978-3-031-82703-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-82703-7_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-82702-0
Online ISBN: 978-3-031-82703-7
eBook Packages: Computer ScienceComputer Science (R0)