“穿靴子的猫”声称“计算机科学重要的问题都研究完了”,实在是不了解计算机科学的现状。没解决的问题多如牛毛呢。
现在做分布式应用最流行的办法是用WEB SERVICE,简单而且容易开发。有没有什么好办法,可以快速简单的把一大堆WEB SERVICE搞在一起,MICROSOFT, IBM,还有其他工业巨头两年前难得地放弃了自己的标准达成了一致,搞了一个统一的标准, 就是BPML (Business Process Management Language), 。 用BPML写的程序调用不同的部署在网上的WEB SERVICE,完成用户想要的功能。
BPML是怎么设计出来的? 秘密是PI演算(Pi-Calculus)。BPML的设计者Assaf Arkin和他的同事都是PI演算的行家里手,他们从PI演算清楚知道这个语言需要什么。
那末PI演算又是什么东西呢?
我们知道所有串行计算机程序都可以化归为LAMBDA演算。LAMBDA演算是和图灵机等价的。大多与计算机语言相关的研究都可以化为对LAMBDA演算的研究。上个世纪七十年代前,LAMBDA演算是没有语义的。DANA SCOTT发现了LAMBDA演算的语义成为了现代计算机科学的开端。DANA SCOTT发现了一个高阶函数的集合(叫论域),每个程序都可以化为一个方程,而这个方程在这个集合上有唯一的最小解,这个解就是这个程序的语义。这项工作带来了象潮水般的后续结果,影响直到今天还到处可见。只要你谈递归的语义,就会是某种形式的论域。
PI演算和论域很好的处理了串行计算机程序。可对分布式计算却很难处理。PI演算就是分布式计算的理论模型。PI演算的发明人ROBIN MILLER从没拿过PHD。他得图灵奖的时候通知他因为他的四项成就而得奖,他写信说其中一项不是他的,如果不把那一项拿走,他拒绝得奖。由PI演算延伸出来的东西多得不得了,因为它涉及到了分布式计算的本质。