1、绪言
π-演算最早是在文献[1]中提出来的,目的是用于描述在计算过程中拓扑结构不断改变的通信系统,π-演算特点在于能将通道名从一个进程传给另一个进程,使得接收通道名的进程能够动态地建立通信通道. 在π-演算基础上发展起来的Ambients演算,目的是建立广域网和因特网上的计算模型. Ambients自1998年首次提出来以后,出现了很多的变种. 本文介绍了L.Cardelli和A.D.Gordon的Mobile www.51lunwen.org/jsjaq/ Ambients(MA)[2],Levi和Sangiorgi的Safe Ambients(SA)[3、4],Massimo Merro和Matthew Hennessy的Safe Ambients with Password(SAP)[5], Michele Bugliesi、Giuseppe Castagna和Silvia Crafa的Boxed Ambients(BA)[6]. 由于MA中的 、 操作可以不受限进行,环境对自身边界没有任何管理权限,为了加强环境边界的管理,SA中增加了 操作,分别是对 操作的许可. SAP是在SA的基础上在操作中增加口令,只有掌握口令的进程才能进行 操作. 在MA中,由于两个进程必须处在相同的环境中才能进行通信,因此在跨环境通信时 操作必不可少,但当两个进程处在同一环境中后,不但可以通信,还可以进行一些其它交互,同时由于 操作的使用,可能会迫使一些进程暴露在无环境的状态中. 为了控制意料之外的交互的发生以及防止进程暴露在无环境中,Michele Bugliesi、Giuseppe Castagna和Silvia Crafa在BA中取消了 操作,取而代之的是提供了父子环境间能够跨环境通信的操作原语.
SA、SAP和BA都是对MA演算的改进,但都只是局部的改进,最终SA、SAP不能避免由于 操作原语带来的副作用,BA也控制不了 和 操作原语对环境边界的随意穿越. 同时由于BA中无 操作,环境一旦建立,将永远停留在系统中,这样将占用大量的系统资源,也不符合进程的实际情况. 为了克服SA、SAP和BA的不足,我们取其所长,舍其所短,同时增加环境回收操作原语 ,形成了本文中带口令的Boxed环境(Boxed Safe Ambients with Password,BSAP). 本文共分6个部分:第二部分介绍了MA;第三部分介绍了SA和SAP;第四部分介绍了BA;第五部分对BSAP进行了介绍,并用BSAP对电子邮件系统进行了描述;第六部分是本文的一个小结.
2、移动环境(Mobile Ambients,MA)
这一节我们简单介绍L.Cardelli和A.D.Gordon的Mobile环境,细节可参见文献[2、7]:
2.1 MA中进程定义如下:
2.2 MA的结构同余关系 定义如下:
2.3 MA中归约关系 定义如下:
2.4 定义:
3、安全环境和带口令的安全环境
这一部分介绍Levi和Sangiorgi的Safe Ambients(SA)[3、4],以及Massimo Merro和Matthew Hennessy的Safe Ambients with Password(SAP)[5].
3.1 安全环境(Safe Ambients,SA)
考虑到如下进程:
在这个进程中,环境m可能退出n,进入k或不进入k,也可能被 溶解,最后的结果取决于 动作的执行时间,但在MA中,我们无法预测最后的结果是什么. 再有就是一个环境无法预测和控制其它进程对该环境进行 、 、 操作. 为了解决这些问题,Levi和Sangiorgi在文献[3、4]中提出了对 、 、 操作增加对应的许可(co-capabilities)操作原语 ,并将改进的环境称为安全环境(Safe Ambients). 安全环境中进程定义如下:
......................
六、结论
为了解决移动环境中 操作的副作用和加强环境中环境对其自身边界的控制能力,本文提出了带口令的Boxed安全环境BSAP,用BSAP对电子邮件系统进行了描述. 建立在BSAP基础上的环境逻辑推理系统是我们下一步要做的工作.
参考文献:
[1]R. Milner, J. Parrow, and D. Walker. A calculus for mobile processes, parts I and II. Information and Computation, 100(1): 1-77, 1992
[2] L. Cardelli and A.D.Gordon. Mobile anbients. Theoretical Computer Science, Special Issue on Coordination, D.Le Mtayer Editor, pages 177-213, June 2000
[3] F.Levi and D.Sangiorgi. Controlling Interference for Ambients. In Proceedings of 28th ACM Symposium on Principles of Programming Languages, 2000
[4]F.Levi and D.Sangiorgi. Controlling Imerronterference for Mobile Safe Ambients. ACM Transactions on Programming Languages and Systems, 25(1): 1-69, 2003
[5] F.Levi and D.Sangiorgi. Controlling Interference for Ambients. Short version appeared in Proc. 27th POPL, ACM Press 2000
[6]Michele Bugliesi, Giuseppe Castagna, and Silvia Crafa. Boxed Ambients
[7]Maria Grazia Vigliotti. Reduction Semantics for Ambient Calculi, A thesis submitted for the degree of Doctor in Philosophy of the University of London and for the Diploma of Imperial College. January 2004