首页 . 理学 . 计算机科学技术 . 计算机科学理论 . 离散数学 . 代数学

进程代数

/process algebra/
最后更新 2024-12-03
浏览 122
最后更新 2024-12-03
浏览 122
0 意见反馈 条目引用

一类用于描述通讯并发系统的代数理论的统称。

英文名称
process algebra
所属学科
计算机科学技术

借助进程代数,能够在较高的抽象层次描述多个并发进程之间的通信和同步。除了与系统并发相关的语法机制之外,进程代数还包含若干代数规则,用来构建进程、刻画性质。基于进程代数的描述,人们可以对进程间的等价性(主要体现为互模拟)进行形式推理。进程代数主要包括:由英国计算机科学家T.霍尔(Tony Hoare,1934~ )在20世纪70年代末提出的通信顺序进程(communicating sequential processes; CSP);由英国计算机科学家(Robin Milner,1934~2010)在1980年提出的通信系统演算(calculus of communicating systems; CCS);由荷兰计算机科学家J.贝格斯特拉(Jan Bergstra,1951~ )和J.W.克洛普(Jan Willem Klop)在20世纪80年代早期发展出的通信过程代数(Algebra of Communicating Processes with Abstraction; ACP);基于1989年某国际标准化组织(International Organization for Standardization; ISO)标准制定的时态次序语言(language of temporal ordering specification; LOTOS);以及π-演算、Ambient演算等。虽然进程代数拥有非常多的变体,如纳入随机、实时行为,以及包含分子相互作用的专业化的变体,但它们都有下列共同特征:①将独立进程之间的交互处理成通信(消息传递)而不是对共享变量的修改。②使用一小部分基元描述进程和系统,并使用运算符来组合这些基元。③为进程操作符定义代数规则,允许使用等式推理来操作进程表达式。

进程代数中的运算符和基元的数量通常相当少。例如,CCS的语法中仅包含七个基元和运算符。但这些元素已经足以对并发通信系统进行建模、推理。此外,简洁的语法定义非常有利于推理及验证的实施。

要定义进程代数,通常需要给出一组通道名,它代表进程间通信用到的端口集合。虽然在实际的实现中,通道往往具有复杂的内部结构,但这种结构在多数形式模型中会被抽象掉。除通道名外,还需要一组以算子构造进程的机制,具体包括:基本动作。包括内部动作,消息的输入及消息的输出。进程的并发组合。用来建模两个或多个进程同时并且彼此独立地执行。进程的顺序操作。用来确定进程之间的先后关系。通道的隐藏。用于在指定进程之间建立私有通道,以便其他进程不能通过隐藏通道进行交互。递归或进程复制。仅使用前面列出的运算符,只能描述执行有限数量和有限长度的交互的进程。通过递归及复制,可以建模无限并发执行某特定交互,以及建模无限循环的进程。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!