SyncGen: An Aspect-Oriented Framework for Synchronization

Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Masaaki Mizuno

Published: 2004, Last Modified: 22 Mar 2026TACAS 2004EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: This paper describes SyncGen – a tool for automatically synthesizing complex synchronization implementations from formal high-level specifications. In SyncGen, synchronization specifications are phrased using first-order logic or user-friendly specification patterns. From a high-level specification, a language independent synchronization solution in an intermediate guarded-command language is synthesized. Back-end translators can translate this intermediate solution into a variety of implementation frameworks including Java, C++/C with POSIX threads, and Controller Area Network message passing primitives. SyncGen has been used extensively in courses at Kansas State University. Its breadth of applicability has been demonstrated by using it to solve virtually all of the exercises given in the well-known concurrency text books of Andrews [1,2] and Hartley [4], as well as a variety of real-world problems in the embedded computing domain. The tool, along with supporting documentation and an example repository, is publicly available [6].
Loading