Representation and Implementation of CSP and VCR Traces

Neil C. C. Brown, Marc L. Smith
{"title":"Representation and Implementation of CSP and VCR Traces","authors":"Neil C. C. Brown, Marc L. Smith","doi":"10.3233/978-1-58603-907-3-329","DOIUrl":null,"url":null,"abstract":"Communicating Sequential Processes (CSP) was developed around a for- mal algebra of processes and a semantics based on traces (and failures and diver- gences). A trace is a record of the events engaged in by a process. Several program- ming languages use, or have libraries to use, CSP mechanisms to manage their con- currency. Most of these lack the facility to record the trace of a program. A standard trace is a flat list of events but structured trace models are possible that can provide more information such as the independent or concurrent engagement of the process in some of its events. One such trace model is View-Centric Reasoning (VCR), which offers an additional model of tracing, taking into account the multiple, possibly imper- fect views of a concurrent computation. This paper also introduces \"structural\" traces, a new type of trace that reflects the nested parallelism in a CSP system. The paper describes the automated generation of these three trace types in the Communicating Haskell Processes (CHP) library, using techniques which could easily be applied in other libraries such as JCSP and C++CSP2. The ability to present such traces of a concurrent program assists in understanding the behaviour of real CHP programs and for debugging when the trace behaviours are wrong. These ideas and tools promote a deeper understanding of the association between practicalities of real systems soft- ware and the underlying CSP formalism.","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":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Communicating Process Architectures Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-58603-907-3-329","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

Abstract

Communicating Sequential Processes (CSP) was developed around a for- mal algebra of processes and a semantics based on traces (and failures and diver- gences). A trace is a record of the events engaged in by a process. Several program- ming languages use, or have libraries to use, CSP mechanisms to manage their con- currency. Most of these lack the facility to record the trace of a program. A standard trace is a flat list of events but structured trace models are possible that can provide more information such as the independent or concurrent engagement of the process in some of its events. One such trace model is View-Centric Reasoning (VCR), which offers an additional model of tracing, taking into account the multiple, possibly imper- fect views of a concurrent computation. This paper also introduces "structural" traces, a new type of trace that reflects the nested parallelism in a CSP system. The paper describes the automated generation of these three trace types in the Communicating Haskell Processes (CHP) library, using techniques which could easily be applied in other libraries such as JCSP and C++CSP2. The ability to present such traces of a concurrent program assists in understanding the behaviour of real CHP programs and for debugging when the trace behaviours are wrong. These ideas and tools promote a deeper understanding of the association between practicalities of real systems soft- ware and the underlying CSP formalism.
CSP和VCR轨迹的表示和实现
通信顺序进程(CSP)是围绕进程的正常代数和基于轨迹(以及故障和故障)的语义而发展起来的。跟踪是进程所参与的事件的记录。一些编程语言使用或有库可以使用CSP机制来管理它们的代币。其中大多数缺乏记录程序跟踪的功能。标准跟踪是事件的平面列表,但是结构化跟踪模型是可能的,它可以提供更多的信息,例如流程在其某些事件中的独立或并发参与。其中一种跟踪模型是以视图为中心的推理(VCR),它提供了一种额外的跟踪模型,考虑到并发计算的多个可能不理想的视图。本文还介绍了“结构”跟踪,这是一种反映CSP系统中嵌套并行性的新型跟踪。本文描述了在通信Haskell进程(CHP)库中自动生成这三种跟踪类型,使用的技术可以很容易地应用于其他库,如JCSP和c++ CSP2。显示并发程序的这种跟踪的能力有助于理解真正的CHP程序的行为,并有助于在跟踪行为错误时进行调试。这些思想和工具促进了对实际系统软件的实用性和潜在的CSP形式主义之间的联系的更深入的理解。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信