語用網系統體系結構
當前的計算系統技術是遵循圖靈機模型的軟體工程,突出表現為基於軟體模組的面向對象系統分析與程式設計。而語用網支持的語用計算系統則在軟體模組之上,遵循Petri網論構造語用單元典(Pragmatic Unit Dictionary),所有計算機套用都表現為基於語用單元典的語用文章,就像我們閱讀漢語文章時需要字典詞典一樣。
如同建築領域有建築科學、工民建工程技術和建築實體,計算領域也有系統理論、體系結構與系統工程技術和技術套用(如圖)。所有的計算系統模型都包括輸入(I)、輸出(O)、加工處理程式(P)和存儲狀態數據(D)。圖靈機就是在先明確套用需求—即輸入和輸出的情況下,後研究程式與數據的算法實現問題,即Turing’s machine =(I,O;P,D);而Petri網則在已知—即先有程式和數據的條件下,後研究由輸入輸出所構造成的網路系統問題,即Petri nets =(P,D;I,O)。從模型定義可知,圖靈機與Petri網兩者精確對偶。語用網系統是用軟體的協作來仿真人類社會的實踐過程,因此被我稱為“虛擬社會(Virtual Society)”。
1939年圖靈機模型出現,1946年馮·諾依曼設計出了支持圖靈計算的機器系統,從此開創了計算機硬體與軟體產業。1962年Petri在研究自動通信(Communication with Automata)系統時認為“異步並發現象”是其基本計算特徵,從而提出了並在隨後幾十年里研究成熟了Petri網理論。整個90年代,Petri網的研究與套用主要集中在由專家Alast領銜的工作流(workflow)領域。
事實上業界領袖的IBM和微軟早已認識到了工作流(workflow)的重要性,並且他們合作推出了工作流語言(BPEL4WS,Web Services Business Process Execution Language,基於SOA的業務處理執行語言)。在微軟最新作業系統Windows vista里不僅支持了、而且還說以後所有的套用系統都將基於工作流之上。因此,Petri網論正在成為網路計算、特別是基於SOA之上的業務處理流程領域的研究熱點。
計算是人類意識的獨立存在(計算領域稱“存在”為本體ontology),是用物理機制實現了的人類意識。意識表現為自然語言的符號系統,因此計算工程表現為計算語言,而且計算語言就是自然語言的理論化。現代符號語法學認為自然符號系統包括句法、語義和語用三個面向,語義表達主觀邏輯性,語用表達客觀真理性。而人工智慧領域的語義學(Semantics)理論屬於古典語法學範疇,裡面還沒有出現語用概念。
軟體工程里的程式設計都是由有限數量的語言關鍵字、關鍵字有限排列為程式語句、語句有限排列為程式片段、片段有限排列為軟體模組,很類似於英語的26個字母、字母有限排列為單詞、單詞有限排列為語句、語句有限排列為文章。這是否暗示了西方工程數學發達、軟體工業程式設計技術比我們優越的原因呢?
根據通用Petri網論揭示的虛擬社會計算理論,我設計了語用語言。語用語言類似於漢語的“字詞句”的語法結構,即由字典(Dictionary)定義的廣義無限(實則有限)的語用“字”、“組字為詞”、“譴詞造句”,Petri叫它們為語用單元(Pragmatic Unit)。其中語用字就是從軟體模組抽象而來的—叫原子語用單元(Atom Pragmatic Unit);語用詞抽象的是聯繫軟體模組的訊息(Message,現代並發作業系統正是根據訊息、而不是別的什麼,來調度軟體模組運行的,並且某些模組還可以訪問確定的或者不確定的數據檔案);語用句抽象一個具有獨立功能的軟體模組組合,其間用訊息相互聯繫而成為一個基本Petri網系統。
所有的計算機套用都表現為一篇基於語用單元典表達的語用文章,語用文章被語用網系統按語用單元典“編譯”為BPEL執行語言,再轉化為作業系統用訊息來調度的軟體模組的並發執行。語用計算是比軟體計算更加抽象更加高級的又一層計算系統,這是否又暗示了漢語確實比英語更加抽象更加高級的內在原因了呢?
語用網仿真人類社會,在數字空間裡建立“虛擬社會”。其技術基礎是當前炙手可熱的P2P網路技術,如Jxta項目。所謂P2P網路,從計算技術上可以理解為Peer-to-Peer系統,從系統結構上可以理解為People-to-People的人類社會。計算機用訊息在算法之間的流動來仿真現實社會行為,大致有3個功能模組的抽象級別:
1、原子模組,接口描述里的幾個功能的定義位置都在一個程式DLL里,模擬的是人的一個社會職能方面。原子模組是最小功能模組。
2、本地模組,接口描述里的幾個功能定義位置分布在本地機器的若干不同程式DLL里,仿真現實世界的一個社會職能人。
3、網路模組,接口描述里的幾個功能定義位置分布在網路中的不同機器里的若干程式DLL里,仿真現實世界的一個社會機構,就是格線界著名的Ian Foster所謂的虛擬組織。此時訊息被網路設備傳遞到網際網路里的不同計算機上。
特別稱這些模組為服務、虛擬社會裡的計算服務。這些模組都表現為一個Petri網系統,小網系統又組成為更大的網系統,直至整個虛擬社會。
語用網裡,每一台計算設備里都有一個語用單元典,記錄著其可以支持的軟體模組及其協作的訊息,表明了其可以理解的語用範圍。稱有語用單元典的計算系統為語用設備。語用網裡的所有計算系統都是語用設備。
語用單元典的作用,如同漢語的字詞句典,是閱讀語用符號文章的理解工具,是虛擬社會裡最基礎最重要的因素之一。我特別設計一個稱為“盲點”的機構來管理運行語用單元典。盲點相當於漢語字詞典的編撰機構,是語用計算里的法定標準化組織。
如上所述,語用網的系統技術基礎就是Web1.0、SOA、P2P、Web2.0,以及用native-XML資料庫實現的語用單元典。它們都是已經或正在成熟的計算系統工程化技術。
語用設計就是基於語用單元典來構造語用文章,是軟體工程所不能涉及到的、比軟體工程更加高級更為抽象的再一層系統技術,叫知識工程。網頁是給人閱讀的,語用文章就是給計算機閱讀的網頁。
語用網裡,計算套用界的人們所關心的是他們設計的軟體模組和語用文章。前者是圖靈機模型的套用,關注於算法的可計算性和計算複雜度問題;後者是Petri網理論的套用,關注的是網系統的可達性和不變數分析。兩者都是計算功能的具體實現。
語用網系統內容及其影響
語用網系統構建虛擬社會,主要的工作是確定虛擬社會模型以及基礎設施建設,如人類社會就有崇尚自由民主的西方資本主義和我們中央集權的社會主義模式之分。不同的社會模型會導致不同的基礎設施,如西方就採用三權分立的基礎政權模式,而我們就不是。模型與設施是由人們根據計算套用需求和系統目標決定的,如在計算系統內部可能採用高度集中的社會模型,而在系統之間又可以採用臨時協商的民主機制。
比如計算安全,軟體安全里主要關注的是硬體系統安全和軟體系統的數據一致性,以及通信安全等。而語用安全里則主要關注的計算資源在全網範圍內的共享與協作的社會和諧與平衡問題,大體上相當於人類社會的可持續發展和物質與精神文明範疇。
計算機套用系統分析與設計,將被分離為算法分析與程式設計部分,和知識分析與語用設計部分。前者屬於軟體工程,後者屬於知識工程。計算機設計人員將被分為算法分析與包括數據結構設計在內的程式設計,和知識分析與包括構造語用單元在內的語用套用設計兩類。前者主要由當前的軟體程式設計師群落發展而來,知識分析主要由各行業的領域專家發展而來,語用設計將是一個新興的計算機工程技術類別,也叫Petri網系統仿真。具體套用設計將弱化為任何社會成員,即一切有社會需求的人員都可以通過特別的計算機套用系統來滿足自己的需要。
語用計算就是“殺死”軟體工程里“怪獸”的那顆“銀彈”(Brooks,1986),能夠充分實現軟體模組的共享,能夠讓計算機工程過程像建築工程一樣精確地規劃和預測。語用工程能夠百倍地簡化計算機工程過程,千倍地擴大其套用領域和範圍,萬倍地倍增社會財富,就像當年的工業革命對人類產生了深遠影響一樣。
語用網與其它格線項目的比較
在迅速冷卻的 “格線計算(Grid Computing)”和取而代之的“語義格線(Semantic Grid)”領域裡,人們並沒有從計算系統理論里去認識“什麼才是格線計算的系統模型”,也沒有從符號語法學裡去理解“什麼才是語義格線的語義學模型”。不首先搞清楚這兩個關鍵問題,整個領域都將是“空中樓閣”。前者相當於藍圖,後者相當於施工方法,既沒有藍圖,又不懂施工,如何造得出高樓大廈來?
我認識到這個基於計算機網路(特別是網際網路Internet)環境的、基本特徵是“異步並發現象”的、由眾多軟體系統通過數據通信而相互聯繫成的“複雜巨系統”,正是Petri網計算系統理論所揭示的虛擬社會。但是搞Petri網論的理論家們沒有認識到要實現Petri在20年前就指出來的Petri網工程—“語用設計語言”,導致當前的計算機工程界的技術實踐與Petri網理論界的系統仿真相脫節。
語用網的實現技術已然成熟,是計算系統結構自身發展的必然。計算滿足社會需求,我們需要聯合起來,方可完成語用計算系統。