{"title":"响应式批量同步编程规范","authors":"Yifeng Chen","doi":"10.1109/EMPDP.2000.823411","DOIUrl":null,"url":null,"abstract":"Extends bulk-synchronous programming (BSP) to incorporate reactive (i.e. non-terminating) programming. We propose a semantic model for BSP which allows a process to have infinitely many supersteps. The semantics reveals the essential difference between BSP and sequential specifications. Based on the model, a specification language, called the Super-Step Specification (SSS) language, is proposed to support modularised programming and to hide communication and synchronisation details in specifications. The notion of a public variable is proposed in order to substantially simplify reactive programming. The normal forms of BSP and SSS are identified, and complete sets of laws for the two languages are given. Finally, a few refinement laws are used to provide a BSP treatment of the dining philosophers problem, which illustrates the power of BSP reactive programming. Much of the formalism presented in this paper can also be applied to non-reactive programming.","PeriodicalId":128020,"journal":{"name":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","volume":"115 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Specification for reactive bulk-synchronous programming\",\"authors\":\"Yifeng Chen\",\"doi\":\"10.1109/EMPDP.2000.823411\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Extends bulk-synchronous programming (BSP) to incorporate reactive (i.e. non-terminating) programming. We propose a semantic model for BSP which allows a process to have infinitely many supersteps. The semantics reveals the essential difference between BSP and sequential specifications. Based on the model, a specification language, called the Super-Step Specification (SSS) language, is proposed to support modularised programming and to hide communication and synchronisation details in specifications. The notion of a public variable is proposed in order to substantially simplify reactive programming. The normal forms of BSP and SSS are identified, and complete sets of laws for the two languages are given. Finally, a few refinement laws are used to provide a BSP treatment of the dining philosophers problem, which illustrates the power of BSP reactive programming. Much of the formalism presented in this paper can also be applied to non-reactive programming.\",\"PeriodicalId\":128020,\"journal\":{\"name\":\"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing\",\"volume\":\"115 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-01-19\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/EMPDP.2000.823411\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EMPDP.2000.823411","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Specification for reactive bulk-synchronous programming
Extends bulk-synchronous programming (BSP) to incorporate reactive (i.e. non-terminating) programming. We propose a semantic model for BSP which allows a process to have infinitely many supersteps. The semantics reveals the essential difference between BSP and sequential specifications. Based on the model, a specification language, called the Super-Step Specification (SSS) language, is proposed to support modularised programming and to hide communication and synchronisation details in specifications. The notion of a public variable is proposed in order to substantially simplify reactive programming. The normal forms of BSP and SSS are identified, and complete sets of laws for the two languages are given. Finally, a few refinement laws are used to provide a BSP treatment of the dining philosophers problem, which illustrates the power of BSP reactive programming. Much of the formalism presented in this paper can also be applied to non-reactive programming.