{"title":"occam-pi的双向协议","authors":"Adam T. Sampson","doi":"10.3233/978-1-58603-907-3-85","DOIUrl":null,"url":null,"abstract":"In the occam- 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 indi- cate 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 pro- tocols 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- com- piler using Honda's session types. These mechanisms would considerably simplify the implementation of complex, dynamic client-server systems.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Two-Way Protocols for occam-pi\",\"authors\":\"Adam T. Sampson\",\"doi\":\"10.3233/978-1-58603-907-3-85\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In the occam- 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 indi- cate 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 pro- tocols 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- com- piler using Honda's session types. These mechanisms would considerably simplify the implementation of complex, dynamic client-server systems.\",\"PeriodicalId\":246267,\"journal\":{\"name\":\"Communicating Process Architectures Conference\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Communicating Process Architectures Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.3233/978-1-58603-907-3-85\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Communicating Process Architectures Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-58603-907-3-85","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
In the occam- 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 indi- cate 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 pro- tocols 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- com- piler using Honda's session types. These mechanisms would considerably simplify the implementation of complex, dynamic client-server systems.