{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,3]],"date-time":"2023-09-03T00:27:36Z","timestamp":1693700856343},"reference-count":25,"publisher":"Elsevier BV","issue":"1","license":[{"start":{"date-parts":[[1989,12,1]],"date-time":"1989-12-01T00:00:00Z","timestamp":628473600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":8629,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Science of Computer Programming"],"published-print":{"date-parts":[[1989,12]]},"DOI":"10.1016\/0167-6423(89)90013-0","type":"journal-article","created":{"date-parts":[[2002,7,26]],"date-time":"2002-07-26T00:09:22Z","timestamp":1027642162000},"page":"1-21","source":"Crossref","is-referenced-by-count":9,"title":["A method for solving synchronization problems"],"prefix":"10.1016","volume":"13","author":[{"given":"Gregory R.","family":"Andrews","sequence":"first","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/0167-6423(89)90013-0_BIB1","unstructured":"G.R. Andrews, Concurrent Programming: Principles and Practice (Benjamin\/Cummings, Menlo Park, CA, to appear)."},{"issue":"1","key":"10.1016\/0167-6423(89)90013-0_BIB2","doi-asserted-by":"crossref","first-page":"51","DOI":"10.1145\/42192.42324","article-title":"An overview of the SR language and implementation","volume":"10","author":"Andrews","year":"1988","journal-title":"ACM Trans. Programming Languages Syst."},{"issue":"1","key":"10.1016\/0167-6423(89)90013-0_BIB3","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1145\/356901.356903","article-title":"Concepts and notations for concurrent programming","volume":"15","author":"Andrews","year":"1983","journal-title":"ACM Comput. Surveys"},{"key":"10.1016\/0167-6423(89)90013-0_BIB4","doi-asserted-by":"crossref","first-page":"574","DOI":"10.1145\/361454.361473","article-title":"Structured multiprogramming","volume":"15","author":"Brinch Hansen","year":"1972","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(89)90013-0_BIB5","series-title":"Operating System Principles","author":"Brinch Hansen","year":"1973"},{"key":"10.1016\/0167-6423(89)90013-0_BIB6","series-title":"Parallel Program Design: A Foundation","author":"Chandy","year":"1988"},{"key":"10.1016\/0167-6423(89)90013-0_BIB7","doi-asserted-by":"crossref","first-page":"667","DOI":"10.1145\/362759.362813","article-title":"Concurrent control with readers and writers","volume":"14","author":"Courtois","year":"1971","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(89)90013-0_BIB8","series-title":"A Discipline of Programming","author":"Dijkstra","year":"1976"},{"key":"10.1016\/0167-6423(89)90013-0_BIB9","article-title":"A tutorial on the split binary semaphore","author":"Dijkstra","year":"1979","journal-title":"EWD703"},{"key":"10.1016\/0167-6423(89)90013-0_BIB10","article-title":"The superfluity of the general semaphore","author":"Dijkstra","year":"1980","journal-title":"EWD734"},{"key":"10.1016\/0167-6423(89)90013-0_BIB11","series-title":"TR 88-13","article-title":"The development of two distributed algorithms for network topology","author":"Elshoff","year":"1988"},{"key":"10.1016\/0167-6423(89)90013-0_BIB12","doi-asserted-by":"crossref","first-page":"353","DOI":"10.1145\/359114.359127","article-title":"High level programming for distributed computing","volume":"22","author":"Feldman","year":"1979","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(89)90013-0_BIB13","series-title":"Operating Systems Techniques","article-title":"Towards a theory of parallel programming","author":"Hoare","year":"1972"},{"key":"10.1016\/0167-6423(89)90013-0_BIB14","doi-asserted-by":"crossref","first-page":"549","DOI":"10.1145\/355620.361161","article-title":"Monitors: An operating system structuring concept","volume":"17","author":"Hoare","year":"1974","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(89)90013-0_BIB15","doi-asserted-by":"crossref","first-page":"666","DOI":"10.1145\/359576.359585","article-title":"Communicating sequential processes","volume":"21","author":"Hoare","year":"1978","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(89)90013-0_BIB16","series-title":"Proceedings 2nd International Conference on Software Engineering","first-page":"47","article-title":"Signaling in monitors","author":"Howard","year":"1976"},{"key":"10.1016\/0167-6423(89)90013-0_BIB17","doi-asserted-by":"crossref","first-page":"453","DOI":"10.1145\/361082.361093","article-title":"A new solution of Dijkstra's concurrent programming problem","volume":"17","author":"Lamport","year":"1974","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(89)90013-0_BIB18","doi-asserted-by":"crossref","first-page":"175","DOI":"10.1016\/0167-6423(83)90014-X","article-title":"An assertional correctness proof of a distributed algorithm","volume":"2","author":"Lamport","year":"1982","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/0167-6423(89)90013-0_BIB19","doi-asserted-by":"crossref","first-page":"281","DOI":"10.1145\/2993.357247","article-title":"The \u201cHoare logic\u201d of CSP, and all that","volume":"6","author":"Lamport","year":"1984","journal-title":"ACM Trans. Programming Languages Syst."},{"key":"10.1016\/0167-6423(89)90013-0_BIB20","article-title":"On the duality of operating system structures","author":"Lauer","year":"1978","journal-title":"Proceedings 2nd International Symposium on Operating Systems"},{"key":"10.1016\/0167-6423(89)90013-0_BIB21","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/0167-6423(86)90016-X","article-title":"Derivation of a distributed algorithm for finding paths in directed networks","volume":"6","author":"McCurley","year":"1986","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/0167-6423(89)90013-0_BIB22","series-title":"TR 75-251","article-title":"Axiomatic proof techniques for parallel programs","author":"Owicki","year":"1975"},{"key":"10.1016\/0167-6423(89)90013-0_BIB23","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1007\/BF00268134","article-title":"An axiomatic proof technique for parallel programs","volume":"6","author":"Owicki","year":"1976","journal-title":"Acta Inform."},{"key":"10.1016\/0167-6423(89)90013-0_BIB24","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1016\/0020-0190(81)90106-X","article-title":"Myths about the mutual exclusion problem","volume":"12","author":"Peterson","year":"1981","journal-title":"Inform. Process. Lett."},{"key":"10.1016\/0167-6423(89)90013-0_BIB25","series-title":"Reference manual for the Ada programming language","year":"1980"}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:0167642389900130?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:0167642389900130?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,4,12]],"date-time":"2019-04-12T13:52:55Z","timestamp":1555077175000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/0167642389900130"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,12]]},"references-count":25,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1989,12]]}},"alternative-id":["0167642389900130"],"URL":"https:\/\/doi.org\/10.1016\/0167-6423(89)90013-0","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[1989,12]]}}}