进程重写系统的受限可达性分析
1. PRS的基本概念与规范化
在进程重写系统(PRS)的研究中,通常假设所处理的PRS处于规范形式,即Sub(R)仅包含0、X、X∥Y或X · Y形式的元素。任何PRS都可以通过引入一些辅助变量,由这种规范形式的PRS进行模拟。例如,规则 X a→Y ||(Z||W) 可替换为 X ϵ→Y ||X′ 和 X′ a→Z||W。
2. PRS对多线程程序的建模
PRS涵盖了程序建模中一些知名的(无限状态)模型类,如前缀重写系统、BPA进程、多集重写系统、BPP、PA和PAD进程等。PRS能够对具有递归的并行程序进行如下建模:
- 进程变量抽象 :将程序的每个点抽象为一个进程变量,进程项t描述程序的控制结构。
- 顺序与并行执行 :进程t1 · t2先表现得像t1,直到t1终止,然后表现得像t2;进程t1和t2的并行执行用t1||t2表示。
- 动作与规则 :集合Act包含不同进程可能执行的动作。规则t1 a→t2表示进程t1可以执行动作“a”,之后表现得像t2;规则t1||t2 a→t表示线程对(t1和t2)同步后变成进程t;规则t a→t1||t2表示创建两个并行运行的进程t1和t2;规则t a→t1 · t2表示进程t调用过程t1并变成进程t2,当t1终止时t再次激活。
下面通过一个简单的多线程程序示例展示其对应的PRS系统。以下是一个典型的并发服务器的JAVA代码,它会为每个新的客户端请求启动一个新线程,启动的线程数量是无界的:
超级会员免费看
订阅专栏 解锁全文
764

被折叠的 条评论
为什么被折叠?



