跳到主要内容
研究论文
开放式访问

并发与验证的共生:教学与案例研究

出版:2018年3月1日出版历史
跳过抽象节

摘要

摘要

并行性开始被接受为本科CS课程的核心知识领域,不再是孤立的,例如,作为操作系统模块中的支持机制,或保留为先进的以后学习的纪律。系统属性的正式验证通常被视为困难的主题领域,需要大量数学知识,通常仅限于使用顺序逻辑的较小系统。本文介绍了在课程中尽早将并发和验证作为一个统一的主题进行教学的材料、方法和经验,以便它们成为基本的当然,我们的软件工程工具包的元素每天都要一起使用。并发和验证应该共存。验证对于并发系统至关重要,因为面对复杂的非确定性(因此难以重复)行为,测试变得特别不足。并发应该简化通过反映计算机系统在其中运行(因此必须建模)的世界的并发性来表达计算机系统的大多数规模和形式;简化的表达式可以简化推理,从而实现验证。我们的方法可以在不要求学生接受基础形式数学培训的情况下发展这些技能。相反,我们建立在那些将必要的数学构建到我们使用的并发模型(CSP,π-微积分)、允许我们探索和验证这些系统的模型检查器(FDR),以及编程语言/库(occam-π、Go、JCSP、ProcessJ),让我们能够在这些模型中设计和构建高效的可执行系统。本文介绍了一种用于并发系统开发和验证的工作流方法;它还介绍并反思了作者所在的两所大学使用此工作流开发的两个开放式案例研究。分析的问题包括安全(不要做坏事)、活力(做好事)和低概率死锁(测试无法发现)给出了必要的技术背景,以使本文内容完备,且其工作易于复制和扩展。

