Synchronous programming of reactive systems by Nicolas Halbwachs. This book presents a synthesis of recent works on reactive system design. The term "reactive system" is used to avoid ambiguities associated with "real-time system." The book discusses various synchronous programming languages, including Esterel, Argos, Lustre, and Signal, which are used for designing reactive systems. It covers the principles of these languages, their programming styles, and examples of their use. The book also discusses compilation methods, static verification, and hardware implementation of these languages. It includes a detailed explanation of the synchronous approach to programming, which is based on the idea that systems can react instantaneously to events. The book also discusses the development of these languages, their applications, and their use in industrial settings. The authors highlight the importance of synchronous programming in the design of reactive systems and provide a comprehensive overview of the field. The book is intended for researchers and practitioners in the field of real-time systems and programming.Synchronous programming of reactive systems by Nicolas Halbwachs. This book presents a synthesis of recent works on reactive system design. The term "reactive system" is used to avoid ambiguities associated with "real-time system." The book discusses various synchronous programming languages, including Esterel, Argos, Lustre, and Signal, which are used for designing reactive systems. It covers the principles of these languages, their programming styles, and examples of their use. The book also discusses compilation methods, static verification, and hardware implementation of these languages. It includes a detailed explanation of the synchronous approach to programming, which is based on the idea that systems can react instantaneously to events. The book also discusses the development of these languages, their applications, and their use in industrial settings. The authors highlight the importance of synchronous programming in the design of reactive systems and provide a comprehensive overview of the field. The book is intended for researchers and practitioners in the field of real-time systems and programming.