并发系统的动作细化理论

并发系统的动作细化理论

论文摘要

自顶向下逐步细化的层次化设计方法,是人们广泛接受的设计计算机硬件系统和软件系统的最主要方法之一,动作细化是系统层次化刻画方法的核心操作。具体应用到软件的模块设计中,有时需要比较系统在不同抽象层次上的描述,检验它们能否实现相应的功能,伴随系统描述抽象层次的改变,相应的原子级动作集也在改变。当系统不同抽象层次的动作集确定以后,另一种垂直模块化的方法就应运而生了,它不同于前面水平模块化的方法,垂直模块化的方法是先将复杂的系统描述成简单的、抽象的形式,然后一步一步细化成实际的、复杂的执行过程;这种描述,连同建立在描述之上的分析,可以一层一层的进行,这样每次只是专注于从上一个层次到这一个层次的相关细节。这个著名的方法就是通常被称为分层描述的方法。这种方法在顺序系统中的运用很成功,产生了“自上而下”的系统设计方法,“自上而下”的设计方法将宏观的功能模块一层一层的细化,直到最底级的执行代码,我们要探讨的动作细化,就是运用数学的方法来描述这一问题,为各种动作细化建立模型,探讨动作细化的操作语义和指称语义。本文系统阐述了动作细化理论的各个分支,具体包括:原子动作细化与非原子动作细化。原子动作细化是指:在动作细化以前,动作在相应的描述层次上是原子级的,原子动作经过细化变成一个进程后,原来动作执行的原子性继续保留。非原子细化,是一种更加自由的、松散的动作细化,这种观点的依据是动作的原子性只对于特定的描述层次,对于其他抽象描述层次上,动作间执行的关系根据特定的抽象层次,会发生相应的改变,即在某一个特定的描述层次上,所有的动作都是原子级的,细化到更具体的层次上,原来原子级的动作将可能细化成其他的非原子级的执行关系,这种动作细化后优化了进程的执行,但是对原来进程间的执行关系会造成某种程度上会破坏。不论是原子动作细化,还是非原子动作细化,在本质上都有两种解释方法:语法上的和语义上的。解释表现在语法上,主要是动作细化对于过程调用的拷贝式处理,比如顺序程序设计中嵌入主程序的动作调用。在语义的解释中,用来解释进程语句的的替换操作都定义在一个语义域中。t[a→u]的语义可以用这种操作来定义。例如,有时我们将语义的域构建在事件结构(Event Structure)上,而事件结构ε=[u]代表u的语义,可以被事件结构[t]中每个标签为a的事件d所替换。在事件结构域中动作细化的语义是保持的:包括进程间的冲突关系、顺序执行关系等等。当我们把动作细化当成对于语言的一个操作算子时,很自然的出现一个关键性问题:如何找到这个操作算子基于全等的等价关系。经典的进程代数提供了互模拟等价关系,这种等价关系就是基于交织语义的,交织语义在解释非并发进程间的等价关系是很有说服力的,但是复杂系统中包含大量的并发进程,交织语义对于并发进程间的等价关系的描述是不完全的,有些片面。本文对于等价关系的探讨,主要集中在真并发语义上。另一种以更加弱化的方法来处理动作细化问题的方法:就是不要将操作细化作为一个算子来对待,而是将动作细化看作是一种执行关系。在很长的一段时间内,人们将动作细化理论建立在这样一种认识上:就是当进程I相对于进程S更加便于直接执行,特别是针对选择算子时有更加明确的语义的时候,我们就将进程I当作是另一个进程S的一个执行。在探讨了经典动作细化的各种理论分支以后,很多研究人员意识到经典的动作细化缺乏数量上的约束,鉴于此,本文对动作细化理论中的原子动作细化理论进行了实时、随机和概率三个方面的扩展。对动作细化理论扩充的数量约束,每一种都有特定的现实背景和应用。实时的模型中,对进程执行的时间控制添加了超时算子,即一个进程如果在允许的时间内没有完成相应的动作,那么就会激活一个超时操作,原动作被禁止执行,系统开始执行一个新的动作(进程)。对于随机模型,我们将马尔可夫链引入进程代数中,这个模型的引入对于评价系统的性能带来和很大的方便,这种模型将概率和时间两个因素同时引入了动作细化理论,动作的执行有了自己的概率和执行时间,更加贴近于现实中的情况。概率事件在现实的生产生活中普遍存在和发生,因此,我们将概率模型也引入了动作细化理论。针对上面提到的每一种数量约束,我们首先给出相应的系统描述语言,其次给出语言上的操作语义,然后根据数量约束的需要,我们对事件结构扩充了实时、随机和概率三个数量约束,针对添加了数量约束的事件结构,我们给出了相应的指称语义,针对上面提到的数量约束,我们都证明了动作细化在语义上和语法上是重合的,对于历史保留互模拟和偏序多集迹两种等价关系都是保持的。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 第一章 引言
  • 1.1 什么是动作细化?
  • 1.2 细化操作与分层描述
  • 1.3 原子细化与非原子细化
  • 1.4 语法细化与语义细化
  • 1.5 交织与真并发
  • 1.6 严格细化与松散细化
  • 1.7 垂直执行
  • 1.8 本书的结构
  • 1.9 动作细化的未来
  • 第二章 顺序系统
  • 2.1 语言
  • 2.2 操作语义
  • 2.2.1 看守性(Guardedness)
  • 2.2.2 标签转移系统
  • 2.2.3 终止
  • 2.2.4 操作语义
  • 2.3 指称语义
  • 2.4 行为语义和等价关系
  • 2.5 应用:一个简单的数据库
  • 第三章 原子动作细化
  • 3.1 并发组合与原子化的语言
  • 3.2 操作语义
  • 3.3 指称语义
  • 3.4 等价理论与公理化
  • 3.5 应用:关键部分
  • 第四章 非原子动作细化的事件模型
  • 4.1 事件注释与操作语义
  • 4.2 基于事件的操作语义
  • 4.2.1 事件转移系统
  • 4.2.2 扩展的细化函数
  • 4.3 稳定事件结构
  • 4.4 基于事件的指称语义
  • 4.5 语义之间的兼容
  • 4.6 应用:一个简单的数据库
  • 第五章 非原子细化的观测等价
  • 5.1 偏序多集
  • 5.1.1 事件转移的偏序多集转移
  • 5.1.2 偏序多集转移迹
  • 5.2 因果链
  • 5.3 动作分割
  • 5.3.1 分割互模拟
  • 5.3.2 分割迹
  • 5.3.3 深层分割语义
  • 5.4 分割迹语义
  • 5.4.1 分割迹转移系统
  • 5.4.2 事件转移的分割迹转移
  • 5.4.3 分割迹语义的语言
  • 5.4.4 分割迹语义的操作语义
  • 5.5 应用:一个简单的数据库
  • 5.6 ω-完全
  • 第六章 语法替换与语义替换
  • 6.1 有限顺序系统
  • 6.2 递归顺序系统
  • 6.3 动作细化
  • 6.4 进程同步
  • 6.5 应用:一个简单的数据库
  • 第七章 基于依赖关系的动作细化
  • 7.1 线性时间的依赖关系
  • 7.1.1 语言
  • 7.2 应用:关键部分
  • 7.3 分支时间的依赖关系
  • 7.4 应用:一个简单的数据库
  • 7.5 重观察(the dual view):位置(localities)
  • 第八章 垂直执行
  • 8.1 垂直延迟互模拟
  • 8.2 垂直执行的要求
  • 8.3 进一步的展望
  • 8.4 应用:一个简单的数据库
  • 第九章 实时模型
  • 9.1 时化事件模型
  • 9.1.1 时化事件结构及行为描述
  • 9.2 等价与组合操作
  • 9.3 时间事件模型的动作细化
  • 9.3.1 一个反例
  • 9.4 正确性与等价性结论
  • 9.5 进程代数的时间约束
  • 9.5.1 语法
  • 9.5.2 指称语义
  • 9.6 时间进程代数的动作细化
  • 9.6.1 一致性的结论
  • 第十章 随机模型
  • 10.1 符号
  • 10.2 事件结构的随机约束
  • 10.3 进程代数的随机约束
  • 10.4 动作细化
  • 10.4.1 随机进程代数的动作细化
  • 10.5 正确性、一致性和重合性结论
  • 第十一章 概率模型
  • 11.1 概率事件模型
  • 11.1.1 概率事件结构以及概率运行
  • 11.2 概率事件模型的动作细化
  • 11.2.1 反例
  • 11.2.2 定义
  • 11.3 进程代数的概率约束
  • 11.3.1 概率进程代数的语法
  • 11.3.2 概率进程代数的指称语义
  • 11.4 概率进程代数的动作细化
  • 11.5 一致性的结论
  • 第十二章 传值进程代数的动作细化
  • 12.1 传值进程代数的语言
  • 12.1.1 指称语义
  • 12.2 动作细化
  • 12.2.1 语法上的细化
  • 12.2.2 数值化事件结构的细化
  • 12.3 非交织的语义
  • 附录A 幂域理论
  • 附录B 随机过程
  • B.1 样本空间和概率测算
  • B.2 随机变量与分布函数
  • B.3 随机进程
  • B.3.1 离散时间的马尔可夫链
  • B.3.2 连续时间的马尔可夫链
  • B.3.3 半马尔可夫链
  • B.4 相类分布(phase-type distributions)
  • 参考文献
  • 发表文章目录
  • 简历
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  ;  ;  

    并发系统的动作细化理论
    下载Doc文档

    猜你喜欢