{"title":"Graphical notation and tool to design JCSP programs","authors":"Moncef Trima, T. Benouhiba","doi":"10.1109/ISPS.2018.8379013","DOIUrl":null,"url":null,"abstract":"Java for CSP (JCSP) is a library based on Communicating Sequential Processes (CSP) which is a formalism used for describing and formally verifying concurrent systems at a high level of abstraction. JCSP does not require advanced mathematical skills. However, the design, verification and test of JCSP systems can be hindered when done at the source code level. In this paper, we suggest an intermediate level of abstraction between CSP and JCSP in the form of a graphical notation close to JCSP components. This enables reasoning about the behavior of the developed system by using a familiar, abstract and yet executable notation. Hence, CSP models can still be abstracted when a formal verification is required, and the translation to JCSP code is simplified. A prototype tool supporting the notation is presented together with a design example. The tool enables the reuse of designed models as new building blocks, which may accelerate the design process.","PeriodicalId":294761,"journal":{"name":"2018 International Symposium on Programming and Systems (ISPS)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 International Symposium on Programming and Systems (ISPS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPS.2018.8379013","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Java for CSP (JCSP) is a library based on Communicating Sequential Processes (CSP) which is a formalism used for describing and formally verifying concurrent systems at a high level of abstraction. JCSP does not require advanced mathematical skills. However, the design, verification and test of JCSP systems can be hindered when done at the source code level. In this paper, we suggest an intermediate level of abstraction between CSP and JCSP in the form of a graphical notation close to JCSP components. This enables reasoning about the behavior of the developed system by using a familiar, abstract and yet executable notation. Hence, CSP models can still be abstracted when a formal verification is required, and the translation to JCSP code is simplified. A prototype tool supporting the notation is presented together with a design example. The tool enables the reuse of designed models as new building blocks, which may accelerate the design process.
Java for CSP (JCSP)是一个基于通信顺序进程(CSP)的库,CSP是一种用于在高层次抽象上描述和形式化验证并发系统的形式化体系。JCSP不需要高级数学技能。然而,当在源代码级别完成时,JCSP系统的设计、验证和测试可能会受到阻碍。在本文中,我们建议在CSP和JCSP之间采用一种接近JCSP组件的图形符号形式的中间抽象层。这使得通过使用熟悉的、抽象的、可执行的符号来推理所开发系统的行为成为可能。因此,当需要正式验证时,仍然可以抽象CSP模型,并且简化了对JCSP代码的转换。给出了一个支持该符号的原型工具和一个设计实例。该工具支持将设计好的模型作为新的构建块进行重用,这可能会加速设计过程。