@book(Andrews91ConcurrentProgramming, author = {Gregory R. Andrews}, year = {1991}, title = {Concurrent Programming: Principles and Practice}, publisher = {Benjamin/Cummings Publishing Company}, ) @article(BenAri98SantaClaus, author = {Ben-Ari, Mordechai}, year = {1998}, title = {How to solve the Santa Claus problem}, journal = {Concurrency - Practice and Experience}, volume = {10}, number = {6}, pages = {485--496}, doi = {10.1002/(SICI)1096-9128(199805)10:6$<$485::AID-CPE329$>$3.0.CO;2-2}, ) @techreport(Benton03JingleBells, author = {Nick Benton}, year = {2003}, title = {Jingle bells: Solving the {Santa Claus} problem in {Polyphonic C\#}}, type = {Technical Report}, institution = {Microsoft Research}, url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/santa.pdf}, ) @inproceedings(BosangueKokSere99ObjectBasedDistributed, author = {Marcello M. Bonsangue and Joost N. Kok and Kaisa Sere}, year = {1999}, title = {Developing Object-based Distributed Systems}, editor = {P. Ciancarini and A. Fantechi and R. Gorrieri}, booktitle = {3rd IFIP International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS'99)}, publisher = {Kluwer}, pages = {19--34}, doi = {10.1007/978-0-387-35562-7\_3}, ) @article(BuchiSekerinski00RefiningConcurrentObjects, author = {Martin B{\"u}chi and Emil Sekerinski}, year = {2000}, title = {A Foundation for Refining Concurrent Objects}, journal = {Fundamenta Informaticae}, volume = {44}, number = {1,2}, pages = {25--61}, url = {http://content.iospress.com/articles/fundamenta-informaticae/fi44-1-2-02}, ) @incollection(Buhr16ConcurrencyConstructs, author = {Peter A. Buhr}, year = {2016}, title = {High-Level Concurrency Constructs}, booktitle = {Understanding Control Flow: Concurrent Programming Using $\mu$C++}, publisher = {Springer International Publishing}, address = {Cham}, pages = {425--522}, doi = {10.1007/978-3-319-25703-7\_9}, ) @techreport(CameronEtAl06SantaClausStateClasses, author = {Nick Cameron and Ferruccio Damiani and Sophia Drossopoulou and Elena Giachino and Paola Giannini}, year = {2006}, title = {Solving the Santa Claus problem using state classes}, type = {Technical Report}, institution = {Dip. di inf., Univ. di Torino}, url = {http://www.di.unito.it/~damiani/papers/scp.pdf}, ) @mastersthesis(Dovland06LiberatingCoroutines, author = {Steingrim Dovland}, year = {2006}, title = {Liberating Coroutines: Combining Sequential and Parallel Execution}, school = {University of Oslo, Department of Informatics}, url = {http://urn.nb.no/URN:NBN:no-11637}, ) @book(Downey16Semaphores, author = {Allen B. Downey}, year = {2016}, title = {Little Book of Semaphores}, publisher = {Green Tea Press}, url = {http://greenteapress.com/semaphores}, ) @incollection(HurtPedsersen08SantaClausComparison, author = {Jason Hurt and Jan B. Pedersen}, year = {2008}, title = {Solving the Santa Claus Problem: a Comparison of Various Concurrent Programming Techniques}, editor = {Peter H. Welch and Susan Stepney and Fiona A.C. Polack and Frederick R.M. Barnes and Alistair A. McEwan and Adam T. Sampson Gardiner S. Stiles, Jan F. Broenink}, booktitle = {Communicating Process Architectures 2008}, publisher = {IOS Press}, pages = {381--396}, doi = {10.3233/978-1-58603-907-3-381}, ) @article(Misra02ObjectBasedMultiprogramming, author = {Jayadev Misra}, year = {2002}, title = {A Simple, Object-Based View of Multiprogramming}, journal = {Formal Methods in System Design}, volume = {20}, number = {1}, pages = {23--45}, doi = {10.1023/A:1012904412467}, ) @techreport(MooreOlivaSekerinskiYao14MultiThreadedStack, author = {Moore-Oliva, Joshua and Emil Sekerinski and Shucai Yao}, year = {2014}, title = {A Comparison of Scalable Multi-Threaded Stack Mechanisms}, type = {Technical Report}, number = {CAS-14-07-ES}, institution = {McMaster University, Department of Computing and Software}, url = {http://www.cas.mcmaster.ca/cas/0reports/CAS-14-07-ES.pdf}, ) @phdthesis(Nienaltowski07ContractConcurrentOOP, author = {Piotr Nienaltowski}, year = {2007}, title = {Practical framework for contract-based concurrent object-oriented programming}, school = {ETH Z\"urich}, doi = {10.3929/ethz-a-005363875}, ) @incollection(PeytonJones07BeautifulConcurrency, author = {Peyton Jones, Simon}, year = {2007}, title = {Beautiful concurrency}, editor = {A. Oram and G. Wilson}, booktitle = {Beautiful Code: Leading Programmers Explain How They Think}, publisher = {O'Reilly}, pages = {385--406}, url = {https://www.schoolofhaskell.com/school/advanced-haskell/beautiful-concurrency}, ) @article(Sekerinski05ConcurrentObjects, author = {Emil Sekerinski}, year = {2005}, title = {Verification and Refinement with Fine-Grained Action-Based Concurrent Objects}, journal = {Theoretical Computer Science}, volume = {331}, number = {2--3}, pages = {429--455}, doi = {10.1016/j.tcs.2004.09.024}, ) @article(Trono94ConcurrencyExercise, author = {John A. Trono}, year = {1994}, title = {A new exercise in concurrency}, journal = {ACM SIGCSE Bulletin}, volume = {26}, number = {3}, pages = {8--10}, doi = {10.1145/187387.187391}, ) @article(WelchPedersen10SantaClausProcess, author = {Peter H. Welch and Jan B. Pedersen}, year = {2010}, title = {Santa Claus: Formal Analysis of a Process-oriented Solution}, journal = {ACM Trans. Program. Lang. Syst.}, volume = {32}, number = {4}, pages = {14:1--14:37}, doi = {10.1145/1734206.1734211}, ) @phdthesis(Yao18, author = {Shucai Yao}, year = {2018, Draft}, title = {An Efficient Implementation of Guard-based Synchronization for an Object-Oriented Programming Language}, school = {McMaster University}, )