{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T09:45:56Z","timestamp":1698227156901},"reference-count":31,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":5416,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1992,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper discusses rendezvous on multiprocessors. Three different approaches are compared, represented by three specific systems: Ada, Harmony and BNR Pascal. All three permit tasks to run on multiple processors and use blocking communications primitives, but there are significant differences. For example, control over replying to messages out of sequence and over the allocation of tasks to processors is omitted in Ada, but is available in Harmony. The approach represented by BNR Pascal follows a middle road between Harmony and Ada: a low level protocol, invisible to the programmer, is used to ensure communications reliability, but the programmer is aware of when a rendezvous is remote. If performance considerations and verbosity and robustness are ignored, all three approaches are equivalent. To illustrate this equivalence, and to demonstrate clearly the complexity of the Ada rendezvous, an Ada rendezvous administrator written using Harmony is described. A second method of adapting Harmony to Ada is also presented, in which the Harmony primitives are modified to be closer to Ada. In practice, using Harmony primitives directly will usually result in better programs. It is argued that something very much like the rendezvous adminstrator is needed for any actual implementation of the Ada rendezvous.<\/jats:p>","DOI":"10.1002\/spe.4380220102","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T18:56:18Z","timestamp":1163789778000},"page":"1-39","source":"Crossref","is-referenced-by-count":1,"title":["Administrators and multiprocessor rendezvous mechanisms"],"prefix":"10.1002","volume":"22","author":[{"given":"W. Morven","family":"Gentleman","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Terry","family":"Shepard","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Douglas V. P.","family":"Thoreson","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"Language Reference Manual for the Ada Programming Language U.S. DoD ANSI\/MIL\u2010STD\u20101815A 17 February 1983."},{"key":"e_1_2_1_3_2","volume-title":"NRC No. 30081","author":"Gentleman W. M.","year":"1989"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1985.230695"},{"key":"e_1_2_1_5_2","unstructured":"D. V. P.Thoreson \u2018A Harmony administrator implementation for the Ada rendezvous\u2019 Technical Report Department of Electrical Engineering Royal Military College Kingston Ontario May1988."},{"key":"e_1_2_1_6_2","unstructured":"Multiprocessor Toolsmiths Incorporated Unison Users Guide Release 1.1 Doc No O\u2010M210\u2010S\u2010PR November1987."},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/366663.366704"},{"key":"e_1_2_1_8_2","first-page":"43","volume-title":"Programming Languages","author":"Dijkstra. E. W.","year":"1968"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/359642.359651"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/362258.362278"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359585"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/358549.358561"},{"key":"e_1_2_1_13_2","volume-title":"Rationale for the Design of the Ada Programming Language","author":"Ichbiah J. D.","year":"1986"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/359060.359074"},{"key":"e_1_2_1_15_2","volume-title":"BCPL\u2014The Language and its Compiler","author":"Richards M.","year":"1979"},{"key":"e_1_2_1_16_2","unstructured":"T. P.Curley \u2018Unison as a multi\u2010processor Ada run\u2010time environment\u2019 Master's Thesis Royal Military College of Canada May1989."},{"key":"e_1_2_1_17_2","unstructured":"C. D. (Terry)ShepardandT. P.Curley \u2018Unison as a multi\u2010processor Ada run\u2010time\u2019 Canadian Conference on Electrical and Computer Engineering Montreal September1989."},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380171007"},{"issue":"2","key":"e_1_2_1_19_2","first-page":"30","article-title":"Ada tasking implementation issues","volume":"8","author":"Bums A.","year":"1987","journal-title":"Ada Users"},{"issue":"1","key":"e_1_2_1_20_2","first-page":"9","article-title":"Ada task synchronization in a multiprocessor system with shared memory","volume":"4","author":"Lindquist T. E.","year":"1985","journal-title":"Journal of Pascal, Ada, and Modula\u20102"},{"key":"e_1_2_1_21_2","doi-asserted-by":"crossref","unstructured":"R. A.Volz A. W.Naylor T. N.MudgeandJ. H.Mayer \u2018Some problems in distributing real\u2010time Ada programs across machines\u2019 Ada in Use: Proc Int. Ada Conf. 1985 pp.72\u201384.","DOI":"10.1145\/324422.324383"},{"key":"e_1_2_1_22_2","unstructured":"M. C.Paulk \u2018Problems with distributed Ada programs\u2019 5th Annual International Phoenix Conference on Computers and Communications March1986."},{"key":"e_1_2_1_23_2","volume-title":"Proceedings of the Distributed Ada Symposium","author":"Bishop J. M.","year":"1989"},{"key":"e_1_2_1_24_2","unstructured":"R. M.Weatherly \u2018Design of a distributed operating system for Ada\u2019 Dissertation of Doctoral Thesis Graduate School Clemson University August1984."},{"issue":"2","key":"e_1_2_1_25_2","first-page":"185","article-title":"A syntax\u2010directed approach for implementing the rendezvous mechanism in Ada","volume":"28","author":"Wei L.","year":"1985","journal-title":"Scientia Sinica (series A)"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.1984.233391"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.55469"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380110504"},{"key":"e_1_2_1_29_2","unstructured":"S. A.Schuman \u2018Tutorial on Ada tasking\u2019 inUsing Selected Features of Ada: A Collection of Papers CENTACS US Army Communications Electronics Command. March1981. (Reprinted in S.H. Saib and R.E. Fritz (eds) The Ada Programming Language: A Tutorial IEEE Catalog No. EHO 202\u20132 1983.)"},{"key":"e_1_2_1_30_2","unstructured":"D. A.PlebonandK. S.Booth \u2018Interactive picture creation system\u2019 Masters Thesis CS\u201082\u201046 Graduate School of Waterloo December1982."},{"key":"e_1_2_1_31_2","unstructured":"P.Coupal \u2018The path name server; an experiment with message passing primitives\u2019 Masters Thesis Graduate School of Waterloo 1982."},{"key":"e_1_2_1_32_2","unstructured":"Irvine Compiler Corporation Ada Runtime Source ICC Ada Compiler 1987."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380220102","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380220102","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,24]],"date-time":"2023-10-24T13:37:53Z","timestamp":1698154673000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380220102"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1992,1]]},"references-count":31,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1992,1]]}},"alternative-id":["10.1002\/spe.4380220102"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380220102","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1992,1]]}}}