×

多线程软件中的并发错误:使用Petri网进行建模和分析。 (英语) Zbl 1268.93100号

摘要:本文应用离散事件系统技术对并发软件的执行进行建模和分析。感兴趣的问题是共享内存多线程程序中的死锁避免。我们使用Petri网对具有锁获取和释放操作的多线程程序进行系统建模。我们定义了一类新的Petri网,称为Gadara网,它来自于这个建模过程。我们研究了Gadara网的一组重要性质,如活性、可逆性和线性可分性。我们提出了验证Gadara网活性的有效算法,并报告了其性能的实验结果。我们还提供了真实世界程序的建模示例。本文的结果为开发有效的Gadara网控制综合算法奠定了基础。

MSC公司:

93元65角 离散事件控制/观测系统
93B40码 系统理论中的计算方法(MSC2010)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Allen LV(2010)制造系统基于事件的控制的验证和异常检测。密歇根大学博士论文
[2] Auer A,Dingel J,Rudie K(2009)使用离散事件系统为动态线程生成并发控制。In:程序。Allerton通信、控制和计算会议
[3] Boer ER,Murata T(1994)使用符号关联矩阵生成Petri网的基信标和陷阱。IEEE Trans Circuits Syst-I 41(4):266-271·doi:10.1109/81.285680
[4] Cano EE、Rovetto CA、Colom JM(2010)计算S4PR网络中最小信标的算法。In:程序。离散事件系统国际研讨会,第18-23页
[5] Cassandras CG,Lafortune S(2008)《离散事件系统导论》,第2版。波士顿斯普林格·兹比尔1165.93001 ·doi:10.1007/978-0-387-68612-7
[6] Chu F,Xie XL(1997)使用信标和数学编程进行Petri网死锁分析。IEEE Trans Robot Autom 13(6):793-804·数字对象标识代码:10.1109/70.650158
[7] Delaval G、Marchand H、Rutten E(2010)模块化离散控制器综合合同。In:程序。ACM嵌入式系统语言、编译器和工具会议·Zbl 1273.93111号
[8] Dijkstra,EW,《银行家算法背后的数学》,308-312(1982),纽约·doi:10.1007/978-1-4612-5695-3_54
[9] Dragert C,Dingel J,Rudie K(2008)使用离散事件系统理论生成并发控制代码。In:程序。ACM软件工程基础国际研讨会
[10] Engler D,Ashcraft K(2003)RacerX:有效、静态检测比赛条件和死锁。In:程序。第19届ACM操作系统原理研讨会·Zbl 1045.93034号
[11] Ezpeleta J,Colom JM,Martínez J(1995)基于Petri网的柔性制造系统死锁预防策略。IEEE Trans Robot Autom 11(2):173-184·doi:10.1109/70.370500
[12] Ezpeleta J,García-Vallés F,Colom JM(2002)具有灵活路由和多资源状态的FMS中死锁避免的银行家解决方案。IEEE Trans Robot Autom 18(4):621-625·doi:10.1109/TRA.2002.801048
[13] Flanagan C、Leino KRM、Lillibridge M、Nelson G、Saxe JB、Stata R(2002)《Java扩展静态检查》。In:程序。ACM SIGPLAN 2002编程语言设计与实现会议·Zbl 1368.68058号
[14] Gamatie A,Yu H,Delaval G,Rutten E(2009)数据密集型嵌入式系统控制器综合案例研究。In:程序。嵌入式软件和系统国际会议
[15] Giua A(1992)作为监督控制的离散事件模型的Petri网。伦斯勒理工学院博士论文·Zbl 0845.93034号
[16] 古罗比(2010)古罗比优化器。网址:http://www.gurobi.com/
[17] Hopcroft JE、Motwani R、Ullman JD(2006)《自动机理论、语言和计算导论》,第三版。艾迪森维斯理
[18] Iordache MV,Antsaklis PJ(2006),并发系统的监督控制:Petri网结构方法。波士顿Birkhäuser·Zbl 1129.93034号
[19] Iordache MV,Antsaklis PJ(2009),Petri网和编程:一项调查。In:程序。2009年美国控制会议,第4994-4999页
[20] Iordache MV,Antsaklis PJ(2010)基于监督控制的并发程序合成。In:程序。2010年美国控制会议,第3378-3383页
[21] Jeng M,Xie X(2001)使用Petri网和信标对具有退化行为的半导体制造系统进行建模和分析。IEEE Trans Robot Autom 17(5):576-588·doi:10.1109/70.964659
[22] Kavi KM,Moshtaghi A,Chen D(2002)使用Petri网建模多线程应用程序。国际J并行程序35(5):353-371·Zbl 1083.68578号 ·doi:10.1023/A:1019917329895
[23] Kelly T,Wang Y,Lafortune S,Mahlke S(2009)《利用控制工程消除并发错误》,IEEE Computer 42(12):52-60·doi:10.1109/MC.2009.391
[24] Li Z,Zhou M,Wu N(2008)基于Petri网的柔性制造系统死锁预防策略的调查与比较。IEEE Trans-Syst Man Cybern第C部分38(2):173-188·Zbl 1199.15081号 ·doi:10.1109/TSMCC.2007.913920
[25] Liao H,Lafortune S,Reveliotis S,Wang Y,Mahlke S(2010)Gadara Petri网最大允许生存性强制控制策略的综合。In:程序。第49届IEEE决策与控制会议·Zbl 1083.68578号
[26] Liao H,Stanley J,Wang Y,Lafortune S,Reveliotis S,Mahlke S(2011)多线程软件的死锁避免控制:Gadara Petri网的一种高效的基于信标的算法。In:程序。第50届IEEE决策与控制会议
[27] Liu C,Kondratyev A,Watanabe Y,Desel J,Sangiovanni-Vincentelli A(2006)基于结构属性的Petri网可调度性分析。In:程序。并发应用于系统设计国际会议·Zbl 1167.68401号
[28] Murata T(1989)Petri网:特性、分析和应用。程序IEEE 77(4):541-580·数字对象标识代码:10.1109/5.24143
[29] Murata T,Shenker B,Shatz SM(1989)使用Petri网不变量检测Ada静态死锁。IEEE Trans Softw工程15(3):314-326·doi:10.1109/32.21759
[30] Musuvathi M、Qadeer S、Ball T、Basler G、Nainar PA、Neamtiu I(2008)《在并发程序中发现和繁殖海森氏菌》。In:程序。第八届USENIX操作系统设计与实现研讨会
[31] Nazeem A,Reveliotis S,Wang Y,Lafortune S(2010),通过分类理论实现复杂资源分配系统的最佳死锁避免。In:程序。第十届离散事件系统国际研讨会·Zbl 1368.68058号
[32] Nazeem A,Reveliotis S,Wang Y,Lafortune S(2011)通过分类理论为复杂资源分配系统设计紧凑且最大允许的死锁避免策略:线性案例。IEEE Trans Autom Control 56(8):1818-1833·Zbl 1368.68058号 ·doi:10.1109/TAC.2010.2095612
[33] Nir-Buchbinder Y,Tzoref R,Ur S(2008)《僵局:从展示到治愈》。In:程序。运行时验证研讨会
[34] Novark G、Berger ED、Zorn BG(2007)《灭菌器:高概率自动更正内存错误》。In:程序。程序设计语言的设计与实现
[35] Novark G、Berger ED、Zorn BG(2008)《灭菌器:高概率自动更正内存错误》。通信ACM 51(12):87-95·数字对象标识代码:10.1145/1409360.1409382
[36] Park J,Reveliotis SA(2001),具有多重资源获取和灵活路由的顺序资源分配系统中的死锁避免。IEEE Trans Autom Control 46(10):1572-1583·Zbl 1045.93034号 ·doi:10.1109/9.956052
[37] Park J,Reveliotis SA(2002年),对具有不可控行为和禁止状态的资源分配系统的生活强制监管。IEEE Trans Robot Autom 18(2):234-240·doi:10.1109/TRA.2002.999651
[38] Park S,Lu S,Zhou Y(2009)《Ctrigger:从隐藏位置暴露原子性违规漏洞》。In:程序。第14届程序设计语言和操作系统体系结构支持国际会议
[39] Phoha VV、Nadgar AU、Ray A、Phoha S(2004)《软件系统的监督控制》。IEEE Trans计算53(9):1187-1199·Zbl 1081.03035号 ·doi:10.1109/TC.2004.67
[40] Qin F,Tucek J,Sundaresan J,Zhou Y(2005)Rx:将错误视为过敏——一种安全的软件故障生存方法。In:程序。第20届ACM操作系统原理研讨会,第235-248页
[41] Reisig W(1985)Petri网:简介。纽约州施普林格·Zbl 0555.68033号
[42] Reveliotis SA(2005)《资源分配系统的实时管理:离散事件系统方法》。纽约州施普林格·Zbl 1069.93002号
[43] Sutter H,Larus J(2005)《软件与并发革命》。ACM队列3(7):54-62·doi:10.1145/1095408.1095421
[44] Wallace C、Jensen P、Soparkar N(1996)《工作流调度的监督控制》。In:程序。高级事务模型和架构国际研讨会
[45] Wang Y(2009)使用离散控制理论避免软件故障。密歇根大学博士论文
[46] Wang Y,Kelly T,Kudlur M,Lafortune S,Mahlke SA(2008)Gadara:多线程程序的动态死锁避免。In:程序。第八届USENIX操作系统设计与实现研讨会,第281-294页
[47] Wang Y,Lafortune S,Kelly T,Kudlur M,Mahlke S(2009a)通过离散控制避免死锁的理论。In:程序。第36届ACM SIGPLAN-SIGACT编程语言原理研讨会,第252-263页·Zbl 1315.68073号
[48] Wang Y,Liao H,Reveliotis S,Kelly T,Mahlke S,Lafortune S(2009b)Gadara nets:多线程软件中避免死锁的锁分配建模与分析。In:程序。第48届IEEE决策与控制会议,第4971-4976页
[49] Wang Y、Cho HK、Liao H、Nazeem A、Kelly TP、Lafortune S、Mahlke S、Reveliotis S(2010)《软件执行的监督控制以避免失败:Gadara项目的经验》。In:程序。离散事件系统国际讲习班
[50] Yamalidou K,Moody J,Lemmon M,Antsaklis P(1996)基于位置不变量的Petri网反馈控制。Automatica 32(1):15-28·Zbl 0845.93034号 ·doi:10.1016/0005-1098(95)00103-4
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。