This project will build a web interface for PrideMM, a tool that improves on state-of-the-art descriptions of the concurrency behaviour of programming languages. The web interface will facilitate discussion with the specifiers of industrial concurrency models, promoting the latest academic solutions to open problems faced by industry.
PrideMM is a simulator for event-structure-based models. Previous relaxed memory simulators were based on ad-hoc backends or SAT solvers. Additional computational complexity arises in event-structure-based models that consider multiple paths of control flow, so the simulator backend embodies a problem outside of the scope of SAT, and building an ad-hoc solver would be difficult. The problem is however within the scope of rapidly-improving QBF solvers and preliminary results show that the event structure model of Jeffrey and Riely can be efficiently simulated. The intention is for PrideMM to provide a platform for comparing the multitude of event-structure-based models, but also for testing and refining revisions of these models: several of the candidates require extension to cover the full set of C++ concurrency features.
The web frontend, which will support the testing of arbitrary examples through the web browser, will be developed in tandem with continued development of PrideMM. With its web interface, PrideMM will represent a platform for solving a key problem in the industrial specification of concurrency. It will facilitate communication about candidate C++ concurrency models with industry, and it will be a pedagogical tool for explaining necessarily complicated memory models more widely.