工具书类

  1. ACM12型ACM/IEE-CS计算机课程联合工作组。2013年计算机科学课程,铁人草案(0.8版),2012年11月。http://ai.stanford.edu/users/sahami/CS2013/。2013年8月1日访问谷歌学者谷歌学者
  2. BA10公司Ben-Ari M公司模型检查入门ACM Inroads公司201011404710.1145/1721933.1721950谷歌学者谷歌学者数字图书馆数字图书馆
  3. 95巴Barrett G(1995)《模型检验实践:T9000虚拟通道处理器》。IEEE Trans Softw Eng 21(2):69–78。内政部:https://doi.org/10.109/32.3458232017年12月11日访问谷歌学者谷歌学者
  4. 巴尔05Barnes FRM(2005)RMoX:偶然-π操作系统,2005年1月。http://www.frmb.org/rmox.html2017年12月1日访问谷歌学者谷歌学者
  5. 巴尔06Barnes Frederick RM(2006)编译CSP。收录于:韦尔奇PH、克里奇J、巴恩斯FRM(eds)《通信过程体系结构2006》,第64卷,并行系统工程系列的WoTUG-29。阿姆斯特丹IOS出版社,第377-388页。国际标准图书编号:1-58603-671-8谷歌学者谷歌学者
  6. BKPS97型Buth B,Kouvaras M,Peleska J,Shi H(1997)容错系统的死锁分析。摘自:第六届代数方法与软件技术国际会议论文集(AMAST97),第60-75页谷歌学者谷歌学者
  7. 桶数99Buth B,Peleska J,Shi H(1999)容错系统活锁分析的组合方法。摘自:第七届代数方法与软件技术国际会议论文集(AMAST98),第124–139页谷歌学者谷歌学者
  8. 巴西10巴恩斯FRMRitson CG公司使用csp和精化检查面向进程的操作系统行为ACM SIGOPS操作系统版本2010434454910.1145/1713254.1713265谷歌学者谷歌学者数字图书馆数字图书馆
  9. 兄弟08Brown Neil CC(2008)《通信Haskell进程:使用单体的可组合显式并发》。收录人:Welch PH,Stepney S,Polack FAC,Barnes FRM,McEwan AA,Stiles GS,Broenink JF,Sampson AT(eds)Communicating process architectures 2008,vol 66 of Concurrent systems engineering。WoTUG,IOS Press,Amsterdam,第67–83页。谷歌学者谷歌学者
  10. 布罗10aBrown NCC(2010)C++CSP主页。肯特大学编程语言和系统研究小组。http://www.cs.kent.ac.uk/projects/ofa/c++csp公司/2017年12月11日访问谷歌学者谷歌学者
  11. 布罗10bBrown NCC(2010)《沟通哈斯克尔过程》主页。肯特大学编程语言和系统研究小组。http://www.cs.kent.ac.uk/projects/ofa/chp/2017年12月11日访问谷歌学者谷歌学者
  12. BW03型Brown NCC,Welch PH(2003)《Kent C++CSP库简介》。收录:Broenik JF、Hilderink GH(编辑)《通信过程架构2003》,WoTUG-26,并发系统工程,ISSN 1383-7575。阿姆斯特丹IOS出版社,第139-156页。国际标准图书编号:1-58603-381-6谷歌学者谷歌学者
  13. BW04型Barnes FRM,Welch PH(2004)《通信移动流程》。在:East I、Martin J、Welch PH、Duce D、Green M(eds)Communicating process architectures 2004,第62卷,并发系统工程系列的WoTUG-27,ISSN 1383-7575。阿姆斯特丹IOS出版社,第201-218页。国际标准图书编号:1-58603-458-8谷歌学者谷歌学者
  14. BWMW10型Barnes FRM、Welch PH、Moores J、Wood DC(2010)KRoC主页。肯特大学编程语言和系统研究小组。http://www.cs.kent.ac.uk/projects/ofa/kroc/2017年12月11日访问谷歌学者谷歌学者
  15. Cha16页Chalmers K(2016)根据并行设计模式和框架沟通过程架构。内容:2015年沟通流程架构。Open Channel Publishing Ltd.,第227-244页。国际标准图书编号:978-0-9565409-9-7谷歌学者谷歌学者
  16. 顿94东加拉JMPI:一种消息传递接口标准国际J超级计算机高性能计算19948165184谷歌学者谷歌学者
  17. DT13型Danalpto M,Torquati M(2013)结构化并行编程的RISC构建块集。摘自:2013年2月27日至3月1日在英国贝尔法斯特举行的第21届并行、分布式和基于网络的处理欧洲微观国际会议,PDP 2013,第46-50页谷歌学者谷歌学者
  18. 14级Gibson-Robinson T、Armstrong P、Boulgakov A、Roscoe AW(2014)FDR3-CSP的现代精炼检查器。在:2014年系统构建和分析的工具和算法,第LNCS 8413卷。柏林施普林格谷歌学者谷歌学者
  19. GRABR16级Gibson Robinson T,Armstrong P,Boulgakov A,Roscoe AW(2016)故障分歧细化(FDR)版本4谷歌学者谷歌学者
  20. GRS93级Goldsmith MH、Roscoe AW、Scott BGO(1993)《occam2的指称语义》(第1部分)。交通通信1(2):65–91。纽约威利。谷歌学者谷歌学者
  21. GRS94级Goldsmith MH、Roscoe AW、Scott BGO(1994)《occam2的指称语义》(第2部分)。交通通信2(1):25–67。纽约威利。谷歌学者谷歌学者
  22. HC02型Hall A,Chapman R(2002)《建筑的正确性:开发商业安全系统》。IEEE软件19(1):18–25。内政部:https://doi.org/10.109/52.976937。2017年12月11日访问谷歌学者谷歌学者
  23. Hoa85型Hoare CAR(1985)通信顺序过程。普伦蒂斯·霍尔,恩格尔伍德悬崖谷歌学者谷歌学者
  24. 第3期Holzmann G(2003)《自旋模型检查器:入门和参考手册》。Addison-Wesley专业阅读谷歌学者谷歌学者
  25. 接线盒V03Jacobsen CL、Barnes FRM、Vinter B(2003)《RMoX:原始金属偶然实验》。收录:Broenik JF、Hilderink GH(编辑)《沟通过程体系结构》,2003年。阿姆斯特丹IOS出版社,第269-288页谷歌学者谷歌学者
  26. JJ04型Jacobsen CL,Jadud MC(2004)transterpreter:一个transterpreter口译员。In:East IR、Duce D、Green M、Martin JMR、Welch PH(eds)Communicating process architectures 2004,第62卷,并行系统工程系列的WoTUG-27。阿姆斯特丹IOS出版社,第99–106页谷歌学者谷歌学者
  27. 低96Lowe Gavin(1996)使用FDR打破和修复Needham-Schoreder公钥协议。收录于:《系统构建和分析的工具和算法》,第147-166页。Springer-Verlag公司谷歌学者谷歌学者
  28. 99百万Milner R(1999)《通信和移动系统:π-微积分。剑桥大学出版社,剑桥,ISBN-10:0521658691,ISBN-13:9780521658690谷歌学者谷歌学者
  29. 07年3月McEwan AA,Schneider S(2007)使用CSP和B对AMBA总线进行建模和分析。In:McEwan-AA(ed)Schneider-S,Ifill W,Welch PH(eds)Communicating process architectures 2007,vol 65 WoTUG-30 of Concurrent systems engineering series。WoTUG,阿姆斯特丹IOS出版社,第379–398页谷歌学者谷歌学者
  30. PW15型Pedersen JB,Welch PH(2017)并发与形式验证的共生:教学与案例研究。在线支持材料。http://www.santaclausproblem.net/verification网站/2017年12月1日访问谷歌学者谷歌学者
  31. RGG+95型Roscoe AW、Gardiner PHB、Goldsmith MH、Hulance JR、Jackson DM、Scattergood JB(1995)模型检查CSP的分层压缩或如何检查102^0让哲学家陷入僵局。在:系统构建和分析的工具和算法,第LNCS 1019卷。柏林施普林格谷歌学者谷歌学者
  32. RL10型Rustan K,Leino M(2010)Dafny:功能正确性的自动程序验证器。在:第16届编程人工智能和推理逻辑国际会议,第LNCS 6355卷。柏林施普林格,第348-370页谷歌学者谷歌学者
  33. 罗布12Pike R(2012)Go并发模式,幻灯片5-8。http://talks.golang.org/2012/concurrency.slide2017年12月1日访问谷歌学者谷歌学者
  34. 97俄罗斯Roscoe A(1997)并发的理论与实践。普伦蒂斯·霍尔,恩格尔伍德悬崖谷歌学者谷歌学者
  35. 俄罗斯10罗斯科AW了解并发系统2010柏林施普林格10.1007/978-1-84882-258-01211.68205谷歌学者谷歌学者交叉引用交叉引用
  36. 皇家B12Ritson CG公司桑普森AT巴恩斯FRM轻量级通信进程的多核调度科学计算程序20127767277402016年10月10日/j.scico.2011.04.006谷歌学者谷歌学者数字图书馆数字图书馆
  37. RW07系列Ritson CG,Welch PH(2007)复杂系统建模的面向过程的体系结构。收录于:McEwan AA、Schneider S、Ifill W、Welch PH(eds)Communicating process architectures 2007,第65卷,并行系统工程系列的WoTUG-30。阿姆斯特丹IOS出版社,第249-266页。国际标准图书编号:978-1-58603-767-3谷歌学者谷歌学者
  38. RW10型Ritson CG公司韦尔奇PH面向过程的复杂系统建模体系结构协和计算实践经验20102296598010.1002/cpe.1433谷歌学者谷歌学者交叉引用交叉引用
  39. 2007年3月Sampson AT(2007)使用Tock-CPA 2007边缘将occam编译为C。肯特大学系统研究小组。http://www.wotug.org/paperdb/send_file.php?num=2172017年12月11日访问谷歌学者谷歌学者
  40. 2008年3月Sampson AT(2008)用于occam的双向协议-π收录:韦尔奇PH、斯蒂芬尼S、波拉克FAC、巴恩斯FRM、麦克尤恩AA、斯蒂尔斯GS、布伦尼克JF、桑普森AT(eds)《通信过程体系结构2008》,第66卷,并行系统工程系列的沃图-31。阿姆斯特丹IOS出版社,第85–97页谷歌学者谷歌学者
  41. 萨姆10Sampson Adam T(2010)《面向过程的并行软件工程模式》,肯特大学博士论文,2010年10月。http://offog.org/publications/ats-thesis.pdf。2017年12月11日访问谷歌学者谷歌学者
  42. 丁苯橡胶+10Sampson AT、Brown NCC、Ritson CG、Jacobsen CL、Jadud MC、Simpson J(2010)Tock(Kent从occam翻译为C)主页。肯特大学系统研究小组,http://projects.cs.kent.ac.uk/projects/tock/trac/2017年12月11日访问谷歌学者谷歌学者
  43. SD04标准Schneider Steve,Delicata Rob(2004)《验证安全协议:CSP的应用》。摘自:Abdallah Ali E、Jones Cliff B、Sanders Jeff W(编辑)《传达顺序过程》。前25年,LNCS 3525卷,第243-263页。施普林格,柏林谷歌学者谷歌学者
  44. 95新加坡元SGS-THOMSON Microelectronics Limited(1995)occam 2.1参考手册。普伦蒂斯·霍尔,恩格尔伍德悬崖谷歌学者谷歌学者
  45. SRJ+10Sampson AT、Ritson CG、Jadud MC、Barnes FRM、Welch PH(2010年)occam-π主页。肯特大学编程语言和系统研究小组。http://occam-pi.org/2017年12月11日访问谷歌学者谷歌学者
  46. 步骤03Stepney S(2003)CSP/FDR2到Handel-C的翻译。约克大学计算机科学系YCS-2002-357技术报告谷歌学者谷歌学者
  47. SWT+07号机组Stepney S.、Welch PH、Timmis J、Alexander C、Barnes FRM、Bates M、Polack FAC、Tyrrell A(2007)《CoSMoS:复杂系统建模与仿真基础设施》,2007年4月。EPSRC授予EP/E053505/1和EP/E049419/1。http://www.cosmos-research.org/2017年12月11日访问谷歌学者谷歌学者
  48. WB05a号机组Welch Peter H,Barnes Frederick RM(2005)《通信移动过程:引入occam》-π收录:Abdallah Ali E、Jones Cliff B、Sanders Jeff W(编辑)《计算机科学讲义》第3525卷,第175-210页。柏林施普林格谷歌学者谷歌学者
  49. WB05b号Welch Peter H,Barnes Frederick RM(2005)《occam的移动障碍》-π:语义、实现和应用。收录于:Broenink Jan F、Roebbers Herman W、Sunter Johan PE、Welch Peter H Wood David C(编辑)《通信过程架构2005》,第63卷,并行系统工程系列的WoTUG-28,第289-316页。IOS出版社,阿姆斯特丹ISBN:1-58603-561-4谷歌学者谷歌学者
  50. WB08系列Welch Peter H,Barnes Frederick RM(2008)移动频道的CSP模型。参见:《通信过程体系结构2008》,第66卷,并行系统工程系列的WoTUG-31,第17-33页。阿姆斯特丹IOS出版社。国际标准图书编号:978-1-58603-907-3谷歌学者谷歌学者
  51. WB11a公司Welch P H,Brown N C C(2011),《JCSP(Java CSP)主页》,2011年。http://www.cs.kent.ac.uk/projects/ofa/jcsp/2017年12月11日访问谷歌学者谷歌学者
  52. WB11b公司Welch Peter H,Brown Neil CC(2011)《自我验证餐饮哲学家》。2011年9月,向国际知识产权联合会第2.4工作组介绍。https://www.cs.kent.ac.uk/research/groups/plas/wiki/IFIP_WG242017年12月11日访问谷歌学者谷歌学者
  53. WBM+07Welch PH、Brown NCC、Moores J、Chalmers K、Sputh BHC(2007)《整合和扩展JCSP》。收录于:McEwan Alistair A、Schneider S、Ifill W、Welch P(eds)Communicating process architecture 2007,并发系统工程系列第65卷,第349-370页。阿姆斯特丹IOS出版社。国际标准图书编号:978-1-58603-767-3谷歌学者谷歌学者
  54. WBM+10韦尔奇PH棕色NCC摩尔J查尔默斯K溅射BHC交替障碍:使用CSP在Java中与选择同步协和计算实践经验2010221049106210.1002/cpe.1471谷歌学者谷歌学者交叉引用交叉引用
  55. Wel00公司Welch-Peter H(2000)面向过程的Java并发设计。收录于:PDPTA 2000,第1卷,第51–57页。CSREA出版社。国际标准图书编号:1-892512-52-1谷歌学者谷歌学者
  56. Wel13a公司Welch Peter H(2013)《偶然事件的生活》。在:Welch Peter H、Barnes Frederick RM、Broenink Jan F、Chalmers K、Pedersen Jan B、Sampson Adam T(编辑)《通信过程架构2013》,第293–318页。Open Channel Publishing Ltd.ISBN:978-0-9565409-7-3。http://www.wotug.org/papers/CPA-2013/Welch13a/Welch13 a.pdf2017年12月11日访问谷歌学者谷歌学者
  57. Wel13b公司Welch PH(2013)《并行设计与实践》,课程模块。http://www.cs.kent.ac.uk/projects/ofa/sei-cmu/2017年12月11日访问谷歌学者谷歌学者
  58. Wik13号机组维基百科(2013)XMOS XCore XS1。http://en.wikipedia.org/wiki/XCore2017年12月11日访问谷歌学者谷歌学者
  59. 工作包10韦尔奇PH佩德森JB圣诞老人:面向过程解决方案的形式化分析ACM事务处理。程序。语言系统。20103243710.1145/1734206.1734211谷歌学者谷歌学者数字图书馆数字图书馆
  60. WPB+11号机组Welch Peter H、Pedersen Jan Baekgaard、Barnes Frederick R M、Ritson Carl G、Brown Neil CC(2011)《向occam添加正式验证》-π摘自:《通信过程体系结构》2011年第68卷,并行系统工程系列的WoTUG-33,第379-379页。阿姆斯特丹IOS出版社。国际标准图书编号:978-1-60750-773-4谷歌学者谷歌学者
  61. WPBR11项目Welch Peter H、Pedersen Jan B、Barnes Frederick RM、Ritson Carl G(2011)《自验证并发编程》。2011年9月,向国际知识产权联合会第2.4工作组介绍。https://www.cs.kent.ac.uk/research/groups/plus/wiki/IFIP_WG24网站2017年12月11日访问谷歌学者谷歌学者
  62. 96年世界大战Wood David C,Welch Peter H(1996)kent可重定向occam编译器。收录:O'Neill B(ed)并行处理开发,第47卷,并行系统工程系列的WoTUG-19,第143-166页,阿姆斯特丹IOS出版社。国际标准图书编号:90-5199-261-0谷歌学者谷歌学者
  63. WWSK12系列韦尔奇PH瓦尔瑙K桑普森AT克莱因·M大胆行动:occam-pi工程应急任务自然计算20121144947429720922007年10月10日/11047-012-9304-2谷歌学者谷歌学者数字图书馆数字图书馆
  64. XMO13公司XMOS Ltd.(2017)《xCORE差异》。XMOS有限公司。http://www.xmos.com/products/silion2017年12月1日访问谷歌学者谷歌学者

索引术语

  1. 并发与验证的共生:教学与案例研究
          索引项已通过自动分类分配给内容。

          建议

          评论

          登录选项

          检查您是否可以通过登录凭据或您的机构访问本文。

          登录

          完全访问权限

          • 发布于

            封面图像计算的形式方面
            计算的形式方面 第30卷第2期
            2018年3月
            136页
            国际标准编号:0934-5043
            EISSN公司:1433-299X年
            期刊目录

            ©作者2017

            出版商

            Springer-Verlag公司

            柏林,海德堡

            出版历史

            • 出版:2018年3月1日
            • 认可的:2017年10月24日
            • 收到:2016年5月27日
            发布于fac公司第30卷第2期

            限定符

            • 研究论文

          PDF格式

          以PDF文件查看或下载。

          PDF格式

          电子阅读器

          使用eReader联机查看。

          电子阅读器