{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,19]],"date-time":"2025-12-19T09:58:17Z","timestamp":1766138297292,"version":"3.37.3"},"reference-count":86,"publisher":"Springer Science and Business Media LLC","issue":"S1","license":[{"start":{"date-parts":[[2023,4,5]],"date-time":"2023-04-05T00:00:00Z","timestamp":1680652800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,4,5]],"date-time":"2023-04-05T00:00:00Z","timestamp":1680652800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100000275","name":"Leverhulme Trust","doi-asserted-by":"publisher","award":["RPG-2019-020"],"award-info":[{"award-number":["RPG-2019-020"]}],"id":[{"id":"10.13039\/501100000275","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Minds &amp; Machines"],"abstract":"<jats:title>Abstract<\/jats:title><jats:p>As computers became multi-component systems in the 1950s, handling the speed differentials efficiently was identified as a major challenge. The desire for better understanding and control of \u2018concurrency\u2019 spread into hardware, software, and formalism. This paper examines the way in which the problem emerged and was handled across various computing cultures from 1955 to 1985. In the machinic culture of the late 1950s, system programs called \u2018monitors\u2019 were used for directly managing synchronisation. Attempts to reframe synchronisation in the subsequent algorithmic culture pushed the problem to a higher level of abstraction; Dijkstra\u2019s semaphores were a reaction to the algorithms\u2019 complexity. Towards the end of the 1960s, the culture of \u2018structured programming\u2019 created a milieu in which Dijkstra, Hoare, and Brinch Hansen (among others) aimed for a concurrency primitive which embodied the new view of programming. Via conditional critical regions and Dijkstra\u2019s \u2018secretaries\u2019, the co-produced \u2018monitor\u2019 appeared to provide the desired encapsulation. The construct received embodiment in a few programming languages; this paper ends by considering Modula and Concurrent Pascal.<\/jats:p>","DOI":"10.1007\/s11023-023-09632-2","type":"journal-article","created":{"date-parts":[[2023,4,5]],"date-time":"2023-04-05T15:47:52Z","timestamp":1680709672000},"page":"51-71","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["From Monitors to Monitors: A Primitive History"],"prefix":"10.1007","volume":"34","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5582-4096","authenticated-orcid":false,"given":"Troy K.","family":"Astarte","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,4,5]]},"reference":[{"key":"9632_CR1","unstructured":"Abbate, J. (2017). From handmaiden to \u201cProper intellectual discipline\u201d: Creating a scientific identity for computer science in 1960s America. In T. J. Misa (Ed.), Communities of computing. Association for Computing Machinery and Morgan & Claypool."},{"key":"9632_CR2","unstructured":"Abbate, J., & Dick, S. (Eds.). (2022). Abstractions and embodiments: New histories of computing and society. Johns Hopkins University Press."},{"key":"9632_CR3","unstructured":"Astarte, T. K. (2022). \u201cDifficult things are difficult to describe\u201d: The role of formal semantics in European computer science, 1960\u20131980. In J. Abbate & S. Dick (Eds.), Abstractions and embodiments: New histories of computing and society. Johns Hopkins University Press."},{"key":"9632_CR4","unstructured":"Backus, J. W. (1960). The syntax and semantics of the proposed International Algebraic Language of the Zurich ACM-GAMM conference. In Information processing: Proceedings of the international conference on information processing (pp. 125\u2013132). UNESCO."},{"issue":"1","key":"9632_CR5","doi-asserted-by":"publisher","first-page":"106","DOI":"10.1007\/BF01386216","volume":"2","author":"JW Backus","year":"1960","unstructured":"Backus, J. W., Bauer, F. L., Green, J., Katz, C., McCarthy, J., Naur, P., et al. (1960). Report on the algorithmic language ALGOL 60. Numerische Mathematik, 2(1), 106\u2013136.","journal-title":"Numerische Mathematik"},{"key":"9632_CR7","volume-title":"Principles of concurrent and distributed programming","author":"M Ben-Ari","year":"1990","unstructured":"Ben-Ari, M. (1990). Principles of concurrent and distributed programming. Prentice Hall."},{"key":"9632_CR78","unstructured":"B\u00f6sz\u00f6rm\u00e9nyi, L., Gutknecht, J., & Pomberger, G. (Eds.). (2000). The school of Niklaus Wirth: The art of simplicity. dpunkt.verlag\/Copublication with Morgan-Kaufmann."},{"issue":"5","key":"9632_CR8","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1142\/9781848162914_0007","volume":"3","author":"W Brauer","year":"2009","unstructured":"Brauer, W., & Reisig, W. (2009). Carl Adam Petri and \u201cPetri Nets\u2019\u2019. Fundamental Concepts in Computer Science, 3(5), 129\u2013139.","journal-title":"Fundamental Concepts in Computer Science"},{"issue":"4","key":"9632_CR11","doi-asserted-by":"publisher","first-page":"238","DOI":"10.1145\/362258.362278","volume":"13","author":"P Brinch Hansen","year":"1970","unstructured":"Brinch Hansen, P. (1970). The nucleus of a multiprogramming system. Communications of the ACM, 13(4), 238\u2013241.","journal-title":"Communications of the ACM"},{"issue":"3","key":"9632_CR9","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1007\/BF00288684","volume":"1","author":"P Brinch Hansen","year":"1972","unstructured":"Brinch Hansen, P. (1972a). A comparison of two synchronizing concepts. Acta Informatica, 1(3), 190\u2013199.","journal-title":"Acta Informatica"},{"issue":"7","key":"9632_CR12","doi-asserted-by":"publisher","first-page":"574","DOI":"10.1145\/361454.361473","volume":"15","author":"P Brinch Hansen","year":"1972","unstructured":"Brinch Hansen, P. (1972b). Structured multiprogramming. Communications of the ACM, 15(7), 574\u2013578.","journal-title":"Communications of the ACM"},{"key":"9632_CR13","unstructured":"Brinch Hansen, P. (1973). Operating system principles. Prentice Hall."},{"issue":"2","key":"9632_CR14","doi-asserted-by":"publisher","first-page":"141","DOI":"10.1002\/spe.4380060202","volume":"6","author":"P Brinch Hansen","year":"1976","unstructured":"Brinch Hansen, P. (1976a). The Solo operating system: A concurrent Pascal program. Software\u2014Practice and Experience, 6(2), 141\u2013149.","journal-title":"Software\u2014Practice and Experience"},{"key":"9632_CR10","doi-asserted-by":"crossref","unstructured":"Brinch Hansen, P. (1976b). The programming language concurrent Pascal. In F. L. Bauer & K. Samelson (Eds.) Language Hierarchies and Interfaces, Part of Lecture Notes in Computer Science (Vol. 46, pp. 82\u2013110). Springer.","DOI":"10.1007\/3-540-07994-7_50"},{"key":"9632_CR15","doi-asserted-by":"crossref","unstructured":"Brinch Hansen, P. (1996). Monitors and concurrent Pascal: A personal history. In T. J. Bergin & R. G. Gibson (Eds.), History of Programming Languages\u2014II (pp. 121\u2013172). ACM Press.","DOI":"10.1145\/234286.1057814"},{"key":"9632_CR16","unstructured":"Brinch Hansen, P. (2004). A programmer\u2019s story: The life of a computer pioneer. http:\/\/www.brinch-hansen.net\/"},{"key":"9632_CR17","doi-asserted-by":"crossref","unstructured":"Codd, E. (1962). Multiprogramming. In F. Alt & M. Rubinoff (Eds.), Advances in computers (Vol. 3, pp. 77\u2013153). Elsevier.","DOI":"10.1016\/S0065-2458(08)60618-X"},{"key":"9632_CR18","doi-asserted-by":"crossref","unstructured":"Conway, M. E. (1963). A multiprocessor system design. In Proceedings of the November 12\u201314, 1963, Fall Joint Computer Conference (pp. 139\u2013146).","DOI":"10.1145\/1463822.1463838"},{"key":"9632_CR19","doi-asserted-by":"crossref","unstructured":"Courtois, P.-J., Heymans, F., & Parnas, D. L. (1971). Concurrent control with readers and writers. Communications of the ACM, 14(10), 667\u2013668.","DOI":"10.1145\/362759.362813"},{"issue":"4","key":"9632_CR20","doi-asserted-by":"publisher","first-page":"375","DOI":"10.1007\/BF00289516","volume":"1","author":"P-J Courtois","year":"1972","unstructured":"Courtois, P.-J., Heymans, F., & Parnas, D. L. (1972). Comments on \u201cA comparison of two synchronizing concepts by PB Hansen\u2019\u2019. Acta Informatica, 1(4), 375\u2013376.","journal-title":"Acta Informatica"},{"key":"9632_CR21","unstructured":"Dahl, O.-J., Dijkstra, E. W., & Hoare, C. A. R. (Eds.). (1972). Structured programming. Academic Press."},{"issue":"9","key":"9632_CR22","doi-asserted-by":"publisher","first-page":"671","DOI":"10.1145\/365813.365819","volume":"9","author":"O-J Dahl","year":"1966","unstructured":"Dahl, O.-J., & Nygaard, K. (1966). SIMULA: an ALGOL-based simulation language. Communications of the ACM, 9(9), 671\u2013678.","journal-title":"Communications of the ACM"},{"key":"9632_CR23","doi-asserted-by":"publisher","unstructured":"Daylight, E.G. (2011, 03). Dijkstra\u2019s Rallying Cry for Generalization: The Advent of the Recursive Procedure, Late 1950s\u2013Early 1960s. The Computer Journal, 54 (11), 1756-1772. https:\/\/doi.org\/10.1093\/comjnl\/bxr002","DOI":"10.1093\/comjnl\/bxr002"},{"issue":"4","key":"9632_CR24","doi-asserted-by":"publisher","first-page":"1091","DOI":"10.1093\/logcom\/exs071","volume":"25","author":"EG Daylight","year":"2013","unstructured":"Daylight, E. G. (2013). From mathematical logic to programming-language semantics: A discussion with Tony Hoare. Journal of Logic and Computation, 25(4), 1091\u20131110.","journal-title":"Journal of Logic and Computation"},{"key":"9632_CR25","unstructured":"De Mol, L., & Bullynck, M. (2022). What\u2019s in a name? Origins, transpositions and transformations of the triptych Algorithm\u2014Code\u2014Program. In J. Abbate & S. Dick (Eds.), Abstractions and embodiments: New histories of computing and society. Johns Hopkins University Press."},{"key":"9632_CR26","doi-asserted-by":"crossref","unstructured":"Dick, S. (2015). Computer science. In G. M. Montgomery & M. A. Largent (Eds.), A companion to the history of American science (pp. 79\u201393). Wileys.","DOI":"10.1002\/9781119072218.ch5"},{"key":"9632_CR27","unstructured":"Dijkstra, E. W. (1959). Communication with an automatic computer. Doctoral dissertation. University of Amsterdam."},{"key":"9632_CR28","unstructured":"Dijkstra, E. W. (1962). Over de sequetialiteit van procesbeschrijvingen [on the sequentiality of process descriptions]. Circulated privately, available in Texas Archive. Retrieved from https:\/\/www.cs.utexas.edu\/users\/EWD\/translations\/EWD35-English.html (EWD35. Date inferred)"},{"key":"9632_CR29","unstructured":"Dijkstra, E.W. (1963). Multiprogrammering en de X8 [multiprogramming in the X8]. Circulated privately, available in Texas Archive. Retrieved from http:\/\/www.cs.utexas.edu\/users\/EWD\/ewd00xx\/EWD51.PDF (EWD51. Date inferred)"},{"key":"9632_CR30","unstructured":"Dijkstra, E. W. (1964). Een algorithme ter voorkoming van de dodelijke omarming [An algorithm to prevent the deadly embrace]. Circulated privately, available in Texas Archive. Retrieved from http:\/\/www.cs.utexas.edu\/users\/EWD\/ewd01xx\/EWD108.PDF (EWD108. Date inferred)"},{"key":"9632_CR31","unstructured":"Dijkstra, E.W. (1965). Cooperating sequential processes. EWD123, Texas Archive. Retrieved from http:\/\/www.cs.utexas.edu\/users\/EWD\/ewd01xx\/EWD123.PDF (Published as Dijkstra (1968a))"},{"key":"9632_CR32","doi-asserted-by":"crossref","unstructured":"Dijkstra, E. W. (1968a). Cooperating sequential processes. In F. Genuys (Ed.), Programming languages (pp. 43\u2013112). Academic Press.","DOI":"10.1007\/978-1-4757-3472-0_2"},{"issue":"3","key":"9632_CR33","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1145\/362929.362947","volume":"11","author":"EW Dijkstra","year":"1968","unstructured":"Dijkstra, E. W. (1968b). Go to statement considered harmful. Communications of the ACM, 11(3), 147\u2013148.","journal-title":"Communications of the ACM"},{"issue":"5","key":"9632_CR34","doi-asserted-by":"publisher","first-page":"341","DOI":"10.1145\/363095.363143","volume":"11","author":"EW Dijkstra","year":"1968","unstructured":"Dijkstra, E. W. (1968c). The structure of the \u201cTHE\u2019\u2019-multiprogramming system. Communications of the ACM, 11(5), 341\u2013346.","journal-title":"Communications of the ACM"},{"key":"9632_CR35","doi-asserted-by":"crossref","unstructured":"Dijkstra, E. W. (1968d). The structure of the \u201cTHE\u201d multiprogramming system. In P.B. Hansen (Ed.), The origin of concurrent programming (pp. 139\u2013152). Springer.","DOI":"10.1007\/978-1-4757-3472-0_3"},{"key":"9632_CR36","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1007\/BF00289519","volume":"1","author":"EW Dijkstra","year":"1971","unstructured":"Dijkstra, E. W. (1971). Hierarchical ordering of sequential processes. Acta Informatica, 1, 115\u2013138.","journal-title":"Acta Informatica"},{"issue":"10","key":"9632_CR37","doi-asserted-by":"publisher","first-page":"859","DOI":"10.1145\/355604.361591","volume":"15","author":"EW Dijkstra","year":"1972","unstructured":"Dijkstra, E. W. (1972). The humble programmer. Communications of the ACM, 15(10), 859\u2013866.","journal-title":"Communications of the ACM"},{"key":"9632_CR38","volume-title":"A Discipline of Programming","author":"EW Dijkstra","year":"1976","unstructured":"Dijkstra, E. W. (1976). A discipline of programming. Prentice Hall."},{"key":"9632_CR39","doi-asserted-by":"crossref","unstructured":"Dijkstra, E. W. (2001). What led to \u201cNotes on Structured Programming\u201d. Held in the Dijkstra archive online. Retrieved from http:\/\/www.cs.utexas.edu\/users\/EWD\/transcriptions\/EWD13xx\/EWD1308.html (EWD 1308)","DOI":"10.1007\/978-3-642-59412-0_19"},{"key":"9632_CR40","doi-asserted-by":"crossref","unstructured":"Dijkstra, E. W. (2013). Cooperating sequential processes. In P. Brinch Hansen (Ed.), The origin of concurrent programming: From semaphores to remote procedure calls (2nd ed., pp. 65\u2013138). Springer.","DOI":"10.1007\/978-1-4757-3472-0_2"},{"key":"9632_CR41","doi-asserted-by":"publisher","unstructured":"Eden, A. H. (2007). Three paradigms of computer science. Minds and Machines, 17(2), 135\u2013167. https:\/\/doi.org\/10.1007\/s11023-007-9060-8","DOI":"10.1007\/s11023-007-9060-8"},{"issue":"2","key":"9632_CR42","doi-asserted-by":"publisher","first-page":"360","DOI":"10.1353\/tech.2007.0066","volume":"48","author":"R Eglash","year":"2007","unstructured":"Eglash, R. (2007). Broken metaphor: The master\u2013slave analogy in technical literature. Technology and Culture, 48(2), 360\u2013369.","journal-title":"Technology and culture"},{"key":"9632_CR43","doi-asserted-by":"publisher","DOI":"10.7551\/mitpress\/9780262050937.001.0001","volume-title":"The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise","author":"NL Ensmenger","year":"2010","unstructured":"Ensmenger, N. L. (2010). The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise. MIT Press."},{"issue":"3","key":"9632_CR44","doi-asserted-by":"publisher","first-page":"128","DOI":"10.1038\/scientificamerican0966-128","volume":"215","author":"RM Fano","year":"1966","unstructured":"Fano, R. M., & Corbat\u00f3, F. J. (1966). Time-sharing on computers. Scientific American, 215(3), 128\u2013143.","journal-title":"Scientific American"},{"issue":"1","key":"9632_CR45","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1093\/comjnl\/1.1.2","volume":"1","author":"S Gill","year":"1958","unstructured":"Gill, S. (1958). Parallel programming. The Computer Journal, 1(1), 2\u201310.","journal-title":"The computer journal"},{"issue":"6","key":"9632_CR46","doi-asserted-by":"publisher","first-page":"663","DOI":"10.1007\/s00165-019-00494-z","volume":"31","author":"T Haigh","year":"2019","unstructured":"Haigh, T. (2019). Assembling a prehistory for formal methods: A personal view. Formal Aspects of Computing, 31(6), 663\u2013674.","journal-title":"Formal Aspects of Computing"},{"key":"9632_CR47","doi-asserted-by":"publisher","DOI":"10.7551\/mitpress\/11436.001.0001","volume-title":"A New History of Modern Computing","author":"T Haigh","year":"2021","unstructured":"Haigh, T., & Ceruzzi, P. E. (2021). A new history of modern computing. MIT Press."},{"key":"9632_CR48","unstructured":"Hicks, M. (2017). Programmed Inequality: How Britain discarded women technologists and lost its edge in computing. MIT."},{"key":"9632_CR49","doi-asserted-by":"publisher","unstructured":"Hoare, C. A. R. (1972a). Proof of correctness of data representations. Acta Informatica, 1(4), 271\u2013281. Retrieved from https:\/\/doi.org\/10.1007\/BF00289507","DOI":"10.1007\/BF00289507"},{"key":"9632_CR50","unstructured":"Hoare, C. A. R. (1972b). Towards a theory of parallel programming. In C. A. R. Hoare & R. H. Perrott (Eds.), Operating system techniques (pp. 61\u201371). Academic Press (Proceedings of a Seminar at Queen\u2019s University, Belfast, August\u2013September 1971)"},{"key":"9632_CR51","doi-asserted-by":"crossref","unstructured":"Hoare, C. A. R. (1973). A structured paging system. BCS, Computer Journal, 16(3), 209\u2013215.","DOI":"10.1093\/comjnl\/16.3.209"},{"issue":"10","key":"9632_CR52","doi-asserted-by":"publisher","first-page":"549","DOI":"10.1145\/355620.361161","volume":"17","author":"CAR Hoare","year":"1974","unstructured":"Hoare, C. A. R. (1974). Monitors: An operating system structuring concept. Communications of the ACM, 17(10), 549\u2013557.","journal-title":"Communications of the ACM"},{"key":"9632_CR53","doi-asserted-by":"crossref","unstructured":"Hoare, C. A. R. (1976). Parallel programming: An axiomatic approach. In F. L. Bauer & K. Samelson (Eds.), Language hierarchies and interfaces (pp. 11\u201342). Springer.","DOI":"10.1007\/3-540-07994-7_47"},{"issue":"8","key":"9632_CR54","doi-asserted-by":"publisher","first-page":"666","DOI":"10.1145\/359576.359585","volume":"21","author":"CAR Hoare","year":"1978","unstructured":"Hoare, C. A. R. (1978). Communicating sequential processes. Communications of the ACM, 21(8), 666\u2013677.","journal-title":"Communications of the ACM"},{"key":"9632_CR55","unstructured":"Hoare, C. A. R., & Jones, C. B. (1989). Essays in computing science. Prentice Hall."},{"key":"9632_CR56","unstructured":"IBM. (1968). System\/360 principles of operation (8th ed.) (Computer software manual No. A22-6821-7)."},{"key":"9632_CR57","doi-asserted-by":"crossref","unstructured":"Jones, C. (2023). Three Early Formal Approaches to the Verification of Concurrent Programs. Minds & Machines. https:\/\/doi.org\/10.1007\/s11023-023-09621-5","DOI":"10.1007\/s11023-023-09621-5"},{"key":"9632_CR58","unstructured":"Jones, C. B. (2016). Professor Sir Tony Hoare: ACM Turing Award Winner 1980. Online (Interview)"},{"key":"9632_CR59","volume-title":"Fundamental algorithms (Vol","author":"DE Knuth","year":"1968","unstructured":"Knuth, D. E. (1968). Fundamental algorithms (Vol. I). Addison-Wesley."},{"key":"9632_CR60","volume-title":"The structure of scientific revolutions","author":"TS Kuhn","year":"1962","unstructured":"Kuhn, T. S. (1962). The structure of scientific revolutions. University of Chicago Press."},{"key":"9632_CR61","doi-asserted-by":"publisher","unstructured":"Lamport, L. (1974). A new solution of Dijkstra\u2019s concurrent programming problem. Communications of the ACM, 17(8), 453\u2013455. https:\/\/doi.org\/10.1145\/361082.361093","DOI":"10.1145\/361082.361093"},{"key":"9632_CR62","doi-asserted-by":"publisher","unstructured":"Lamport, L. (2015). Turing lecture. The computer science of concurrency: The early years. CACM, 58(6), 71\u201376. https:\/\/doi.org\/10.1145\/2771951","DOI":"10.1145\/2771951"},{"key":"9632_CR63","doi-asserted-by":"crossref","unstructured":"Mahoney, M. S. (2002). Software as science\u2014science as software. In U. Hashagen, R. Keil-Slawik, & A. Norberg (Eds.), History of Computing: Software Issues (pp. 25\u201348). Springer-Verlag.","DOI":"10.1007\/978-3-662-04954-9_3"},{"key":"9632_CR64","unstructured":"McCarthy, J. (1983). Reminiscences on the theory of time-sharing. Retrieved December 6, 2022, from http:\/\/jmc.stanford.edu\/computingscience\/timesharing.html"},{"issue":"06","key":"9632_CR65","doi-asserted-by":"publisher","first-page":"58","DOI":"10.1109\/MS.1986.229478","volume":"3","author":"HD Mills","year":"1986","unstructured":"Mills, H. D. (1986). Structured programming: Retrospect and prospect. IEEE Software, 3(06), 58\u201366.","journal-title":"IEEE Software"},{"key":"9632_CR66","doi-asserted-by":"crossref","unstructured":"Misa, T. J. (2019). Gender bias in computing. In W. Aspray (Ed.), Historical studies in computing, information, and society: Insights from the Flatiron lectures (pp. 115\u2013136). Springer.","DOI":"10.1007\/978-3-030-18955-6_6"},{"key":"9632_CR67","doi-asserted-by":"publisher","unstructured":"Misa, T. J. (2021). Dynamics of gender bias in computing. Communications of the ACM, 64(6), 76\u201383. https:\/\/doi.org\/10.1145\/3417517","DOI":"10.1145\/3417517"},{"key":"9632_CR68","doi-asserted-by":"crossref","unstructured":"Mullaney, T. S., Peters, B., Hicks, M., & Philip, K. (Eds.). (2021). Your computer is on fire. MIT Press.","DOI":"10.7551\/mitpress\/10993.001.0001"},{"key":"9632_CR69","doi-asserted-by":"publisher","unstructured":"Nygaard, K., & Dahl, O.-J. (1978). The development of the SIMULA languages. In R. L. Wexelblat (Ed.), History of programming languages (pp. 439\u2013480). Association for Computing Machinery. https:\/\/doi.org\/10.1145\/800025.1198392","DOI":"10.1145\/800025.1198392"},{"issue":"3","key":"9632_CR70","first-page":"84","volume":"38","author":"L Nyman","year":"2016","unstructured":"Nyman, L., & Laakso, M. (2016). Notes on the history of fork and join. IEEE Annals of the History of Computing, 38(3), 84\u201387.","journal-title":"IEEE Annals of the History of Computing"},{"key":"9632_CR71","unstructured":"Pel\u00e1ez Valdez, M. E. (1988). A gift from Pandora\u2019s box: The software crisis. Doctoral dissertation. University of Edinburgh."},{"issue":"3","key":"9632_CR72","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1016\/0020-0190(81)90106-X","volume":"12","author":"G Peterson","year":"1981","unstructured":"Peterson, G. (1981). Myths about the mutual exclusion problem. Information Processing Letters, 12(3), 115\u2013116.","journal-title":"Information Processing Letters"},{"key":"9632_CR73","unstructured":"Petri, C. A. (1962). Fundamentals of a theory of asynchronous information flow. In IFIP Congress (pp. 386-390). North-Holland."},{"key":"9632_CR74","unstructured":"Petrick, E. (2022). The computer as prosthesis? Embodiment, augmentation, and disability. In J. Abbate & S. Dick (Eds.), Abstractions and embodiments: New histories of computing and society. Johns Hopkins University Press."},{"key":"9632_CR75","volume-title":"Algorithms for mutual exclusion","author":"M Raynal","year":"1986","unstructured":"Raynal, M. (1986). Algorithms for mutual exclusion. MIT Press."},{"key":"9632_CR76","doi-asserted-by":"crossref","unstructured":"Rochester, N. (1955). The computer and its peripheral equipment. In Proceedings of the Eastern Joint AIEE-IRE computer conference: Computers in business and industrial systems (pp. 64\u201369).","DOI":"10.1145\/1455319.1455330"},{"key":"9632_CR77","volume-title":"Parallel processing in Ada. On the construction of programs","author":"O Roubine","year":"1980","unstructured":"Roubine, O., & Heliard, J.-C. (1980). Parallel processing in Ada. On the construction of programs. Cambridge University Press."},{"key":"9632_CR79","unstructured":"Strachey, C. (1959). Time sharing in large, fast computers. In Proceedings of the IFIP congress (pp. 336\u2013341)."},{"key":"9632_CR80","doi-asserted-by":"crossref","unstructured":"Tedre, M. (2014). The science of computing: Shaping a discipline. Chapman and Hall\/CRC.","DOI":"10.1201\/b17764"},{"key":"9632_CR81","unstructured":"Wegner, P. (1976). Research paradigms in computer science. In Proceedings of the 2nd international conference on software engineering (pp. 322\u2013330)."},{"key":"9632_CR82","doi-asserted-by":"publisher","unstructured":"Whitaker, W. A. (1996). ADA\u2014the Project: The DoD High Order Language Working Group. In History of programming languages\u2014II (pp. 173\u2013232). Association for Computing Machinery. https:\/\/doi.org\/10.1145\/234286.1057816","DOI":"10.1145\/234286.1057816"},{"issue":"1","key":"9632_CR83","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1007\/BF00264291","volume":"1","author":"N Wirth","year":"1971","unstructured":"Wirth, N. (1971). The programming language Pascal. Acta informatica, 1(1), 35\u201363.","journal-title":"Acta informatica"},{"key":"9632_CR84","doi-asserted-by":"crossref","unstructured":"Wirth, N. (1977). Modula: A language for modular multiprogramming. Software: Practice and Experience, 7(1), 1\u201335.","DOI":"10.1002\/spe.4380070102"},{"key":"9632_CR85","unstructured":"Wirth, N. (1980). Modula-2 (Vol. 36). Tech. Rep. ETH Institut f\u00fcr Informatik."},{"key":"9632_CR86","doi-asserted-by":"publisher","unstructured":"Wirth, N. (2007). Modula-2 and Oberon. In Proceedings of the 3rd ACM SIGPLAN conference on history of programming languages. https:\/\/doi.org\/10.1145\/1238844.1238847","DOI":"10.1145\/1238844.1238847"},{"key":"9632_CR87","doi-asserted-by":"crossref","unstructured":"Woodger, M. (1978). A history of IFIP WG 2.3: Programming methodology. In D. Gries (Ed.), Programming methodology: A collection of articles by members of IFIP WG 2.3. Springer.","DOI":"10.1007\/978-1-4612-6315-9_1"}],"container-title":["Minds and Machines"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11023-023-09632-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11023-023-09632-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11023-023-09632-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,17]],"date-time":"2024-10-17T19:25:28Z","timestamp":1729193128000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11023-023-09632-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,4,5]]},"references-count":86,"journal-issue":{"issue":"S1","published-online":{"date-parts":[[2024,2]]}},"alternative-id":["9632"],"URL":"https:\/\/doi.org\/10.1007\/s11023-023-09632-2","relation":{},"ISSN":["1572-8641"],"issn-type":[{"type":"electronic","value":"1572-8641"}],"subject":[],"published":{"date-parts":[[2023,4,5]]},"assertion":[{"value":"11 July 2022","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"9 March 2023","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 April 2023","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}