“穿靴子的貓”聲稱“計算機科學重要的問題都研究完了”,實在是不了解計算機科學的現狀。沒解決的問題多如牛毛呢。
現在做分布式應用最流行的辦法是用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演算延伸出來的東西多得不得了,因為它涉及到了分布式計算的本質。