{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:30:50Z","timestamp":1699835450208},"reference-count":7,"publisher":"Wiley","issue":"2","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":10130,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1979,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The subroutine call is one of the most fundamental of program control constructs. Despite this, it is rarely implemented at the job control or task level in existing commercially available software systems. When the feasibility of adding a general program calling mechanism to an existing system was investigated, it was apparent that there exist constraints on the amount of state information which could be saved on behalf of the calling program. A mechanism with low run\u2010time overhead which saves a minimal amount of state information has proven to be easily integratable into a commercially available operating system. This mechanism has had a significant impact on the ease of development and support of large systems of programs. Examples of the use of the new calling mechanism include a program development system and a recursive directory manager for hierarchical directories.<\/jats:p>","DOI":"10.1002\/spe.4380090209","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T13:09:00Z","timestamp":1163768940000},"page":"149-155","source":"Crossref","is-referenced-by-count":0,"title":["Programs as higher level subroutines"],"prefix":"10.1002","volume":"9","author":[{"given":"Douglas","family":"Jones","sequence":"first","affiliation":[]},{"given":"A. B.","family":"Baskin","sequence":"additional","affiliation":[]},{"given":"Thomas","family":"Chen","sequence":"additional","affiliation":[]},{"given":"Louis","family":"Bloomfield","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/361011.361061"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/355616.364017"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"R. M.NeedhamandR. H.Walker \u2018The Cambridge CAP computer and its protection system\u2019 inProc. of the Sixth ACM Symp. on Operating Systems Principles Purdue 1\u201310(1977).","DOI":"10.1145\/1067625.806541"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/356678.356680"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070307"},{"key":"e_1_2_1_7_2","doi-asserted-by":"crossref","unstructured":"P. M.Melliar\u2010SmithandB.Randell \u2018Software reliability: the role of programmed exception handling\u2019 in Proc. of an ACM Conference on Language Design for Reliable Software (Ed. D. B. Wortman) Raleigh N.C.95\u2013100(1977).","DOI":"10.1145\/390019.808315"},{"key":"e_1_2_1_8_2","unstructured":"D. L.ParnasandH.Wurges \u2018Response to undesired events in software systems\u2019 inProc. of Second Int. Conf. on Software Engineering San Francisco 437\u2013446(1976)."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380090209","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380090209","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T11:29:16Z","timestamp":1699788556000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380090209"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1979,2]]},"references-count":7,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1979,2]]}},"alternative-id":["10.1002\/spe.4380090209"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380090209","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1979,2]]}}}