{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T00:43:30Z","timestamp":1725497010953},"edition-number":"1","reference-count":17,"publisher":"Wiley","isbn-type":[{"type":"print","value":"9780471383932"},{"type":"electronic","value":"9780470050118"}],"license":[{"start":{"date-parts":[[2007,12,14]],"date-time":"2007-12-14T00:00:00Z","timestamp":1197590400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/doi.wiley.com\/10.1002\/tdm_license_1.1"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>\n            Concurrent programming refers to the development of programs that address the parallel execution of several tasks. A\n            <jats:italic>process<\/jats:italic>\n            or\n            <jats:italic>task<\/jats:italic>\n            represents the execution of a sequential program or a sequential component in a concurrent program. Each task deals with one sequential thread of execution; thus, no concurrency is allowed within a task. However, overall system concurrency is obtained by having multiple tasks executing in parallel. The tasks often execute asynchronously (i.e., at different speeds) and are relatively independent of each other for significant periods of time. From time to time, the tasks need to communicate and synchronize their operations with each other. Concurrent programming has been applied extensively in the development of operating systems, database systems, real\u2010time systems, interactive systems, and distributed systems.\n          <\/jats:p>","DOI":"10.1002\/9780470050118.ecse079","type":"other","created":{"date-parts":[[2007,12,6]],"date-time":"2007-12-06T12:49:24Z","timestamp":1196945364000},"source":"Crossref","is-referenced-by-count":0,"title":["Concurrent Programming"],"prefix":"10.1002","author":[{"given":"Hassan","family":"Gomaa","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2007,12,14]]},"reference":[{"volume-title":"Concurrency: State Models & Java Programs","year":"1999","author":"Magee J.","key":"e_1_2_19_2_1_1"},{"volume-title":"Concurrent Systems","year":"1998","author":"Bacon J.","key":"e_1_2_19_2_2_1"},{"key":"e_1_2_19_2_3_1","first-page":"43","volume-title":"Programming Languages","author":"Dijkstra E. W.","year":"1968"},{"volume-title":"Modern Operating Systems","year":"2001","author":"Tanenbaum A. S.","key":"e_1_2_19_2_4_1"},{"volume-title":"Operating System Concepts","year":"2004","author":"Silberschatz A.","key":"e_1_2_19_2_5_1"},{"volume-title":"The Unified Modeling Language User Guide","year":"1999","author":"Booch G.","key":"e_1_2_19_2_6_1"},{"volume-title":"Designing Concurrent, Distributed, and Real\u2010Time Applications with UML","year":"2000","author":"Gomaa H.","key":"e_1_2_19_2_7_1"},{"key":"e_1_2_19_2_8_1","article-title":"On the criteria for decomposing a system into modules","author":"Parnas D.","year":"1972","journal-title":"Comm. ACM"},{"key":"e_1_2_19_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1979.234169"},{"key":"e_1_2_19_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/355620.361161"},{"volume-title":"Communicating Sequential Processes","year":"1985","author":"Hoare C. A. R.","key":"e_1_2_19_2_10_2"},{"volume-title":"Software Fundamentals, Collected Papers by David L. Parnas","year":"2001","author":"Hoffman D.","key":"e_1_2_19_2_10_3"},{"volume-title":"Operating System Principles","year":"1973","author":"Brinch Hansen P.","key":"e_1_2_19_2_11_1"},{"key":"e_1_2_19_2_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00289516"},{"volume-title":"Hierarchical ordering of sequential processes","year":"1972","author":"Dijkstra E. W.","key":"e_1_2_19_2_13_1"},{"volume-title":"Concurrent Programming in Java: Design Principles and Patterns","year":"1999","author":"Lea D.","key":"e_1_2_19_2_14_1"},{"volume-title":"Programming in Ada 95","year":"1995","author":"Barnes J.","key":"e_1_2_19_2_15_1"}],"container-title":["Wiley Encyclopedia of Computer Science and Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/9780470050118.ecse079","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,8,21]],"date-time":"2023-08-21T01:01:10Z","timestamp":1692579670000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/9780470050118.ecse079"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,12,14]]},"ISBN":["9780471383932","9780470050118"],"references-count":17,"alternative-id":["10.1002\/9780470050118.ecse079","10.1002\/9780470050118"],"URL":"https:\/\/doi.org\/10.1002\/9780470050118.ecse079","archive":["Portico"],"relation":{},"subject":[],"published":{"date-parts":[[2007,12,14]]}}}