Dependences between Critical Sections in Synchronized Memory Models

Abstract The shared memory programming paradigm is becomingwidely used, since it provides several important benefits.However, the need to maintain a reasonably simple memorymodel for programmers is responsible for many of the compli-cations.In this paper, we present PoliDep , a new synchronizedmemory model which makes use of synchronizations to gainaccess of critical sections. PoliDep provides support to set updependences between different critical sections. This featureincreases the model’s expressiveness, so that it can be used asa platform to obtain memory models customized for particularapplications.In order to define PoliDep , we provide a formal speci-fication based on the I/O automata formalism. This formalspecification can be used to guide and show correctness of im-plementations and also to show properties of programs using PoliDep . 1 Introduction Shared memory (reading and writing of shared vari-ables)isa well-knownmechanismusedforinter-processcommunication in concurrent programs, which has sev-eral important benefits.In the first place, it hides from the programmer theparticular communication technique employed. There-fore, application developers do not need to be involvedin the management of messages. In addition, it allowscomplex shared structures to be passed by reference,providing a simple and well-known paradigm.However, while the semantics of memory operations(i.e., the memory model) in sequential programs are