Synchronous cooperative threading model in MSSL
Résumé
We propose a synchronous cooperative threading model for a programming language called MSSL. In MSSL, threads are executed cooperatively by a round-robin scheduler. Meanwhile, shared data between threads does not require the locking primitives for protection. This result is achieved by introducing a new type of smart pointers, named Trc, that combines sharing and mutability. Furthermore, using the notion of logical time, called instants, threads can progress synchronously with a consistent view of the state of signals. Signals are powerful, flexible, and have compelling means of communication. In this paper, we present a subset of the formal semantics of MSSL in the format of structural operational semantics.