{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,23]],"date-time":"2023-01-23T20:53:04Z","timestamp":1674507184001},"reference-count":31,"publisher":"Elsevier BV","issue":"1","license":[{"start":{"date-parts":[[1993,8,1]],"date-time":"1993-08-01T00:00:00Z","timestamp":744163200000},"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":7290,"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":[[1993,8]]},"DOI":"10.1016\/0167-6423(93)90007-c","type":"journal-article","created":{"date-parts":[[2002,7,26]],"date-time":"2002-07-26T04:09:22Z","timestamp":1027656562000},"page":"1-56","source":"Crossref","is-referenced-by-count":8,"title":["Concurrency without toil: a systematic method for parallel program design"],"prefix":"10.1016","volume":"21","author":[{"given":"E.Pascal","family":"Gribomont","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/0167-6423(93)90007-C_BIB1","doi-asserted-by":"crossref","first-page":"431","DOI":"10.1145\/357146.357150","article-title":"Ten years of Hoare logic, part I","volume":"3","author":"Apt","year":"1981","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/0167-6423(93)90007-C_BIB2","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1016\/0304-3975(83)90066-X","article-title":"Ten years of Hoare logic, part II: nondeterminism","volume":"28","author":"Apt","year":"1984","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/0167-6423(93)90007-C_BIB3","first-page":"17","article-title":"Formalization of properties of parallel programs","volume":"6","author":"Ashcroft","year":"1970"},{"key":"10.1016\/0167-6423(93)90007-C_BIB4","doi-asserted-by":"crossref","first-page":"513","DOI":"10.1145\/48022.48023","article-title":"Distributed cooperation with action systems","volume":"10","author":"Back","year":"1988","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/0167-6423(93)90007-C_BIB5","doi-asserted-by":"crossref","first-page":"133","DOI":"10.1016\/0167-6423(90)90069-P","article-title":"Stepwise refinement of parallel algorithms","volume":"13","author":"Back","year":"1990","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/0167-6423(93)90007-C_BIB6","series-title":"Parallel Program Design: A Foundation","author":"Chandy","year":"1988"},{"key":"10.1016\/0167-6423(93)90007-C_BIB7","series-title":"Model Theory","author":"Chang","year":"1973"},{"key":"10.1016\/0167-6423(93)90007-C_BIB8","doi-asserted-by":"crossref","first-page":"338","DOI":"10.1145\/357103.357109","article-title":"Synthesis of resource invariants for concurrent programs","volume":"2","author":"Clarke","year":"1980","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/0167-6423(93)90007-C_BIB9","doi-asserted-by":"crossref","first-page":"70","DOI":"10.1016\/S0019-9958(82)91250-5","article-title":"Processes and the denotational semantics of concurrency","volume":"54","author":"de Bakker","year":"1982","journal-title":"Inform. Control"},{"key":"10.1016\/0167-6423(93)90007-C_BIB10","series-title":"A Discipline of Programming","author":"Dijkstra","year":"1976"},{"key":"10.1016\/0167-6423(93)90007-C_BIB11","year":"1990"},{"key":"10.1016\/0167-6423(93)90007-C_BIB12","doi-asserted-by":"crossref","first-page":"19","DOI":"10.1090\/psapm\/019\/0235771","article-title":"Assigning meanings to programs","volume":"19","author":"Floyd","year":"1967","journal-title":"Proc. Symp. Appl. Math."},{"key":"10.1016\/0167-6423(93)90007-C_BIB13","first-page":"325","article-title":"Synthesis of parallel programs invariants","volume":"186","author":"Gribomont","year":"1985"},{"key":"10.1016\/0167-6423(93)90007-C_BIB14","first-page":"298","article-title":"A Programming Logic for Formal Concurrent Systems","volume":"458","author":"Gribomont","year":"1990"},{"key":"10.1016\/0167-6423(93)90007-C_BIB15","doi-asserted-by":"crossref","first-page":"185","DOI":"10.1016\/0167-6423(90)90020-E","article-title":"Stepwise refinement and concurrency: the finite-state case","volume":"14","author":"Gribomont","year":"1990","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/0167-6423(93)90007-C_BIB16","series-title":"Concurrency without toil: the proofs","author":"Gribomont","year":"1993"},{"key":"10.1016\/0167-6423(93)90007-C_BIB17","doi-asserted-by":"crossref","first-page":"576","DOI":"10.1145\/363235.363259","article-title":"An axiomatic basis for computer programming","volume":"12","author":"Hoare","year":"1969","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(93)90007-C_BIB18","series-title":"Communicating Sequential Processes","author":"Hoare","year":"1985"},{"key":"10.1016\/0167-6423(93)90007-C_BIB19","doi-asserted-by":"crossref","first-page":"371","DOI":"10.1145\/360248.360251","article-title":"Formal verification of parallel programs","volume":"19","author":"Keller","year":"1976","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(93)90007-C_BIB20","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(93)90007-C_BIB21","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":"1983","journal-title":"Sci. Comput. Programming"},{"key":"10.1016\/0167-6423(93)90007-C_BIB22","doi-asserted-by":"crossref","first-page":"267","DOI":"10.1145\/42190.42348","article-title":"Control predicates are better than dummy variables for reasoning about program control","volume":"10","author":"Lamport","year":"1988","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/0167-6423(93)90007-C_BIB23","doi-asserted-by":"crossref","first-page":"396","DOI":"10.1145\/78969.78970","article-title":"win and sin: predicate transformers for concurrency","volume":"12","author":"Lamport","year":"1990","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/0167-6423(93)90007-C_BIB24","first-page":"141","article-title":"How to cook a temporal proof system for your pet language","author":"Manna","year":"1983","journal-title":"Proceedings 10th ACM Symposium on Principles of Programming Languages"},{"key":"10.1016\/0167-6423(93)90007-C_BIB25","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(93)90007-C_BIB26A","doi-asserted-by":"crossref","first-page":"9","DOI":"10.1145\/358527.358537","article-title":"An optimal algorithm for mutual exclusion","volume":"24","author":"Ricart","year":"1981","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(93)90007-C_BIB26B","doi-asserted-by":"crossref","first-page":"578","DOI":"10.1145\/358527.358537","article-title":"An optimal algorithm for mutual exclusion","volume":"24","author":"Ricart","year":"1981","journal-title":"Comm. ACM"},{"key":"10.1016\/0167-6423(93)90007-C_BIB27","doi-asserted-by":"crossref","first-page":"402","DOI":"10.1145\/579.583","article-title":"Using message passing for distributed programming: proof rules and disciplines","volume":"6","author":"Schlichting","year":"1984","journal-title":"ACM Trans. Programming Languages Systems"},{"key":"10.1016\/0167-6423(93)90007-C_BIB28","doi-asserted-by":"crossref","first-page":"227","DOI":"10.1016\/0304-3975(82)90067-6","article-title":"A unified approach for studying the properties of transition systems","volume":"18","author":"Sifakis","year":"1982","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/0167-6423(93)90007-C_BIB29","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1016\/0022-0000(78)90048-X","article-title":"Power domains","volume":"16","author":"Smyth","year":"1978","journal-title":"J. Comput. Systems Sci."},{"key":"10.1016\/0167-6423(93)90007-C_BIB30","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/BF00264015","article-title":"Formal derivation of strongly correct concurrent programs","volume":"12","author":"van Lamsweerde","year":"1979","journal-title":"Acta Inform."}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:016764239390007C?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:016764239390007C?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,4,12]],"date-time":"2019-04-12T17:55:19Z","timestamp":1555091719000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/016764239390007C"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1993,8]]},"references-count":31,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1993,8]]}},"alternative-id":["016764239390007C"],"URL":"https:\/\/doi.org\/10.1016\/0167-6423(93)90007-c","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[1993,8]]}}}