{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T05:20:44Z","timestamp":1740115244101,"version":"3.37.3"},"reference-count":0,"publisher":"IOS Press","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2008]]},"abstract":"<jats:p>In the occam-&amp;pi; programming language, the client-server communication pattern is generally implemented using a pair of unidirectional channels. While each channel's protocol can be specified individually, no mechanism is yet provided to indicate the relationship between the two protocols; it is therefore not possible to statically check the safety of client-server communications. This paper proposes two-way protocols for individual channels, which would both define the structure of messages and allow the patterns of communication between processes to be specified. We show how conformance to two-way protocols can be statically checked by the occam-&amp;pi; compiler using Honda's session types. These mechanisms would considerably simplify the implementation of complex, dynamic client-server systems.<\/jats:p>","DOI":"10.3233\/978-1-58603-907-3-85","type":"book-chapter","created":{"date-parts":[[2025,2,20]],"date-time":"2025-02-20T09:37:07Z","timestamp":1740044227000},"source":"Crossref","is-referenced-by-count":0,"title":["Two-Way Protocols for occam-&amp;pi;"],"prefix":"10.3233","author":[{"family":"Sampson Adam T.","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"7437","container-title":["Concurrent Systems Engineering Series","Communicating Process Architectures 2008"],"original-title":[],"deposited":{"date-parts":[[2025,2,20]],"date-time":"2025-02-20T09:39:02Z","timestamp":1740044342000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.medra.org\/servlet\/aliasResolver?alias=iospressISSNISBN&issn=1383-7575&volume=66&spage=85"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008]]},"references-count":0,"URL":"https:\/\/doi.org\/10.3233\/978-1-58603-907-3-85","relation":{},"ISSN":["1383-7575"],"issn-type":[{"value":"1383-7575","type":"print"}],"subject":[],"published":{"date-parts":[[2008]]}}}